在阅读有关修订控制的wikipedia article文章时,我发现了一些似乎含糊不清的术语,并且想知道它们在现实世界中是如何实际使用/应用的。具体做法是:
我是一个情境学习者,所以你可以给出的任何具体例子都可以帮助灯泡更好地开启。
关于最后一个,我的意思是:
至少在svn
中,拥有VC项目结构是相当标准的:
svnrepo/
someProject/
trunk/
branches/
tags/
vendor/
其中vendor/
是放置配置所依赖的外部/第三方依赖项的位置。或者,我已经看到开发人员使用Maven或Apache Ivy等工具向/从存储库(例如SFTP服务器)提取/发布工件(JAR等)。 那么,您何时将第三方依赖项放在vendor/
下的SCM中,何时将这些依赖项放在Maven / Ivy仓库中?
提前感谢您澄清任何这些项目!
答案 0 :(得分:1)
“主线”与“基线”:
第一个术语是一种特殊的分支,记录代码的演变,通常是生产中看到的代码。见this chapter。
第二个术语是关于一个标签(在一个组件的所有文件上设置,即一组连贯的文件)
“分支”与“流”:
分支没有层次结构(您有一个分支列表,并且您可以从任何分支合并到任何分支)。 Streams有一个层次结构,除其他外,它允许定义merge workflow。
“结帐”与“更新”
Checkout查询特定版本的文件并将其复制到磁盘上
更新将确保磁盘上的所有元素都是当前选择规则的最新元素。
那么你什么时候在供应商/的SCM中放置第三方依赖项?何时将这些依赖项放在你的Maven / Ivy仓库中?
您应该尝试将供应商库保留在VCS之外,只对版本pom.xml
(例如)进行版本控制,以记录第三方库所需的配置(即标签列表)。