回购中的新repo或新文件夹?

时间:2012-01-12 15:51:14

标签: git svn version-control mercurial cvs

因此,当重新编​​写整个系统时,您是否更愿意为现有仓库中的重写或新文件夹创建新的仓库?

我问的原因是新的文件夹方法需要一些用于目录结构,因为你需要从一些东西开始。

/root
/root/v1/

然后添加

/root/v2

2 个答案:

答案 0 :(得分:4)

你忘了第三个选项:

  • 在不创建新文件夹的情况下就地重写软件。

您完全使用版本控制,这样您就不需要为每个版本创建文件夹。

要扩展上述内容:如果新系统与旧系统完全不同 - 完全重写,就像你说的那样 - 那么我可能会使用一个新的存储库。如果重写更加增量,那么我会保留现有的存储库。

当您开始重写或在专用分支上重写时添加标记,这样您就可以跟踪旧代码的结束位置以及新代码的开始位置。使用像Mercurial或Git这样的分布式版本控制系统,您可以在服务器上创建另一个克隆以进行重写。

分支是一个非常强大的工具。我写了一篇你可能感兴趣的tutorial for Mercurial about branches。你看到Alice和Bob在几个分支上并行工作。在您的情况下,您仍然可以在处理新代码时向旧代码添加内容。

答案 1 :(得分:1)

如果新系统的内部结构不同,但它与旧版本相同的方式与系统的其余部分连接,那么我会选择存储库的新分支(例如,Web应用程序的后端)。

如果它在内部完全不同并且以与旧版本不同的方式与系统的其余部分接口,那么我将使用不同的存储库因为它更像是一个新产品而不仅仅是改写。