代码之家  ›  专栏  ›  技术社区  ›  John Millikin

我应该“退休”一个新重写项目的旧主干吗?

  •  0
  • John Millikin  · 技术社区  · 15 年前

    最近我重温了一个老项目,这是我两年前做的。显然,在这段时间里,我已经学会了如何最好地编程的新习惯,我非常渴望保持测试,放弃实现,并重新实现整个项目。这不是一个大项目,我相信重新写它不会损失太多。

    但是,我不知道如何处理版本历史。当我完成更新后,新版本很可能只与旧版本共享3-4%的代码。此外,这些变化往往影响广泛,以至于试图保持干净的变化集是一种挫折和徒劳的练习。鉴于此,似乎没有必要强迫潜在的开发人员下载旧的不相关的版本。

    我一直在考虑的一个选择是把树干移到树枝上,比如 old-trunk/ 在一个空分支中开始开发。我不知道这是不是个好主意,我担心有两个行李箱会导致混乱。这让我想到了一个问题:

    你怎么看?如果您遇到一个“重置”其主干的项目,您会被它混淆吗?

    5 回复  |  直到 15 年前
        1
  •  4
  •   JaredPar    15 年前

    为什么不用“oldversion”标记/标记主干,并在同一位置继续开发?这样,您就可以完全避免使用双分支,并且仍然可以保持使用旧版本代码的方法。除非你正在开发一个不同的产品,否则你很可能想保留相同的主干。

        2
  •  0
  •   eduncan911    15 年前

    我标记了$trunk,所以有一个“副本”。将它标记为发布的最后一个版本,或者您重新开始之前的日期,等等。我实际标记了发布的日期,并将我的标记命名为实际日期本身。(如果您的系统支持标签替换标签)。

    标记后,根据需要删除/重命名/大修。版本历史就在那里,以防万一。而且,您有一份完整的副本,贴上标签/贴上标签,用于存档。

        3
  •  0
  •   Igor Brejc    15 年前

    假设您使用的是SVN,那么实际上没有什么额外的事情要做。只需记住开始重构的版本,然后继续处理主干。它比移动到空分支要好,因为将记录从旧代码到新代码的更改历史。

    但是,如果您计划从头开始编写,只复制一些旧代码的小部分,那么您可能应该考虑在新的存储库中启动它。

        4
  •  0
  •   Frank    15 年前

    我不认为有必要抛弃旧版本。只需进行所有更改并签入即可。新开发人员不必下载任何旧代码,他们只需查看新版本即可。

        5
  •  0
  •   Keng    15 年前

    不,它不会让我困惑,因为项目文档会在我进入它之前显示出这一点。我们都有需要重做的垃圾,坦率地说,应该重做。

    告诉每个人这是不安全和不符合HIPAA的,他们会让你重新编码;o) 然后开始为我们其余的人把饲料贴到每日的wtf上80)