Open2
業務で苦しんだSubversionの記録
今の職場がまだSubversionを使っており、中々苦労しているので下記にまとめていく。
※つい先日まで元気に動いてくれていたgit-svnくんはSVN::Coreが動かなくなり無事死亡しました()
.gitignoreのように非管理化のファイルを記述したい。
非管理であることをコミットしないなら下記(Mac)
~/.subversion/config
# 下記をアンコメント
global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__
例えばjetbrains系のエディタを使っていると.ideaファイルなどが混入することがあるので上記にそのまま*.idea
を追加してしまいましょう。
git diffと同じことをしたい
$ svn diff
色合いをgit diffと同様にしたいならまずHomebrewを使ってcolordiffを入れて
$ brew install colordiff
configに下記を追加。
diff-cmd = colordiff
git statusと同じことをしたい
$ svn status
git checkout HEAD PATHと同じことをしたい
$ svn revert PATH
git fetch + git merge / git pullと同じことをしたい
$ svn update
git logと同じことをしたい
$ svn log
logが長すぎぃ!となった場合は下記のように.txtファイルに書き込むなどすると良い。
$ svn log > ~/Desktop/log.txt
上記が打つの面倒なので私は.bashrcに下記のようなaliasを設定しています。
alias sl="svn log > ~/Desktop/log.txt; view ~/Desktop/log.txt"
またlogのRevisionがわかったらより詳しくみたいというときは
$ svn log -r Revision番号 -v --diff
※-vで変更のあったファイルを、--diffで変更差分を表示
git commit / git pushと同じことをしたい
ターミナルから行う場合は先に環境変数$SVN_EDITORを設定
-- .bashrcなどに設定すると良い
export SVN_EDITOR=vim
また、先にsvn updateをしておいたほうが良い。
svn update .
svn commit ファイルパス
git cloneと同じことをしたい
svn checkout svn+ssh:://パス ~/パス/ディレクトリ
git checkout <コミット>したい(一時的に過去に戻りたい)
svn up -r リビジョン番号
svn info
上記で現在のリビジョンを確認することも出来ます。
最新のバージョンに戻るには
svn up