SCM:自项目启动以来,trunk如何获得最新代码?
问题描述:
我试图以工具不可知的方式理解SCM,并且对“TRUNK应该具有最新代码并且应该具有所有最新功能”的事情有些怀疑。SCM:自项目启动以来,trunk如何获得最新代码?
例如,让我们考虑一下JDK项目,这是否意味着当这个项目启动时它会有一个“TRUNK”,并且该中继从JDK 1到JDK 8都经历了所有的添加,删除?我很难了解项目的TRUNK如何能够跨越多年的所有变化。
我确实提到了SO中的各种问题,但是我还不清楚TRUNK自项目开始以来如何拥有最新的源代码。
任何帮助,在此先感谢。
答
考虑到相同的SVN回购在整个项目中使用自成立以来。
Trunk是SVN中的默认分支,就像Git中的“master”一样。一旦开发开始,分支机构根据需要从中继线分出。现在,在这些年中,这些分支机构相互合并,包括Trunk。
没有必要将每个功能/错误修复都开发并检入到Trunk中。可以将代码检入任何可用的分支,并将其合并到Trunk中。
我确实提到了SO中的各种问题,但我还不清楚TRUNK自项目开始以来如何拥有最新的源代码。
Trunk上的最新源代码?这取决于SCM设计。中继可以拥有所有最新的代码,它可能无法建立或不处于可部署/生产就绪状态。有些人喜欢在某个分支上拥有所有最新的代码,并保持Trunk处于稳定/生产就绪状态。
自项目成立以来?是的,因为合并与维护提交历史发生,包括Trunk在内的所有分支将拥有所有可用的代码,直到该分支上的最新提交。