bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#25410: 26.0.50; Refine an unified diff hunk only if adds lines


From: Tino Calancha
Subject: bug#25410: 26.0.50; Refine an unified diff hunk only if adds lines
Date: Wed, 11 Jan 2017 00:07:28 +0900 (JST)
User-agent: Alpine 2.20 (DEB 67 2015-01-07)



On Tue, 10 Jan 2017, npostavs@users.sourceforge.net wrote:

Tino Calancha <tino.calancha@gmail.com> writes:

After deletion of a large file from CVS, a diff shows
a very large hunk with just deleted lines.  Then, for unified diffs, a call
to `diff-refine-hunk' on that hunk takes a huge time.
Instead, it's better to first check if the hunk adds new lines: only when
this is true, then proceed with the hunk refinement.

What about a diff that adds a very large file?  Perhaps we should only
refine if there added lines *and* deleted lines?
On Tue, 10 Jan 2017, npostavs@users.sourceforge.net wrote:

What about a diff that adds a very large file?  Perhaps we should only
refine if there added lines *and* deleted lines?
That's logical; at the end neither a hunk just deleting nor one
just adding lines need to be refined. We might do that if you like. It would be more symmetrical.

From a performance point of view, current code in the case where
the hunk just adds lines is not as patological as the opposite one.
For instance:
emacs -Q
M-! git diff ef8c9f8^ ef8c9f8 RET
C-x o C-x C-q
M-x diff-mode RET
R ; Reverse the direction of the diffs.
C-c C-b ; Refine hunk.
;; Perform reasonably fast.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]