迁移 SVN 存储库问题 + SVN 无法创建目录

迁移 SVN 存储库问题 + SVN 无法创建目录

我不得不重新格式化我的电脑。我恢复了我的备份数据,包括一个包含 SVN 存储库的目录和一个包含这些存储库签出的目录。这些签出包含尚未签入的工作。

当我尝试签入时,SVN 转储错误消息。我可以将其追溯到我已经更改了这些目录的位置的事实:

C:/Users/J%C3%A9r%C3%B4me/Documents/Java/Repositories/...
C:/Users/J%C3%A9r%C3%B4me/Documents/Java/CheckOut/...

到:

C:/Users/JVerstry/Documents/Java/Repositories/...
C:/Users/JVerstry/Documents/Java/CheckOut/...

是的,我在重新安装机器时选择了不同的用户帐户名。而且,svn 确实无法恢复。

我该如何解决这个问题?我检查了隐藏存储库中的文件内容.svn,发现它们似乎包含如下行:

file:///C:/Users/J%C3%A9r%C3%B4me/Documents/Java/Repositories/...

我在想也许我可以使用一个工具来扫描这些文件并替换J%C3%A9r%C3%B4me。Windows JVerstry7 有这样的工具吗?这是一个好主意吗?

编辑

事实证明,我的问题比上面描述的更严重。我的一些.svn目录似乎已损坏 + 一些目录似乎已锁定且无法解锁(SVN 转储错误消息...)+/db每个存储库的目录中都缺少一些目录。

答案1

我认为您应该能够通过使用 svn switch 来告诉 Subversion 您正在与“另一个” repo 对话来解决这个问题。我认为在这种情况下可能需要 --relocate。

答案2

J%C3%A9r%C3%B4me我尝试过修改为 的想法JVerstry,但没有成功。不过,我找到了解决所有问题的方法。

对于每个存储库:

  1. 检查过了将存储库的内容放入/NewCheckOut目录中。
  2. 我从现有/CheckOut目录中创建了一个补丁来捕获对现有文件所做的所有修改,但不捕获自上次签出以来添加的文件。
  3. 我将补丁应用到我的/NewCheckOut目录。我必须进行一次手动干预来解决一些不兼容问题。
  4. 当我尝试办理登机手续时/NewCheckOut,我遇到了上述问题这里。我在 中创建了缺失的目录/db。之后签到一切顺利。
  5. 为了检索添加的文件, 我出口/CheckOut我现有目录的内容/ExportCheckOut。这样可以删除损坏的/.svn
  6. 我使用Windows资源管理器复制了/ExportCheckOut中的所有内容/NewCheckOut
  7. 我确保代码编译正确。
  8. /NewCheckOut我再次办理了登机手续。

问题解决了。不过我不清楚是什么原因造成的...

相关内容