我一直在使用开源 Java 项目,不得不为我们的网站进行一些自定义更改。我已经通过 Subversion 下载了源代码,修改了两个文件并构建了一个自定义 JAR 文件。现在我需要将这些自定义更改存储到我们的 Subversion 源代码控制系统中。做这个的最好方式是什么?
我是否应该将开源代码的整个标记版本检查到我们的系统中,然后创建一个包含我们更改的分支?还是我应该只签入我们的自定义文件并依赖开源标记版本始终存在?或者也许完全是别的东西?
我一直在使用开源 Java 项目,不得不为我们的网站进行一些自定义更改。我已经通过 Subversion 下载了源代码,修改了两个文件并构建了一个自定义 JAR 文件。现在我需要将这些自定义更改存储到我们的 Subversion 源代码控制系统中。做这个的最好方式是什么?
我是否应该将开源代码的整个标记版本检查到我们的系统中,然后创建一个包含我们更改的分支?还是我应该只签入我们的自定义文件并依赖开源标记版本始终存在?或者也许完全是别的东西?
好好看看 Subversion供应商分支,它们用于“在您自己的版本控制系统中维护[ing]对第三方数据的自定义修改”。这听起来正是您想要的。您将在您的主存储库中为开源 Java 项目创建一个供应商分支(从修改前的最后一个 SVN 修订版开始)。然后,检查您的修改。将来,您可以合并上游更改。
首先尽量避免这种情况,如果可能的话,尝试将您的更改纳入开源项目(将来为您自己做更少的工作......)
但如果这不是一个选项,我会遵循 Matthew Flaschen 关于供应商分支的建议。