混合使用仓库和SVN

3

我正在使用PHP框架symphony (1.4)开发一个Web应用程序。使用SVN对代码进行版本控制。

在这个Web应用程序中,所有客户共享一个通用的基础,以及为每个客户创建的一些额外功能。这些特定内容位于项目代码内的文件/文件夹中任何位置

我们要做的是拥有不同的仓库,可以轻松混合使用:

  • 一个用于通用基础。当我们想要处理它时,我们可以检出此存储库,进行必要的操作并提交…所以使用SVN :)
  • 一个用于每个客户。这就是棘手的地方...当我们必须处理特定客户代码时,我们希望将通用基础和客户存储库一起检出到同一个文件夹中,在其中进行必要的操作,仅提交特定代码,这需要注意,这些特定代码散布在项目内的不同文件夹/文件中。

我已经四处寻找解决方案,例如svn属性external或svnadmin子命令dump,但我没有找到任何似乎真正适合我的需求的东西。

因此,在开始编写shell脚本来完成这项任务之前,我的问题是:

  • 您是否曾经遇到过这种问题
  • 您如何在项目中管理特定代码
1个回答

1
创建几个分支,一个用于基本功能,每个客户都有一个。您可以在您的存储库中使用svn:external链接到您的基本功能文件。

谢谢您的回复。我们考虑过使用分支,但是使用分支将不会导致基础代码在每个分支中重复吗?我们的目标是使我们的代码被部署,并且能够仅更新基础代码并在此新的更新和客户特定需求上运行测试,然后再将其更新到他们的生产服务器... - Julien Rouvier
不,代码不会被复制。在您的客户分支内,您可以使用svn:external引用到您的基础代码分支(尽管它在同一个存储库中,因此并不真正“外部”)。您还可以冻结此符号链接,以确保一个客户端不会获得新的HEAD功能。 - Gregor
好的,非常感谢您的回答。我没有考虑到混合分支和_external_,我会研究一下! - Julien Rouvier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接