有没有一种方法可以恢复文件的svn属性更改,而不恢复文件内容的更改?

12

合并后,我可能同时在文件中有内容变更和属性变更:

>svn st foo.h

MM      foo.h

有没有一种方法可以保留内容变更,但还原属性变更?

我可以将文件复制到临时位置,然后还原,再复制回去:

>cp foo.h /tmp

>svn revert foo.h

>mv -f /tmp/foo.h foo.h

>svn st foo.h

M       foo.h

但如果有很多文件的话,这就很麻烦了,而且需要编写单独的脚本。

我希望可能有我错过的svn选项。

2个回答

5

抱歉,我不知道仅恢复属性的方法... 但是如果我面临这种情况,我会运行:

$ svn proplist -v -r $REV foo.h
... # output, which I would copy to the clipboard
$ svn propedit foo.h
... paste in properties ...

如果你需要还原一堆文件的属性,这甚至可能是可以脚本化的。


3
今天早上我遇到了这种情况。这里有一个bash脚本可以解决问题…
for f in $( svn st . | grep '^MM' | cut -c 3- )
do 
   cp $f $f.$$ && svn revert $f && mv $f.$$ $f 
done

2
好主意,但是这个脚本不能处理有空格(或其它IFS字符)的文件。 - Kevin Smyth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接