是否有一种方法可以恢复文件的svn属性更改而不恢复对文件的更改';什么内容?

是否有一种方法可以恢复文件的svn属性更改而不恢复对文件的更改';什么内容?,svn,Svn,合并后,我可能会对文件进行内容更改和属性更改: >svn st foo.h MMfoo.h 是否有办法保留内容更改,但恢复属性更改 我可以将文件复制到临时位置,还原,然后复制回: >cp foo.h/tmp >高级副总裁 >mv-f/tmp/foo.h foo.h >svn st foo.h Mfoo.h 但是,如果没有编写单独的脚本,那么对于许多文件来说,这将非常麻烦 我希望可能有一个我错过的svn选项。对不起,我不知道如何恢复属性……但如果我遇到这种情况,我想我会运行: $ svn prop

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

>svn st foo.h

MMfoo.h

是否有办法保留内容更改,但恢复属性更改

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

>cp foo.h/tmp

>高级副总裁

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

>svn st foo.h

Mfoo.h

但是,如果没有编写单独的脚本,那么对于许多文件来说,这将非常麻烦


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

对不起,我不知道如何恢复属性……但如果我遇到这种情况,我想我会运行:

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

如果您必须还原一堆文件的属性,那么这可能甚至可以编写脚本。

我今天早上遇到了这种情况。下面是一个bash脚本,它实现了这个技巧

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

好主意,但此脚本无法处理包含空格(或其他IFS字符)的文件。