【问题标题】:SVN Repository Structure and Shared AssembliesSVN 存储库结构和共享程序集
【发布时间】:2009-06-05 00:58:05
【问题描述】:

我们正在尝试重构我们的 SVN 存储库,并在主干下包含一个 lib 文件夹,以容纳项目所依赖的程序集。

我很想知道你们是如何处理共享程序集的?您是否有跨越不同主干库文件夹的多个副本?您是否有某种构建过程会在构建该程序集时自动更新 lib 文件夹?

你们现在是怎么处理的?

谢谢!

【问题讨论】:

    标签: svn deployment assemblies repository


    【解决方案1】:

    我们对所有核心库进行版本控制。

    例如,SVN 看起来像这样:

    /repo/lib1/trunk/

    /repo/lib1/tags/1.0

    /repo/lib1/tags/1.1

    /repo/lib1/branches

    ...

    这避免了您破坏 BC、或其他东西的情况,并且需要更新使用该库的其他三个项目。

    此外,我们利用svn:externals 将这些库链接到项目中。

    /repo/project1/tags/1.0

    /repo/project1/trunk/库

    ...

    svn propedit svn:externals /repo/project1/trunk/library
    

    输入以下内容:

    lib1 svn://host/repo/lib1/tags/1.1

    ...并提交更改。

    Project1 本身也遵循约定(发布标签等)。

    根据您选择的语言,当然还有其他选择。让我知道您是否可以详细说明,我看看是否可以扩展我的答案。但总而言之,就是这么简单。无需其他构建工具。

    我们直接从 subversion 进行所有部署(通过capistrano)。基本上只是检查标签,然后就完成了。甚至允许对其进行热修复。如果你允许我拉皮条我自己的blog——我已经写了大量关于这个主题的文章(“从 svn 部署”)。

    HTH!

    【讨论】:

      【解决方案2】:

      对于共享相同库的不同存储库,我使用对托管库的存储库的外部引用,以便它们都共享相同的代码。如果在同一个存储库中有多个项目需要编译这些库,则构建过程会根据需要从顶级 libs 文件夹复制到每个项目的子文件夹。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多