我有一个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