【问题标题】:Mix repositories with SVN将存储库与 SVN 混合
【发布时间】:2013-02-21 09:48:17
【问题描述】:

我正在使用框架 symphony (1.4) 用 PHP 开发一个 Web 应用程序。代码使用 SVN 进行版本控制。 在这个网络应用程序中,我们所有的客户都有一个共同的基础,以及一些专门为每个客户创建的额外功能。这些细节在文件/文件夹中项目代码中的任何位置。 我们在这里尝试做的是拥有可以轻松混合的不同存储库:

  • 一个用于公共底座。当我们想要处理它时,我们可以签出这个存储库,做任何我们必须做的事情并提交......所以,SVN :)
  • 每个客户一个。这就是棘手的地方......当我们必须处理特定的客户代码时,我们想检查同一文件夹中的公共基础和客户存储库,做我们必须做的任何事情,只提交特定的代码,我提醒您,它分布在项目内的不同文件夹/文件中。

我已经环顾四周,发现了不同的东西,比如 svn 属性 external 或 svnadmin 子命令 dump。但我没有找到任何似乎真正适合我需要的东西。 因此,在我开始编写 shell 脚本来执行此操作并可能会弄乱我的项目之前,我的问题是:

  • 你有没有遇到过这样的问题
  • 如何管理项目中的特定代码

【问题讨论】:

    标签: svn repository


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复。我们考虑过使用分支,但是有了分支,我们不会在每个分支中都复制基本代码吗?我们的目标是划分我们的代码,并在他们的生产服务器上更新它们之前,能够只更新基本代码并使用这个新的更新和我们客户的细节运行测试......
    • 不,代码不会重复。在您的客户分支中,您可以使用 svn:external 引用您的基本代码分支(尽管它在同一个存储库中,因此不是真正的“外部”)。您还可以冻结此符号链接,以确保一位客户不会获得新的 HEAD 功能。
    • 好的,非常感谢您的回答。我没想过混合分支和外部,我会研究一下!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    相关资源
    最近更新 更多