Github的PR差异算法:你可以交换吗?

时间:2016-07-26 19:13:47

标签: github

(注意:Github用法出现在边界GitHub issues asked on Stack Overflow

即使在同一个函数中移动代码的PR在Github上显得非常繁重,即使他们不做任何其他事情。我创建了一个非常基本的PR来证明这一点:https://github.com/tommyjcarpenter/github_test/pull/1/commits/2afb07ec5c6b56724bd10c6b56386299493bbb43。所有repo都定义了两个函数,PR更改为将第一个函数移动到第二个函数之下。 github上的diff显示删除了20行,添加了21行。人们会认为差异可以显示为一个微不足道的代码移动"。

现在想象一下,这里有更多的功能和更多琐碎的代码移动。

似乎git本身 IS 能够检测到这些变化:Using Git diff to detect code movement + How to use diff options

那么,有没有办法换掉差异化算法,这样这样的PR看起来不那么繁重? github是否使用它自己的内部算法,还是使用默认的差异算法?

(编辑:这似乎也会使Github上的帐户级贡献有点误导:只是移动代码的人可能会显示对存储库进行大量添加和删除,因此给人的印象是它们是一个很大的贡献者,实际上他们并没有提供任何功能)

1 个答案:

答案 0 :(得分:0)

我怀疑如果存在这种功能,它会在差异中隐藏hiding-of-whitespaces等功能。

我看到Github实施不同差异算法的挑战是对贡献指标的影响。现在,必须使用所使用的算法对贡献指标(即贡献者,PR大小)进行脚注,以便正确审核和审核更改。

作为一种解决方法,您可以将格式提交与功能更改提交分开,以至少能够通过提交历史记录来区分这两者。