[PATCH V4] record_curses: fix ui bug for newly added file

Laurent Charignon lcharignon at fb.com
Sat Mar 28 01:35:35 UTC 2015


# HG changeset patch
# User Laurent Charignon <lcharignon at fb.com>
# Date 1427490673 25200
#      Fri Mar 27 14:11:13 2015 -0700
# Node ID ff3220b2965cde142af6f37473bb1fef1461546f
# Parent  d2276d7c1db113d743e15929106bfe65edb2e804
 record_curses: fix ui bug for newly added file

 With record's curses interface toggling and untoggling a newly added file
 would lead to a confusing UI (the header was marked as partial and the hunks
 as unselected). Tested additionally using the curses interface with newly
 added, removed and modified files in a test repo.

diff --git a/mercurial/crecord.py b/mercurial/crecord.py
--- a/mercurial/crecord.py
+++ b/mercurial/crecord.py
@@ -753,17 +753,12 @@
         if isinstance(item, uiheader):
             item.partial = False
             if item.applied:
-                if not item.special():
-                    # apply all its hunks
-                    for hnk in item.hunks:
-                        hnk.applied = True
-                        # apply all their hunklines
-                        for hunkline in hnk.changedlines:
-                            hunkline.applied = True
-                else:
-                    # all children are off (but the header is on)
-                    if len(item.allchildren()) > 0:
-                        item.partial = True
+                # apply all its hunks
+                for hnk in item.hunks:
+                    hnk.applied = True
+                    # apply all their hunklines
+                    for hunkline in hnk.changedlines:
+                        hunkline.applied = True
             else:
                 # un-apply all its hunks
                 for hnk in item.hunks:


More information about the Mercurial-devel mailing list