0

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

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

  • 主要的
    • 根据
      • .
      • .
      • 图片
  • 客户 1

    • 根据
    • 风俗
      • 图片
  • 客户 2

    • 根据
    • 风俗
      • 图片

然后使用外部将客户基础文件夹指向主基础文件夹。那行得通,但是我需要用客户特定的图像覆盖(例如)Customer 1\Base\Images 文件夹中的图像,当我为此设置外部时,它会抱怨“Customer 1\Base\Images 不是一个工作副本根”。不过,它似乎确实用客户的图像覆盖了图像。

也许外部不是答案。

4

1 回答 1

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.

于 2014-10-14T08:15:58.490 回答