在SVN中,如何维护会被2个或更多项目更改的公共代码库?
这个问题在某种意义上是与之相关的,但在这种情况下情况略有不同 我现在正在为一个项目编写一个应用程序,比如A。它还没有完成,现在一个新的项目B将开始,基本上是一个带有附加组件的a的复制品。由于这两个项目都未完成,我很可能会在A中进行修复,我需要将其提交给B;也许我也想把B中的增强功能移植到A中在SVN中,如何维护会被2个或更多项目更改的公共代码库?,svn,version-control,Svn,Version Control,这个问题在某种意义上是与之相关的,但在这种情况下情况略有不同 我现在正在为一个项目编写一个应用程序,比如A。它还没有完成,现在一个新的项目B将开始,基本上是一个带有附加组件的a的复制品。由于这两个项目都未完成,我很可能会在A中进行修复,我需要将其提交给B;也许我也想把B中的增强功能移植到A中 我应该如何在我的情况下使用SVN 理想情况下,您应该尽量不要有两份非常相似的项目在进行中。这是制造各种麻烦的方法;如您所述,试图保持它们的同步需要不断地来回合并,这既困难又容易出错 更好的做法是,以这样的方
我应该如何在我的情况下使用SVN 理想情况下,您应该尽量不要有两份非常相似的项目在进行中。这是制造各种麻烦的方法;如您所述,试图保持它们的同步需要不断地来回合并,这既困难又容易出错
更好的做法是,以这样的方式构建项目,以便共享的部分能够真正共享。也许把它变成一个图书馆。或者,让它们都成为一个大项目,有两个不同的构建——一个构建A,一个构建B。如果它们真的那么相似,我会在项目A的回购协议中为项目B创建一个分支,然后根据需要合并
否则,将通用代码提取到它自己的新repo中,并在每个项目中使用
svn:externals
引用它。听起来你希望在repo中有一个新分支,在那里你要么开发新东西,要么维护旧东西。(您必须选择是否使用Statnard主干/分支/标记布局)。这可能是最简单的方法
如果要分离代码,可选择以下选项:
- 将所有项目放在同一回购协议中,每个项目都有顶级目录(A、B、共享),或
- 创建两个回购协议A和B,使用
到第三个具有通用代码的回购协议,其中您有A和B的分支(如有必要),以便可以轻松地在两者之间合并svn:externals