在最近的一个项目中,我不得不修改一个开源库以解决其中的一个功能缺陷。我遵循了创建"供应商源"存储库的SVN最佳实践,并在那里进行了更改。我还将补丁提交给了该项目的邮件列表。不幸的是,该项目只有几个维护者,他们更新非常缓慢。
在某些时候,我希望该库会被更新,我也希望我的项目能够使用升级后的库。但现在我有一个潜在的问题......
我不知道我的补丁是否已经应用于此第三方库的未来版本。我也不知道我的补丁是否仍然与升级组件的内部实现兼容。而且很可能到那时,其他人会维护我的项目。
我应该给这个库起一个特殊的名字,以便清楚地表明我们进行了特殊的修改(例如commons-lang-2.x-for-my-project.jar)吗?我应该只在README中记录补丁,并引用SVN位置和邮件列表项的链接吗?我认为没有一种选择在升级场景下都是绝对可靠的。
这种情况下的最佳实践是什么?
在某些时候,我希望该库会被更新,我也希望我的项目能够使用升级后的库。但现在我有一个潜在的问题......
我不知道我的补丁是否已经应用于此第三方库的未来版本。我也不知道我的补丁是否仍然与升级组件的内部实现兼容。而且很可能到那时,其他人会维护我的项目。
我应该给这个库起一个特殊的名字,以便清楚地表明我们进行了特殊的修改(例如commons-lang-2.x-for-my-project.jar)吗?我应该只在README中记录补丁,并引用SVN位置和邮件列表项的链接吗?我认为没有一种选择在升级场景下都是绝对可靠的。
这种情况下的最佳实践是什么?