【问题标题】:Best practice for source control of a customized Open Source project自定义开源项目源代码控制的最佳实践
【发布时间】:2009-06-05 04:39:14
【问题描述】:

我一直在使用开源 Java 项目,不得不为我们的网站进行一些自定义更改。我已经通过 Subversion 下载了源代码,修改了两个文件并构建了一个自定义 JAR 文件。现在我需要将这些自定义更改存储到我们的 Subversion 源代码控制系统中。最好的方法是什么?

我是否应该将开源代码的整个标记版本检查到我们的系统中,然后创建一个包含我们更改的分支?还是我应该只签入我们的自定义文件并依赖开源标记版本始终存在?或者完全是别的什么?

【问题讨论】:

    标签: version-control open-source customization


    【解决方案1】:

    好好看看 Subversion vendor branches,它用于“在您自己的版本控制系统中维护[ing]对第三方数据的自定义修改”。这听起来正是您想要的。您将在您的主存储库中为开源 Java 项目创建一个供应商分支(从修改前的最后一个 SVN 修订版开始)。然后,检查您的修改。将来,您可以合并上游更改。

    【讨论】:

    • +1 我认为您比我更了解被问到的内容。我认为这是关于如何设置存储库的更一般的查询。
    【解决方案2】:

    Subversion 书是免费的,available online,其中有一个部分专门介绍choosing a repository layout

    Subversion 社区推荐 您选择存储库位置 对于每个项目根——“最顶层” 包含相关数据的目录 到那个项目——然后创建三个 该根目录下的子目录: trunk,意思是目录下 其中主要项目开发 发生;分支,这是一个目录 在其中创建各种命名 主要开发线的分支; 和标签,这是一个集合 创建的树快照,以及 也许被毁了,但从未改变。

    如果您无法确定这对您的项目究竟意味着什么,我很乐意详细说明。

    【讨论】:

      【解决方案3】:

      首先尽量避免这种情况,如果可能的话,尝试将您的更改纳入开源项目(以后减少自己的工作......)

      但如果这不是一个选项,我会遵循 Matthew Flaschen 关于供应商分支的建议。

      【讨论】:

        猜你喜欢
        • 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
        相关资源
        最近更新 更多