gpt4 book ai didi

java - 如何记录第 3 方库的修改?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:41:13 27 4
gpt4 key购买 nike

有时我需要修改第三方库以满足我的特定需求。它可以是错误修复、性能改进、添加功能等。

例如,我将 JSoup 和 Android 支持库源包含到我的项目中并进行了一些更改。我还对来自 Android 源代码的 2 个 Java 文件做了同样的事情。

我应该如何记录这个?

最佳答案

规则-1

不要。维护库的 fork 版本很痛苦,尤其是当您想要升级库并需要一次又一次地向后移植您的更改时。更不用说有一天有人会忘记您的版本并使用标准版本。

因此,始终尝试包含未经您的更改而失败的测试用例(在您的代码中暴露外部库中的错误)。

规则 0

始终将您的更改提交给原始作者/维护者。提出问题并包含您的补丁。如果您的更改值得违反规则 -1,它可能会包含在下一个版本中。

规则 1

提交库的原始源文件,不做任何改动。然后使用描述性消息提交每一个改进/错误修复。最好包括将指向您(或图书馆)票务系统中的解释的问题/票证 ID。

这样,当浏览给定目录或项目的提交列表时,您可以很容易地看到发生了什么变化。如果提交消息不足以描述需要 fork 和修改外部库,您可以随时浏览问题/工单。同样在理想世界中,这样的提交会产生理想的补丁(请参阅规则 0)。


奖励:我曾经有过通过 自动 fork 和修补外部库的想法。插入。基本上,我们指示这个假设的插件在特定库上应用给定的补丁。 Maven 可以轻松地下载源代码、重建、安装并自动包含修改版本,而不是目标工件中的原始版本。

无需维护 fork 的二进制文件,如果补丁仍然适用于新版本,则可以轻松升级。有人在这里有太多空闲时间吗?

关于java - 如何记录第 3 方库的修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11074313/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com