# HG changeset patch # User Thomas Arendsen Hein # Date 1137064948 -3600 # Node ID ece5d785e87ac17f43d72da9c056c202c64ca360 # Parent f0f9e84849e7542b0b9c3f98f3e3af9c2038e385 Make localrepo.changes() internally distinguish between removed and deleted. diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -417,4 +417,4 @@ class dirstate(object): elif type == 'r': removed.append(fn) - return (lookup, modified, added, removed + deleted, unknown) + return (lookup, modified, added, removed, deleted, unknown) diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -501,7 +501,7 @@ class localrepository(object): wlock = self.wlock(wait=0) except lock.LockHeld: wlock = None - lookup, modified, added, deleted, unknown = ( + lookup, modified, added, removed, deleted, unknown = ( self.dirstate.changes(files, match)) # are we comparing working dir against its parent? @@ -520,12 +520,12 @@ class localrepository(object): mf2 = mfmatches(self.dirstate.parents()[0]) for f in lookup + modified + added: mf2[f] = "" - for f in deleted: + for f in removed: if f in mf2: del mf2[f] else: # we are comparing two revisions - unknown = [] + deleted, unknown = [], [] mf2 = mfmatches(node2) if node1: @@ -542,12 +542,14 @@ class localrepository(object): else: added.append(fn) - deleted = mf1.keys() + removed = mf1.keys() + + removed.extend(deleted) #XXX get rid of this when returning deleted # sort and return results: - for l in modified, added, deleted, unknown: + for l in modified, added, removed, unknown: l.sort() - return (modified, added, deleted, unknown) + return (modified, added, removed, unknown) def add(self, list): wlock = self.wlock()