2014年6月4日 星期三

svn 常見問題

取回某版本的某支檔案
http://stackoverflow.com/questions/4218859/how-do-i-view-an-older-version-of-an-svn-file
$ svn update -r 666 file => 不能這樣寫,倒回舊的再修改後會變成要你svn update成最新的才能commit上去,變得不能revert某支檔案再修改
$ svn cat -r 666 file > file => 這樣就能revert檔案到某版本再繼續改後commit

SVN + private key 設定

SVN -> settings -> Network -> SSH client:

example:

"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -i D:\xxx.ppk


使用
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Pageant
如果要連多個伺服器時,可設定多個key,才不用在svn設定裡一直換key
但有可能會跟VPN打結

查兩個revisions之間的log
$ svn log -r 20:30 #查20~30之間的log
參考資料:http://stackoverflow.com/questions/167371/how-do-i-see-what-files-were-changed-between-2-revisions

忽略資料夾和資料夾下某些檔案
$ svn revert -R . #回覆最原始版本,等同 git reset --hard,最後的點(.)很重要
$ cd app/tmp/
$ svn propset svn:ignore "*" . --recursive  # 不追蹤tmp資料夾,必須移到tmp資料夾下操作
$ cd app/Config/
$ svn propset svn:ignore "database.php
> core.php" . # 不追蹤database.php和core.php,使用雙引號和enter送成兩行,必須在該資料夾下操作
也可以到該資料夾下用下面這指令更改要ignore的檔案
$ svn propedit svn:ignore .
最後記得svn commit
$ svn pget svn:ignore -R # 看svn下有哪些檔案被ignore



設置svn預設編輯器
在 svn propedit svn:ignore .  指令中會打開編輯器,如果要更改回vim則
在~/.bashrc(或 ~/.bash_profile )加入:
export SVN_EDITOR=vim

沒有留言:

張貼留言