バージョン管理システム

コミット文に日本語を使えるようにする

~/.subversion/config でlog-encoding = latin1 となっているところのコメントを外し log-encoding = utf-8 に変更する。

その他の設定はSubversion – Linux Wikiで。

マージ

svn cat

元に戻す

ログを見る

$ svn log hoge.cpp

作業ディレクトリでの(まだコミットしていない)変更を取り消す(単独ファイル)

$ svn revert hoge.cpp

作業ディレクトリでの(まだコミットしていない)変更を取り消す(カレントディレクトリ以下全て)

$ svn revert -R .

一時的に昔のリビジョンに戻す(カレントディレクトリ以下全て)

$ svn up -r 123 #リビジョン123に戻す
  
$ svn up #最新に戻す

昔のリビジョンを最新版としてコミットしなおす(単独ファイル)

$ svn cat -r 123 hoge.cpp > hoge.cpp
  
$ svn ci -m’Message’ hoge.cpp

昔のリビジョンを最新版としてコミットしなおす(カレントディレクトリ以下全て)

$ svn merge -r HEAD:123 .
  
$ svn ci -m’Message’

参照

削除

作業ディレクトリのファイルは削除せずに、リポジトリからファイルを削除する

$ svn delete hoge.log –keep-local
  
$ svn commit hoge.log # hoge.log は作業ディレクトリに残ったまま

参照

ファイル・ディレクトリを管理対象外にする

svn propeditを使う

./dirにあるファイルを無視する。

$ svn propedit svn:ignore ‘*’ ‘./dir/’ # すべてのファイルを無視
  
$ svn propedit svn:ignore ‘*.php’ ‘./dir/’ # 拡張子がphpのファイルを無視
  
$ svn propedit svn:ignore ‘hoge’ ‘./dir/’ # hogeというファイルを無視

./dir以下にあるファイルを再帰的に無視する

$ svn propedit svn:ignore -R ‘*’ ‘./dir/’

カレントディレクトリで無視するファイルをエディタを起動して指定する

$ svn propedit svn:ignore .

起動されるエディタは環境変数SVN_EDITORに設定されたエディタ。

環境変数に設定せずに

$ svn propedit svn:ignore . –editor-cmd vi

のように指定しても良い。

あらかじめ.svnignore(ファイル名はなんでもよい)に無視したいファイル名のパターンを書いておき

svn propset svn:ignore -F .svnignore <DirPath>

で指定しても良い。

svn st で無視したファイルも表示させたい場合は

$ svn st &#8211;no-ignore

設定を見たい場合は

$ svn proplist [DirPath] -v

カレントディレクトリの設定を消去するには

$ svn propdel svn:ignore ./

参照