簡體   English   中英

顯示使用 git stats 添加、修改和刪除的行數

[英]Show number of rows added, MODIFIED, and removed with git stats

我需要一個解決方案來顯示從每個 git 提交中添加、刪除和修改的行數。 對於git stats ,它只顯示插入和刪除,而不顯示修改 我還沒有找到對這個問題有用的解決方案。

例子

這個問題出現在 2018 年初的補丁提案中
菲利普伍德試圖突出“修改線條”概念
(他的補丁的簡化版本在這里制作

當一組行被修改時,大塊包含刪除和插入。
為了正確暫存修改行的子集,我們需要將選定的刪除與選定的插入相匹配,否則我們最終會得到刪除和上下文行,然后是我們不想要的插入。

這最終變得棘手

為了實現分段修改的行,代碼需要將每個刪除的行與其替換配對。
它通過將連續選定的行組合在一起來實現這一點,因此它具有一組已刪除行的列表和另一個插入行的列表,然后根據它們在列表中的索引對刪除和插入進行配對。

菲利普開始懷疑:

我開始明白為什么所有其他節目我試圖在寫這篇( tiggitggitkmercurial的版本add -i )不作任何企圖修改階段,正確行,但我認為的Git應該有某種方式做到這一點。

Git Junio C. Hamano 的主要維護者 Qnd 證實了這些疑慮,並給出了以下答案

是的,這是一種功能,人們可以提出和實施一些適用於某些有限情況的功能,但不適用於其他情況。
並且很難解釋如何解決實現限制——這就是為什么我停在“拆分這個大塊?” 並且在我設計原始的“增量添加”功能時並沒有超越它。

我想真正的難點在於“舞台修改台詞”中對“修改”沒有很好的定義
更糟糕的是,沒有好的方法可以機械地弄清楚,因為補丁只給你“這些被刪除了”和“這些被添加了”,而沒有給你“刪除塊中的這一行對應於添加中的這兩行塊”(即“這個原來的一行在結果中被修改成這個東西”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM