Tag: Subversion
% svn add Foo.xcodeproj/xcuserdata/
% svn revert --depth infinity Foo.xcodeproj/xcuserdata/
% svn add --depth=empty Foo.xcodeproj/xcuserdata/
% svn propset svn:ignore "*" Foo.xcodeproj/xcuserdata/
% svn log -r {2011-12-01}:HEAD http://foo.server/svn/
% svnadmin dump $svnrep > $svnrep_`date "+%Y%m%d_%H%M%S"`.dump
% svn merge -r HEAD:999 . # Latest -> r999 % svn commit -m "Reverted to .r999"
% svn propedit svn:ignore . --editor-cmd vi
% svn propget svn:ignore
% svn status --no-ignore
% svn diff --summarize -r 236:297 > filelist.txt
差分ファイルの一覧をxmlで出力するには--xmlオプションを指定
/XXXX.xcodeproj/xcuserdata /XXXX.xcodeproj/project.xcworkspace/xcuserdata
<Location /svn> DAV svn SVNListParentPath on SVNParentPath "/Users/foo/data/svn" SVNIndexXSLT /svnindex.xsl Order deny,allow Deny from all allow from 127.0.0.1 AuthType Basic AuthName "Subversion repository" AuthUserFile /Users/foo/data/users Require valid-user </Location>
lines = `svn log --limit 10 --verbose http://server/svn/` mail_body = "" lines.each{|line| if /^-+$/ =~ line mail_body << line puts mail_body mail_body = "" end if /^r(\d+).*(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}).*line.?$/ =~ line mail_header = "Commit revision:" + $1 + " (" +$2 + ")" puts mail_header end mail_body << line }
Commit revision:307 (2011-08-20 16:06:15)
$ svn log http://localhost/svn/firstdb/ -r 392 > log.txt
$ svnadmin setlog --bypass-hooks /Users/foo/data/svn/firstdb/ -r 392 log.txt
$ /opt/local/bin/trac-admin traconmac repository resync '*'
このシェルスクリプトはコミット時にコメントが5文字未満ならエラーを返します。
ただし、このスクリプトは日本語未対応のため、メールの文面が文字化けします。 そこで、下記サイトからcommit-email-jp.plをダウンロードして、CentOS5用にカスタマイズします。
環境変数 APR_ICONV_PATH の設定が正しいディレクトリを指しているか確認してください。
svn.exeとTortoiseSVNでは、文字コード変換に利用するiconvライブラリが別にインストールされるため、svn.exeで日本語が扱えなくなることがあります。 対策 コマンドプロンプト実行時は、iconvライブラリのパスを強制的にsvn.exe用にする。
SVNサーバのLANG設定は正しい、かつ、今までは普通にコミットできていたのに、 急にコミットできなくなった、という場合は、次のチェックをしてみる。 - SubeclipseやTortoiseSVNなどクライアントの文字コードが変わっていないか。 - エディタの文字コード設定が変わっていないか。 - Eclipseの場合は、プロジェクトをクリーンアップ(リビルド)してみる。 - 環境変数 APR_ICONV_PATH が設定されてなければ追加。