css - 将 SVN 用于具有自定义内容的共享代码库

标签 css svn externals

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

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

  • 主要
    • 基地
      • .
      • .
      • 图片
  • 客户 1

    • 基地
    • 自定义
      • 图片
  • 客户 2

    • 基地
    • 自定义
      • 图片

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

也许外部因素不是答案。

最佳答案

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

在专用的 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 轻松复制设计版本以启动另一个设计版本。

关于css - 将 SVN 用于具有自定义内容的共享代码库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26344812/

相关文章:

svn - 如何让 Jenkins 作业显示来自另一个存储库的更改?

svn - 删除svn :externals property from a folder

mercurial - 是否可以将 Mercurial subrepo 与特定修订版 Hook (例如 svn :externals)?

linux - 在 Linux 上的 IntelliJ Idea 中保存加密的 SVN 密码

svn - 颠覆 : how to nuke a repository?

svn - 不要显示svn:外部人处于svn状态

javascript - iframe 不适用于 safari/firefox

html - 想要使带边框的箭头响应

php - 每个查询不同的背景图像

javascript - 我在哪里可以找到包含图像和文本详细信息的 super 下拉菜单?