有没有办法恢复文件的svn属性更改而不还原对文件内容的更改?

时间:2011-05-19 19:01:41

标签: svn

合并后,我可能同时对文件进行内容更改和属性更改:

  

> 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

     

中号foo.h中

但是对于许多文件来说这很麻烦,而不需要编写单独的脚本。

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

2 个答案:

答案 0 :(得分:5)

抱歉,我不知道有什么方法可以恢复属性......但如果我遇到这种情况,我想我会跑:

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

如果你不得不恢复一堆文件的属性,那么甚至可以编写脚本。

答案 1 :(得分:3)

今天早上自己进入这种情况。这是一个bash脚本,可以解决这个问题......

for f in $( svn st . | grep '^MM' | cut -c 3- )
do 
   cp $f $f.$$ && svn revert $f && mv $f.$$ $f 
done