[PATCH 2 of 8] identify: simplify the dirty check

Matt Harbison mharbison72 at gmail.com
Sun Jul 9 19:34:50 EDT 2017


# HG changeset patch
# User Matt Harbison <matt_harbison at yahoo.com>
# Date 1499573943 14400
#      Sun Jul 09 00:19:03 2017 -0400
# Node ID 09a3c95bdd28d00bc0071a4ade1ab31cf61262b2
# Parent  19ffd0a7aa46964067e35dd6a092adac2c238502
identify: simplify the dirty check

This is equivalent to the previous code, but it seems better to be explicit
about what aspects of dirty are being ignored.  Perhaps they shouldn't be, since
the help text says 'followed by a "+" if the working directory has uncommitted
changes'.  Both merges and branch changes are committable, even if the files are
unchanged.

Additionally, this will make the `identify` command notice missing subrepo
files, once subrepos are taught to look for missing files.

diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -2775,8 +2775,7 @@
                 taglist.extend(p.tags())
 
             dirty = ""
-            if (any(repo.status())
-                or any(ctx.sub(s).dirty() for s in ctx.substate)):
+            if ctx.dirty(missing=True, merge=False, branch=False):
                 dirty = '+'
             fm.data(dirty=dirty)
 


More information about the Mercurial-devel mailing list