2

我不小心跑了

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

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

我想在运行这个“svn propset”命令之前恢复状态。到目前为止,我没有提交更改。你建议怎么做?

我认为我可以简单地提交更改,然后使用合并恢复提交。有没有我没有想到的潜在风险?有没有更好的方法可以在不提交的情况下撤消此操作?

备注:我还有一些尚未提交的本地更改。

4

2 回答 2

0

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

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

于 2015-12-19T19:08:20.557 回答
0

您可以创建本地更改的补丁(没有属性)。然后还原所有内容,以便撤消对文件和属性的所有更改。之后再次应用补丁。

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

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

于 2017-01-20T11:26:53.270 回答