我有一個svn控制下的文件夾。它可能包含一些可能與工作副本衝突的修改。我想做svn更新和解析
svn up --accept=theirs-full
但svn版本太舊,不支持'接受'選項。是否有一個簡單的解決方法,除了更新顛覆?在那裏安裝的版本是1.4
基本上,我想更新一個文件夾並恢復所有衝突的更改,同時保持其他更改不變。
我有一個svn控制下的文件夾。它可能包含一些可能與工作副本衝突的修改。我想做svn更新和解析
svn up --accept=theirs-full
但svn版本太舊,不支持'接受'選項。是否有一個簡單的解決方法,除了更新顛覆?在那裏安裝的版本是1.4
基本上,我想更新一個文件夾並恢復所有衝突的更改,同時保持其他更改不變。
您可以svn up --non-interactive
更新並保留所有衝突,然後恢復所有衝突事件。
如果您使用的是Unix,您可以使用svn st |gawk '/^C/ {print $2}'
列出所有衝突的文件,然後列出svn st |gawk '/^C/ {print $2}' |xargs svn revert
或類似的(未經測試)以實際執行還原。
如果你在Windows上,我想不出一個簡單的方法來做到這一點,沒有grep/sed/awk,抱歉。如果你確實有一個但不是xargs,那麼很容易用文件名將文件名列表轉換成命令行。視覺工作室編輯器(alt-drag修剪Cs然後在每行末尾刪除以建立一個列表)。
爲什麼不更新您的客戶?新客戶端(最新版本目前爲1.6.12)將繼續使用舊服務器正常工作。
此外,我們正在運行服務器版本1.4.5和--accept
工作對我們來說還行。
我在linux上有1.4.4。更新它會拉動很多依賴,然後無法解決其中的一些問題。考慮到服務器運行其他東西以及我對它依賴的知識知之甚少的事實,我對這次更新感到不舒服。 如果是Windows,我肯定會這樣做的。 – clorz 2010-07-12 16:58:06
我最終這樣做了。希望還有另一個svn命令,我不知道這個命令可以在一個打擊中實現。 – clorz 2010-07-12 17:00:06