使用SVN将共享代码库与自定义内容相结合

时间:2014-10-13 16:37:51

标签: css svn externals

我有一个网站,我需要部署到大约30个客户。除品牌外,它们都是一样的。使用SVN,我想拥有该产品的一个基本版本,然后只为每个客户提供不同的品牌内容(图像,CSS)。这样,当我维护基础产品时,我不必为每个客户复制该更改。部署只是一个更新和发布的案例。

听起来很简单,但我在SVN中遇到此问题。我一直在使用如下结构来研究SVN外部:

  • 主要
      • 图片
  • 客户1

    • 定制
      • 图片
  • 客户2

    • 定制
      • 图片

然后使用将Customer Base文件夹指向主基本文件夹的外部。这是有效的,但我需要覆盖(例如)客户1 \ Base \ Images文件夹中的客户特定的图像,当我设置外部因为它抱怨“客户1 \基地\图像不是工作副本根“。它确实似乎已经覆盖了客户的图像。

也许外界不是答案。

1 个答案:

答案 0 :(得分:0)

在您的情况下,界面明显与功能分开。可能性如下(如果我很好理解你的问题):

在专用的SVN存储库中管理您的应用程序(像往常一样,使用您的主干,分支和标记)。并在另一个存储库中管理您的设计版本,例如以下结构:

./Customer_1
./Customer_1/trunk
./Customer_1/tags
./Customer_1/branches
./Customer_2
./Customer_2/trunk
./Customer_2/tags
./Customer_2/branches
...

通过这种分离,您可以轻松管理主应用程序的版本号。并且每个客户都有一个“小”存储库,可以轻松复制设计版本,以svn copy启动另一个版本。