为什么某些开源项目不接受请求请求,而只要求贡献者发送电子邮件补丁文件?例如Git,尽管他们在github或其他分布式scm托管中发布代码。发送补丁文件既不互动也不方便。补丁文件是一种老式的方法。拉取请求是交互式的。其他人也可以讨论。
为什么某些开源项目不接受请求请求,而只要求贡献者发送电子邮件补丁文件?例如Git,尽管他们在github或其他分布式scm托管中发布代码。发送补丁文件既不互动也不方便。补丁文件是一种老式的方法。拉取请求是交互式的。其他人也可以讨论。
Answers:
这取决于谁将负责接受您的请求请求。
如果是Linus Torvalds,那么…… 最好是旧的补丁:
我不做github拉请求。
github丢弃了所有相关信息,例如甚至为要求我拉的人提供了一个有效的电子邮件地址。
diffstat也有缺陷且无用。Git带有一个不错的pull-request生成模块,但是github决定将其替换为他们自己的劣等版本。
结果,我认为github对于这些事情没有用。托管很不错,但是请求请求和在线提交编辑只是纯粹的垃圾。
我已经告诉github的人我的担忧,他们认为他们并不重要,所以我放弃了。随时向github提交错误报告。
他详细说明:
为了让我从github上退出,您需要:
- (a)发出真正的拉取请求,而不是当您请求它请求拉取时github造成的脑残垃圾:
- 真正的解释,
- 正确的电子邮件地址,
- 适当的简短日志,以及
- 适当的diffstat。
- (b)由于github身份是随机的,因此我希望pull请求是一个签名标签,以便我可以验证相关人员的身份。
我也拒绝提取通过github Web界面进行的提交。
同样,其原因是github Web界面的工作方式,这些提交总是纯属废话。
在github上完成的提交始终具有完全不可读的描述,因为github提交制作功能并没有完成内核人们从commit消息中期望的任何最简单的操作:
- 没有“第一行中简短的一行描述”
- 您键入的长描述没有理智的自动换行:github commit消息往往是(如果有任何描述)一条长的不可读行。
- 没有内核提交所需的签字等。
github 可以使编写良好的提交消息变得容易,并可以强制执行适当的“短日志和
gitk
完整日志的完整解释”。
但是github没有。
取而代之的是,github的“ commit on the web”界面是一个单一的可怕的文本输入字段,它绝对没有健全的方式来编写美观的消息。
当在文本区域质疑提交消息时:
@torvalds GitHub提交UI提供了一个用于提交消息的文本区域。
这支持换行,并易于执行格式正确的提交消息:)不,不是。
它所支持的是写长行,您无需知道它们有多长。
文本区域不会为您提供换行符,您也无法判断换行符将到达的位置。换句话说,这确实使执行“格式正确的提交消息”变得非常困难。
它还没有强制执行琐碎的 “ oneshorter for shortlog”模型,因此,提交消息通常最终看起来像是shortlog和gitk中的废话。所以github commit UI应该有
- 单独的“ shortlog”单行文本窗口,因此人们无法搞砸。
- 一种在标准的72列标记处实际进行合理的自动换行的方法。
- 提醒有关某些项目因特定项目甚至法律原因而需要签署的信息。