1

我最终遇到了一些 Tortoise 和/或 Subversion 故障,并且不知何故最终得到了同一个项目的多个版本:

...\Projects\
    MyProject
    MyProject(1)
    MyProject(2)

MyProject(2) 是“真正”的那个,因此是我想要保留的那个。

我将 MyProject 和 MyProject(1) 剪切并粘贴到“暂存罐”中以供最终删除,因此我现在拥有:

...\Projects\
    MyProject(2)

现在我想将名称 MyProject(2) 更改为 MyProject,但我害怕 - Tortoise/Subversion 对一切都非常挑剔(IOW,它按预期工作),我担心如果我更改名称,一切将得到所有冲洗。

我是不是过于偏执了?我应该继续重命名它,还是 Tortoise/SVN 有一些“重构”能力,可以使它成为一个安全的操作,或者......?

4

1 回答 1

1

您并不是真正的偏执狂,一旦您提交,您将永远拥有该提交,花时间确保您的提交是正确的是值得的。否则,您仍然需要花费相同的时间来执行“修复”提交。

您可能通过 gui 多次“保存”了一组项目,并且“窗口管理器”具有不通过添加(1)等方式覆盖文件的选项。如果是这样,很有可能只有一个分支实际上处于修订控制之下。做一个

svn status

在几个目录中,以确定这些子目录是否仅被复制到您的系统上,是否已复制并添加到您的系统中,或者是否已复制、添加并提交到存储库。

如果它们只是原地复制,找出哪个“副本”最好,然后将该副本的内容移动到“正确”位置,并删除其他的。然后svn add无论什么是必要的并提交。

如果它们已被复制和添加,请发现哪个“副本”是最好的,svn revert所有您不打算提交的内容,将“最佳”副本的内容移动到正确的位置,并删除不需要的文件。然后svn add无论什么是必要的并提交。

如果它们已被复制、添加和提交,那么svn delete“挡道”的东西svn commit,,svn move正确的东西到它的正确位置,,svn commit其他svn delete不需要的文件,和svn commit.

关于如何解决这个问题还有许多其他变体(有些比我演示的要好得多),但希望上述示例能让您沿着正确的路径思考。我的示例涉及更多步骤,以保持简单。

于 2012-04-17T16:21:37.980 回答