自定义开源项目的源代码控制的最佳实践

时间:2009-06-05 04:39:14

标签: version-control open-source customization

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

我应该将开源代码的整个标记版本检查到我们的系统中,然后创建一个包含我们更改的分支吗?或者我应该只是签入我们的自定义文件并依赖开源标记版本来永远存在?或者可能还有别的东西?

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

Subversion图书是免费的available online,其中一节专门介绍choosing a repository layout

  

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

如果您无法确定这对您的项目意味着什么,我很高兴详述。

答案 2 :(得分:0)

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

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