[[PageOutline]] [[TitleIndex(TipAndDoc/scm/svn,format=group)]] = Subversion = * [http://www.takebay.net/~nao/?Server%2Fsubversion Server/subversion - www.takebay.net/~nao] * [http://www.asahi-net.or.jp/~iu9m-tcym/svndoc/ Subversion のコンパイル (for Windows)] * [http://ariejan.net/2007/07/03/how-to-create-and-apply-a-patch-with-subversion/ How to create and apply a patch with Subversion] {{{ patch -p0 -i ~/fix_ugly_bug.diff }}} > This will apply all the changes in the patch to your source. The -p0 option makes sure that all files can be found correctly (this has to do with something called ‘zero directories’, I won’t get into that right now). The -i option tells ‘patch’ what to use as input, in this case the ‘fix_ugly_bug.diff’ file in your home directory. * [http://svnbook.red-bean.com/en/1.5/svn.serverconfig.pathbasedauthz.html Path-Based Authorization] * [http://techblog.yahoo.co.jp/cat207/how_to/subversion-for-designers-01/ もうファイル管理で困らない! デザイナーのためのSubversion/TortoiseSVN入門 (Yahoo! JAPAN Tech Blog)] == Apache options == * [http://svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html#svn.serverconfig.httpd.authz.blanket Authorization Options > Blanket access control] * The parameters present on the Limit and LimitExcept directives are HTTP request types that are affected by that block. For example, if you wanted to disallow all access to your repository except the currently supported read-only operations, you would use the LimitExcept directive, passing the GET, PROPFIND, OPTIONS, and REPORT request type parameters. Then the previously mentioned Require valid-user directive would be placed inside the block instead of just inside the block. {{{ DAV svn SVNParentPath /var/svn # how to authenticate a user AuthType Basic AuthName "Subversion repository" AuthUserFile /path/to/users/file # For any operations other than these, require an authenticated user. Require valid-user }}} * 単純にRead-onlyにしたければ以下のようにすればよい see also #11 {{{ RedirectMatch ^/svn$ /svn/ # Requests for a collection must have a trailing slash on the URI. DAV svn SVNParentPath /path/to/svn SVNListParentPath on Order Allow,Deny Allow from all # read-only svn access Order Allow,Deny Deny from all }}} == svn:externals == * [http://blog.dealforest.net/2008/11/svn-propset-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%BF%E3%81%9Fsvnexternal-svnignore-svnexecutable/ svn propset について調べてみた(svn:external, svn:ignore, svn:executable) | Supernova] * ex) svn ps svn:externals 'libhoge !https://example.jp/path/to/svn/outerrepos/trunk/libhoge' /path/to/workingcopy/trunk/fuga/ * svn up /path/to/workingcopy/trunk/fuga/ {{{ Fetching external item into '/path/to/workingcopy/trunk/fuga/libhoge' A /path/to/workingcopy/trunk/fuga/libhoge/piyo.php Updated external to revision 275. }}} * /path/to/workingcopy/trunk/fuga/libhoge/に幾つかファイルを追加後 * svn st /path/to/workingcopy/trunk/fuga/ {{{ M /path/to/workingcopy/trunk/fuga X /path/to/workingcopy/trunk/fuga/libhoge ? /path/to/workingcopy/trunk/fuga/libfuga.txt ? /path/to/workingcopy/trunk/fuga/readme.txt ? /path/to/workingcopy/trunk/fuga/fuga.php ? /path/to/workingcopy/trunk/fuga/favicon.ico Performing status on external item at '/path/to/workingcopy/trunk/fuga/libhoge' ? /path/to/workingcopy/trunk/fuga/libhoge/hoge ? /path/to/workingcopy/trunk/fuga/libhoge/hoge.php ? /path/to/workingcopy/trunk/fuga/libhoge/docs }}}