我不小心检查了某人的整个项目。有任何可接受的拉取请求的方式吗?


12

我在github上找到了一个很棒的项目,该项目具有有用的中央功能,但是在“抛光”错误处理,日志记录,配置和设置方面比较粗糙。该项目五年没有动,只有几百行代码。仍然足够有用,足以吸引大量观察者和少量叉子。

使用时需要添加特定的内容,但在此之前我进行了一些清理。然后,我变得有点痴迷于工程师,在一周的时间里,我最终添加了一个日志记录系统,大量的日志记录,一个自动设置,将代码之外的配置纳入外部配置文件(以及读取它们的代码),加上我发现的几个错误修正。

我确实认为我所做的所有更改都是合理/良好的,并且是听众需要使用的内容。但是有很多提交,几乎与原始回购的提交一样多(避免使用数量来保持一般性)。此外,git blame显示我已经触及了这个(小的!)代码库的几乎每一行。我不是在寻求对该项目的控制,也不是寻求我所做的一切功劳。但是给定选择之后,我希望看到我的更改合并在一起,以便每个人都可以从中受益,而不是隐藏在我不知名的github上。

我以前从未提交过请求请求,但我知道它们应该很小并且易于查看。但是,我在这里进行了很多变革性的更改。

我的提交非常干净,因为我倾向于仔细地进行历史记录。但是它们很难分离成多个分支/拉取请求,因为其中很多必须建立在自身之上。例如,配置外部化建立在一些准备工作的清理上,并且安装程序的一部分存在以填充这些配置,日志记录是由安装程序中创建的外部配置启用和配置的,等等。我非常愿意尽我所能使这种大药丸变得更可口,我只是不知道那会是什么。我可以分开进行两次提交,但是大修仍然很大。

那么,如果他们不小心检修某人的项目该怎么办?

我是否应该只上课不要这样做,并将自己的更改保留在自己的叉子上?我是否应该提出拉取请求,然后看看会发生什么?我应该在描述中花一堆字来解释自己吗?我应该以某种方式呈现吗?

Answers:


30

如果您所写的项目是“五年未动”,那么不管有人在注释中修正了错字还是进行了完全重写,拉取请求都可能不会被接受。该项目可能被原始作者放弃了。

我要尝试的第一件事是与作者联系,并询问他们对此有何想法。如果他们没有在合理的时间内做出响应,为什么不简单地公开您的fork(假设许可允许这样做),添加关于您改进的摘要,然后看看会发生什么呢?

如果其他人认为您的改进对他们有用,那么他们可能更喜欢使用fork作为原始项目,而不是原始项目。如果原始作者打算再次恢复原始项目,则你们俩仍然可以决定是否应将原始项目和您的fork合并在一起,以及谁将成为未来的维护者。

如果原始作者没有表现出进行主动维护的迹象,则可以考虑将叉子与原始项目完全分开。在这种情况下,为此设置您自己的独立存储库。不要忘了感谢原始作者,并确保该项目的许可证涵盖了这些内容。


2
感谢现实检查。我将尝试与作者联系,并了解他对该项目的态度。
user1169420
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.