当您开始重写程序时,您在源代码管理存储库中做了什么?

时间:2009-12-08 23:53:08

标签: svn version-control

我前一段时间写了一个应用程序并且已经维护了一段时间了,但它已经到了需要添加几个主要新功能,需要进行大量更改的地步,我知道了不少我可以做得更好的事情,所以我开始重写整个程序(使用原始的点点滴滴)。

我的问题是,此时你对SVN做了什么?我应该将新版本放在其他地方,还是应该删除我不再需要的文件,添加新文件,并将其视为SVN中的正常开发?

过去你是如何处理的?

4 个答案:

答案 0 :(得分:5)

我会创建一个分支。如果您需要返回并在主干中进行一些更改,您可以将更改从主干合并到分支,使分支与当前版本保持同步

答案 1 :(得分:2)

如果你可以逐步重构,那就去做吧;它是最快的,并允许你一直有工作版本。否则......旧版本会继续开发/支持吗?如果是这样,请分支它。如果没有,请标记它并继续提交到头部。或者,如果您的新项目实际上是一个全新的项目(例如,相同的应用程序,但完全不同的技术和大多数旧文件已删除),请将新项目提交到存储库。

答案 2 :(得分:1)

1)如果旧版本与名称之外几乎没有任何共同点(代码方式),那么我将在subversion中创建一个新项目。例如如果老产品被称为程序,那么你可以称之为program2或类似的东西。

如果项目结构也非常不同,我可能会这样做。

2)如果它是相似的,那么将trunk分支到某个地方,并将其命名为版本1或其他任何东西(由于某种原因,您可能需要稍后更改该分支)。删除未使用的文件,并根据需要创建新文件。

您的选择。这里没有正确或错误的答案。

答案 3 :(得分:1)

假设你的应用程序是活的,我会慢慢地重构它并提交所有更改。

如果你的某些变化很大(你可能“感觉到”了这个限制,“这个变化会不会对系统的其他部分造成损害,还是一个小修复?”),你应该开始一个分支,当完成后,将其与工作系统合并。分支很多都没有坏处。

由于您现在有一份工作副本,请将其标记并保留。拥有备份计划总是好的。我不会抛弃它,因为......好吧,重构旧代码几乎总是比重写更好,因为所有的业务规则都嵌入(并且可能被遗忘)深处的某个地方......