当我合并存储库中的内容时,Subversion想要添加/更改许多svn:mergeinfo
属性到与我想要合并的内容完全无关的文件。
关于这种行为的问题之前已经在Stack Overflow上被问过了:
根据我从上面提到的主题所理解的,我的存储库中似乎有很多文件都有明确的svn:mergeinfo
属性,而实际上他们不应该这样做。
所以现在我的问题是:如何轻松地删除那些不需要的属性?我正在使用TortoiseSVN,但我不愿意手动检查/修复成百上千的文件。有没有更简单的方法来删除那些不必要的svn:mergeinfo
属性?
附注:我是而不是寻找C++ SVN API代码。
发布于 2010-04-16 05:05:44
这是另一种删除所有子树svn的方法:mergeinfo属性,但不在根文件夹(这是分支正常工作所必需的)。
从项目的根目录执行以下操作:
svn propdel svn:mergeinfo -R
svn revert .
svn ci -m "Removed mergeinfo"
发布于 2010-03-09 04:03:40
下面是删除所有子树svn:mergeinfo属性的方法。在存储库的根目录中运行它:
svn propget svn:mergeinfo --depth=infinity
| grep -v "^/"
| grep -v "^\."
| cut -d- -f1
| xargs svn propdel svn:mergeinfo
所有内容都在一行中,便于复制/粘贴:
svn propget svn:mergeinfo --depth=infinity | grep -v "^/" | grep -v "^\." | cut -d- -f1 | xargs svn propdel svn:mergeinfo
要在运行之前预览将影响的文件,请将最后一个"propdel“更改为"propget”,或者完全删除最后一个xargs管道。
发布于 2009-04-20 09:03:26
正如在this thread中提到的
中反向移植
https://stackoverflow.com/questions/767418
复制相似问题