2

我一直在将 NetBeans 用于一个项目并在 riouxsvn.com 上托管一个 Subversion 存储库,但最近服务器刚刚宕机,此后一直如此。由于服务器已关闭,我无法使用其从 URL 导入功能将其导入汇编。所以现在我需要在 assembla.com 的新存储库中检查代码,但是使用菜单选项Team > Relocate会出现以下错误:

org.tigris.subversion.javahl.ClientException: svn: ' https://subversion.assembla.com/svn/opmtoolset '的存储库有 uuid '36c7bd81-9045-4dfa-9d2c-2ba0fa0ee7f3',但 WC 有 '7f9aa1f8 -8c2b-44dd-b220-ac62e04eeab0'

您可能正试图重新定位到错误的存储库。您的工作副本是从另一个副本创建的。再次检查 URL。

您还可以签出目标存储库并创建一个新的工作副本。

我了解基本信息,但我不确定如何解决它。我知道我现在有两个存储库(新的存储库显然是空的)并且 UUID 不同,但我希望告诉 NetBeans 我要重新定位将是可行的方法。

所以我的问题是:有没有办法告诉 NetBeans 我想为我的存储库使用一个新的 URL?

次要问题:如果存储库(显然)没有按照我期望的方式工作,我该如何解决这个问题?我是否在 NetBeans 中创建一个新项目并在新主机上再次签入所有代码?在这种情况下,NetBeans 中的Relocate函数有什么作用?

4

2 回答 2

5

有没有办法告诉 Netbeans 我想为我的存储库使用一个新的 url?是的,如果旧存储库仍然可用,请使用 Netbeans Relocate 功能。如果旧存储库不再可用,则无法换出存储库 URL 并继续使用相同的工作副本。您必须创建一个访问新存储库的新工作副本。但是,您可以按照Jim Garrison的建议,通过删除 .svn 目录的所有实例来改造当前的工作副本。然后,在 Netbeans 中,使用 Team->Subversion->Check into Repository 并输入新的存储库 url。

如果存储库(显然)也没有按照我期望的方式工作,我该如何解决这个问题?工作副本链接到存储库。如果要更改存储库,则需要对工作副本进行更改。或者,您可以使用 Netbeans 提供的 Relocate 功能,因为旧存储库仍然可用。此外,您可以使用上面提到的改造解决方案,而不是在 Netbeans 中创建新项目。

我是否在 Netbeans 中创建一个新项目并在新主机上再次签入所有代码?可以在 Netbeans 中创建一个新项目并将所有源文件复制到新项目中。之后,您可以将新项目签入新存储库,从而创建一个新的工作副本。但是,正如上面已经解释的那样,如果您遵循改造解决方案,则无需创建新项目。

在这种情况下,Netbeans 中的“重定位”功能是做什么的?Netbeans 中的重定位功能解决了在工作副本上更改存储库的问题,但仅在旧存储库仍然可用时才有效。它不能将工作副本重新定位到存储库中,而只需将一个存储库移动到另一个存储库,从而节省您手动传输的工作量。它不适用于这种情况,因为第一个存储库不再可用。如果您正在使用的存储库脱机,您丢失历史记录,并且您需要像第一次一样将代码签入新的存储库

于 2012-06-15T19:23:08.040 回答
4

如果您的原始存储库永远消失了,那么您需要做的是将当前工作副本签入新存储库作为新源。最简单的方法是

  1. 对当前源进行完整备份
  2. 删除工作副本中任何位置的所有 .svn 目录
  3. 在新存储库中创建顶级目录并签出
  4. 移动旧树(到新的顶级目录)
  5. svn add新存储库的源
  6. 报到

正如 ChristopheD 指出的那样,你会失去你的历史,但这已经过去了。

于 2012-06-03T22:52:47.153 回答