我一直在riouxsvn.com上使用NetBeans作为项目并托管Subversion存储库,但最近服务器刚刚停止运行。由于服务器已关闭,我无法使用从URL导入功能将其导入到assembla中。所以现在我需要在assembla.com的新存储库中检查代码,但是使用菜单选项 Team > 重新定位给了我以下错误:
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 功能有什么作用?
答案 0 :(得分:4)
有没有办法告诉Netbeans我想为我的存储库使用新的URL?是的,如果旧的存储库仍然可用,请使用Netbeans Relocate功能。如果旧存储库不再可用,则无法更换存储库URL并继续使用相同的工作副本。您必须创建一个访问新存储库的新工作副本。但是,您可以通过删除所建议的Jim Garrison .svn目录的所有实例来改进当前工作副本。然后,在Netbeans中,使用Team-> Subversion-> Check into Repository并输入新的存储库URL。
如果存储库(显然)不能按照我期望的方式工作,我该如何解决这个问题呢?工作副本链接到存储库。如果要更改存储库,则需要对工作副本进行更改。或者,您可以使用Netbeans提供的Relocate功能,因为旧存储库仍然可用。此外,您可以使用上面提到的改造解决方案,而不是在Netbeans中创建新项目。
我是否在Netbeans中创建一个新项目并在新主机上再次检查所有代码?您可以在Netbeans中创建一个新项目并复制所有源代码文件进入新项目。之后,您可以将新项目检入新存储库,从而创建新的工作副本。但是,如上所述,如果您遵循改造解决方案,则创建新项目并非必要。
在这种情况下,Netbeans中的“重定位”功能有什么作用? Netbeans中的重定位功能解决了在工作副本上更改存储库的问题,但仅在旧存储库仍然存在的情况下才有效可用。它无法将工作副本重定位到存储库中,只需将一个存储库移动到另一个存储库中,从而节省了手动传输的工作量。它不适用于此方案,因为第一个存储库不再可用。如果您使用的存储库脱机,将丢失您的历史记录,将需要将代码检入新存储库,就像第一次一样。
答案 1 :(得分:3)
如果原始存储库永远消失,那么您需要做的是将当前工作副本作为新源签入新存储库。最简单的方法是
svn add
新存储库的来源正如ChristopheD指出的那样,你将失去你的历史,但那已经消失了。