使用TortoiseSVN更改文件夹上的仓库

64

我在TortoiseSVN中意外地创建了一个没有默认文件夹的存储库,然后进行了本地检查。后来意识到,嘿,我忘记使用默认设置创建该存储库,因此使用VisualSVN Server删除了该存储库,然后重新创建了相同名称的存储库,现在该库具有默认文件夹 trunk 等。

问题是,我的本地文件夹已经被检出。如何更改它/重定向到新的存储库URL?

5个回答

107
您可以右键单击文件夹,在Tortoise菜单中选择“重新定位”。

1
当然,他可以将其重定位到主干文件夹。 - RedWolves
1
我尝试将位置重定向到新的URL,但提示存在冲突的UID。 - PositiveGuy
1
最新版本的Tortoise SVN似乎不再有这个选项了 - 有其他建议吗? - Hippyjim
如果选项在上下文菜单中没有出现,您需要检查设置/常规/上下文菜单。默认情况下,菜单选项似乎不可用。 - IAbstract
2
@Hippyjim 还要确保您右键单击工作副本根目录。上下文菜单仅显示为您的工作副本根目录。 - Unplug
显示剩余3条评论

18

您可以右键单击您的工作副本,然后选择TortoiseSVN/Switch... 然后将"To path:"更改为存储库中的新文件夹。 对我起作用。


5
您无法轻松地完成此操作,因为两个存储库没有相同的唯一标识符(UID)。有两种方法可以完成此操作:
  1. 在新存储库上强制使用特定的UID(不确定您的SVN服务器是否提供该选项)

  2. 不要删除存储库,只需在您的工作副本中创建文件夹,并将文件移动到主干中,然后全部检入。


2
第一种解决方法:如果您可以访问服务器,我建议在_repo/db/中添加一个没有扩展名的UUID命名的文件,该文件可以替换为所需的UUID。不过,在更改之前最好备份一下。 - apacay

2
假设您在检出版本中没有任何需要的文件,只需删除该目录并重新检出即可。

0
(假设您在本地工作副本中有文件):既然您创建了一个新存储库,我猜您需要将工作副本导入存储库。
使用TortoiseSVN,您可以将工作副本导出到另一个文件夹中(这样您只有源文件,没有.svn文件夹)。 然后,您可以将该文件夹导入到新存储库的/trunk目录中。

也许我应该只删除每个 .svn 文件夹,然后从头开始再试一次。 - PositiveGuy
意思是,我所说的受影响文件夹的每个子文件夹中都有一个svn文件夹。如果我删除其中所有的子svn文件夹,我认为这本质上就像手动清除该文件夹及其子文件夹的源代码控制一样? - PositiveGuy
1
我最终只是删除了主目录中的 .svn 文件夹(我最初点击并选择了 check-out 的那个目录),这样我就可以清除并重新开始了。 - PositiveGuy
我最终也是像你一样,通过删除 .svn 文件夹并重新检出来解决了问题。 - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接