2016-07-26 86 views
1

(注:Github上使用出現在邊界GitHub issues asked on Stack OverflowGithub的PR差異算法:你可以交換嗎?

永久居民,圍繞移動代碼,即使在相同的功能,出現在Github上十分繁重,即使他們沒有做任何事情。我已經創建了一個非常基本的公關來證明這一點:https://github.com/tommyjcarpenter/github_test/pull/1/commits/2afb07ec5c6b56724bd10c6b56386299493bbb43。所有回購確實定義了兩個函數,並且PR將更改移動到第二個之下。 github上的diff顯示移除了20行並添加了21行。人們會認爲差異可以表現爲一個微不足道的「代碼移動」。

現在想象這個具有更多功能和更多不重要的代碼移動。

看來混帳本身IS能夠檢測到這樣的變化:Using Git diff to detect code movement + How to use diff options

那麼,有沒有辦法換出版本比較算法,使得這樣的PR看上去不那麼苛刻? github使用它自己的內部算法還是使用默認差異算法? (編輯:這似乎也使Github上的帳戶級貢獻有點誤導:只是移動代碼的人可能會顯示大量的添加和刪除到存儲庫,因此給人的印象是他們是一個很大的貢獻者,但事實上他們沒有貢獻任何功能)

+0

這聽起來像Github的bug報告/功能請求,而不是SO問題。 – Bergi

+0

目前還不清楚它是否實際上是一個bug或者是否存在可以對此做的事情。這就是我問的原因。也就是說,看起來github要求你發郵件給他們,並且實際上沒有公共問題/功能頁面,所以同時我也在這裏添加了這個,但這不是Github的頁面:https://github.com/isaacs/ github上/問題/ 729 – Tommy

回答

0

我懷疑如果這種功能存在,它將是一個隱藏功能,如hiding-of-whitespaces在diffs。

我認爲Github實現不同差異性算法的挑戰在於對貢獻度量的影響。貢獻指標(即貢獻者,PR大小)現在必須用所使用的算法進行腳註,以正確地審計和審查變更。

作爲解決方法,您可以將功能更改提交中的格式化提交分隔開,以便至少能夠通過提交歷史來區分這兩個提交歷史。