恢复svn的递归svn属性集:忽略



我不小心运行了

svn propset svn:ignore "..." . -R

在一个巨大的subversion存储库的根目录中。以前,许多文件夹都有各自的svn:ignore属性。

我想在运行这个"svn-propset"命令之前恢复状态。到目前为止,我还没有做出改变。你建议怎么做?

我想我可以简单地提交更改,然后使用merge恢复提交。是否存在我没有想到的可能风险?有没有更好的方法可以在不承诺的情况下撤销这一点?

备注:我也有一些尚未承诺的本地更改。

如果您只有文件内容更改,我会将除.svn文件夹外的整个目录结构复制到安全的位置,还原所有内容,然后将文件内容复制回。

如果您的工作副本中有重命名,这将导致问题。

您可以创建本地更改的补丁(不带属性)。然后恢复所有内容,以便撤消对文件和属性的所有更改。然后再次涂抹贴片。

svn diff --show-copies-as-adds --ignore-properties > filechanges.patch
svn revert -R *
svn patch filechanges.patch

我想这在大多数情况下都应该有效。无论如何,我建议在做这件事之前创建一个备份(只需复制整个项目),以确保你不会丢失任何工作。

最新更新