SCM:自项目启动以来,trunk如何拥有最新的代码?

时间:2017-10-19 18:32:19

标签: svn version-control

我试图以工具无关的方式理解SCM,并且我对“TRUNK应该拥有最新代码并且应该具有所有最新功能”的事情有所怀疑。

例如,让我们考虑JDK项目,这是否意味着当这个项目启动时它会有一个“TRUNK”,并且从JDK 1到JDK 8时,该trunk已经经历了所有的添加,删除?我很困难一个项目的TRUNK如何能够跨越多年的所有变化。

我确实在SO中提到了各种问题,但我还不清楚TRUNK自项目启动以来如何拥有最新的源代码。

任何帮助,提前谢谢。

1 个答案:

答案 0 :(得分:0)

考虑到从一开始就在整个项目中使用相同的SVN回购。

Trunk是SVN中的默认分支,就像Git中的“master”一样。开发一旦开始,分支就会根据需要从Trunk中分出来。现在,经过多年的努力,这些分支机构相互融合,包括Trunk。

没有必要开发每个功能/错误修复并将其检入Trunk。可能是这样的情况,代码被检入任何可用的分支,并且相同的内容被合并到Trunk。

  

我确实在SO中提到了各种问题,但我还不清楚TRUNK自项目启动以来如何拥有最新的源代码。

Trunk上的最新源代码?这取决于SCM设计。 Trunk可以拥有所有最新代码,它可能无法构建或不处于可部署/生产就绪状态。有些人喜欢在某个分支上拥有所有最新代码,并使Trunk保持稳定/生产就绪状态。

自项目启动以来?是的,由于合并是在维护提交历史的情况下进行的,因此包括Trunk在内的所有分支都将拥有所有可用代码,直到该分支上的最新提交为止。