2012-01-12 73 views
1

因此,当涉及到重新编写整个系统时,您是否更愿意为重新编写一个新的回购库,或只是在现有的回购库中新建一个文件夹?新回购或新回购的文件夹?

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

/root 
/root/v1/ 

然后加入

/root/v2 

回答

4

你忘了第三个选项:

  • 重写就地软件,而无需创建一个新的文件夹。

准确地使用版本控制,以便您不需要为每个版本创建文件夹。

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

添加一个标签,当你开始重新写或做重新写上一个专用分支,这样你可以跟踪在旧代码结束,新的代码从哪里开始的。借助Mercurial或Git等分布式版本控制系统,您可以在服务器上创建另一个克隆以进行重写。

分支是一个非常强大的工具。我写了一个tutorial for Mercurial about branches,你可能会觉得有趣。你看到Alice和Bob在几个分支上并行工作。在你的情况下,你仍然可以在处理新代码时将东西添加到旧代码中。

+0

看起来很容易失去一个开始,另一个开始如果你有大量的提交。 – hcker2000 2012-01-12 16:02:33

+1

我已经添加了一些关于跟踪旧代码和新代码的信息。 – 2012-01-12 16:06:34

+0

创建一个版本注释,您可以在其中定义“这是真正的休息” - 点。 – Independent 2012-01-12 16:08:11

1

如果新系统的内部结构不同,但它与系统的其他部分以旧版本相同的方式连接(例如,后端),我将与版本库的新分支一个Web应用程序)。

如果是在内部完全不同的,与系统的比老版不同的方式,其余的接口,那么我会用不同的版本库去,因为它不仅仅是一个重写的新产品。

+0

也是一个很好的方法来看看它。 – hcker2000 2012-01-12 16:47:13

相关问题