------------------------------------------------------------------------------------------------------
此文章僅作爲學習交流所用
轉載或引用請務必註明原文地址:
http://blog.csdn.net/luzhenrong45/article/
或聯繫作者:[email protected]
謝謝!
------------------------------------------------------------------------------------------------------
SVN 使用
1.本地更新svn服務器地址:
網上介紹使用:
svn sw --relocate svn舊地址 svn新地址
但是我使用這個命令的時候,總是提示:svn: E155024: Invalid relocation destination: 'xxxxxxxxx' (does not point to target)
後來直接使用以下命令就成功了
svn sw svn新地址
2. svn 解決樹衝突
提示local unversioned, incoming add upon update
D C clock_data.c
> local unversioned, incoming add upon update
解決方法:
直接 svn revert clock_data.c 就行, 網上扯了一大堆,結果沒用
3. svn只checkout單個文件:
比如我要checkout的文件爲 build.sh, 所在的目錄爲 svn://www.laolu.coml/dev/Branches/Android/OS/
方式一:svn cat
缺點:相當於只是複製粘貼下來而已,並沒有由svn跟蹤,即使修改了文件,svn也識別不出來有改動
svn cat svn://www.laolu.coml/dev/Branches/Android/OS/build.sh > build.sh
方式二:svn co (推薦使用該方式)
(1)首先檢出文件所在的目錄
svn co --depth=empty svn://www.laolu.coml/dev/Branches/Android/OS/ work_dir
cd work_dir
svn up build.sh
4. 一次性svn add添加所有新文件
方式一:
svn st | grep '^\?' | tr '^\?' ' ' | sed 's/[ ]*//' | sed 's/[ ]/\\ /g' | xargs svn add
方式二:
svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add
5. svn st 只顯示修改過的文件
svn st | awk '{if ( $1 == "M") { print $2}}'
6. linux svn 默認過濾文件列表設置
1. 打開svn默認配置文件:~/.subversion/config
2. 查找 [miscellany] 字段,即可看到下面有個 global-ignores 鍵名,默認爲註釋掉了的,這表示SVN已經將它們作爲默認值了。
3. 根據實際需要,取消註釋,比如不要過濾.a, .so,就可以把 *.so *.so.[0-9]* *.a 去掉。
7. linux svn 增加可執行權限
本地文件在commit到倉庫之前若沒有chmod +x 權限的話,那在svn倉庫裏的文件將會保持當前無可執行屬性狀態。
即使在本地chmod +x filename 之後,再提交到倉庫也是沒有用的。check out到其他目錄的時候,文件仍然沒有可執行權限,需要使用svn 設置文件屬性。
比如 build.sh 文件
svn propset svn:executable on build.sh