如果你不介意進入命令行,你可以運行svn status
並找到你刪除的文件。這些將以驚歎號開始。以下是我剛剛使用的一個存儲庫示例:
$ svn status
! subversion/pre-commit-kitchen-sink-hook.html
! subversion/svn-watch.html
! bludgen/bludgen.html
! duplicate-properties-files/fixup.html
! cvstools/group.html
! cvstools/find-branch-usage.html
A cvstools/someprogram.py
M cvstools/find-branch-usage.pl
! cvstools/scramble.html
M cvstools/findNames.pl
現在,您只需找到程序的名稱即可。如果你在你的程序的名稱沒有空格,一個簡單的[AWK]腳本應該足夠了:
$ svn status | awk '/^!/ {print $2}'
subversion/pre-commit-kitchen-sink-hook.html
subversion/svn-watch.html
bludgen/bludgen.html
duplicate-properties-files/fixup.html
cvstools/group.html
cvstools/find-branch-usage.html
cvstools/scramble.html
現在,你有程序的列表,你可以運行通過xargs
成svn rm
命令:
$ svn status | awk '/^!/ {print $2}' | xargs svn rm
D subversion/pre-commit-kitchen-sink-hook.html
D subversion/svn-watch.html
D bludgen/bludgen.html
D duplicate-properties-files/fixup.html
D cvstools/group.html
D cvstools/find-branch-usage.html
D cvstools/scramble.html
幸運的是,Macs帶有Subversion命令行客戶端。這將刪除您通過Subversion手動刪除的文件,並允許您提交更改。然後,您將能夠使用最新的代碼更新您的存儲庫副本。可能會有一些衝突(你刪除了一個更新版本中某個人的文件),但是這些文件應該是非常易於管理的。
您可以使用svn diff
查找當前工作副本與存儲庫的HEAD修訂版之間的差異。不幸的是,--summarize
參數僅適用於您存儲庫存儲庫差異的存儲庫。但是,您可以過濾掉所有使用grep
不同的文件,查找以Index:
開始行:
$ svn diff -rHEAD | grep "^Index:"
Index: windows-tools/which.pl
Index: subversion/pre-commit
Index: subversion/README
Index: subversion/control.ini
Index: subversion/pre-commit-kitchen-sink-hook.html
Index: subversion/svn-watch.html
Index: cvstools/findNames.pl
Index: cvstools/group.html
Index: cvstools/find-branch-usage.html
Index: cvstools/someprogram.py
Index: cvstools/find-branch-usage.pl
Index: cvstools/scramble.html
Index: bludgen/bludgen.html
Index: duplicate-properties-files/fixup.html
唯一真正的問題是,Xcode使用Subversion客戶端是否與Subversion命令行客戶端兼容。例如,VisualStudio Subversion客戶端使用_svn
作爲Subversion信息目錄的名稱,而命令行客戶端使用.svn
。
我相信XCode Subversion客戶端與Subversion命令行客戶端的修訂版本1.6.x兼容(甚至更早的版本可以回到1.4版本),但是與最新的1.7版本Subversion不兼容。
如果您還沒有與Mac的Subversion安裝篡改,它應該是罰款。
棒極了。感謝這樣一個很棒的svn命令使用指南。這絕對是解決我的問題的方法。希望將來在xcode中會有更方便的svn功能集成:) GL。 – Centurion