spectral created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches.
REVISION SUMMARY When reversing a patch that looks like this while using crecord: @@ -301,4 +302,4 @@ zza zzb zzc zzd -zze \ No newline at end of file +zze we would previously reverse the `-zze` line to be an add, encounter the "no newline" line and stop inspecting lines. This caused us to duplicate the line, producing `zzezze` (still without a newline). `break` is the correct action if we know there will be no lines afterwards, as would be the case in an eol -> noeol transition. It is incorrect if there are lines afterward, such as if both sides are missing the newline or if only the lhs is missing the newline. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D12441 AFFECTED FILES mercurial/crecord.py tests/test-revert-interactive-curses.t CHANGE DETAILS diff --git a/tests/test-revert-interactive-curses.t b/tests/test-revert-interactive-curses.t --- a/tests/test-revert-interactive-curses.t +++ b/tests/test-revert-interactive-curses.t @@ -68,6 +68,5 @@ $ do_revert reverting a $ cat a - 0 (wdir known-bad-output !) 0 (no-eol) diff --git a/mercurial/crecord.py b/mercurial/crecord.py --- a/mercurial/crecord.py +++ b/mercurial/crecord.py @@ -505,7 +505,7 @@ text = line.linetext if line.linetext == diffhelper.MISSING_NEWLINE_MARKER: noeol = True - break + continue if line.applied: if text.startswith(b'+'): dels.append(text[1:]) To: spectral, #hg-reviewers Cc: mercurial-patches, mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel