diff mercurial/localrepo.py @ 2175:b2ae81a7df29

Make hg update more verbose by default (issue12) (including small changes to revert and backout to not show these stats with the exception of backout --merge) Show update stats (unless -q), e.g.: K files updated, L files merged, M files removed, N files unresolved Inform the user what to do after a merge: (branch merge, don't forget to commit) Inform the user what to do if a branch merge failed: There are unresolved merges, you can redo the full merge using: hg update -C X hg merge Y Inform the user what to do if a working directory merge failed: There are unresolved merges with locally modified files.
author Thomas Arendsen Hein <thomas@intevation.de>
date Tue, 02 May 2006 18:44:02 +0200
parents f5c2c6e69fd7
children b67fcd91dd1b
line wrap: on
line diff
--- a/mercurial/localrepo.py	Mon May 01 19:17:34 2006 +0200
+++ b/mercurial/localrepo.py	Tue May 02 18:44:02 2006 +0200
@@ -1540,7 +1540,7 @@
         return newheads - oldheads + 1
 
     def update(self, node, allow=False, force=False, choose=None,
-               moddirstate=True, forcemerge=False, wlock=None):
+               moddirstate=True, forcemerge=False, wlock=None, show_stats=True):
         pl = self.dirstate.parents()
         if not force and pl[1] != nullid:
             self.ui.warn(_("aborting: outstanding uncommitted merges\n"))
@@ -1808,14 +1808,27 @@
         if moddirstate:
             self.dirstate.setparents(p1, p2)
 
-        stat = ((len(get), _("updated")),
-                (len(merge) - len(failedmerge), _("merged")),
-                (len(remove), _("removed")),
-                (len(failedmerge), _("unresolved")))
-        note = ", ".join([_("%d files %s") % s for s in stat])
-        self.ui.note("%s\n" % note)
-        if moddirstate and branch_merge:
-            self.ui.note(_("(branch merge, don't forget to commit)\n"))
+        if show_stats:
+            stats = ((len(get), _("updated")),
+                     (len(merge) - len(failedmerge), _("merged")),
+                     (len(remove), _("removed")),
+                     (len(failedmerge), _("unresolved")))
+            note = ", ".join([_("%d files %s") % s for s in stats])
+            self.ui.status("%s\n" % note)
+        if moddirstate:
+            if branch_merge:
+                if failedmerge:
+                    self.ui.status(_("There are unresolved merges,"
+                                    " you can redo the full merge using:\n"
+                                    "  hg update -C %s\n"
+                                    "  hg merge %s\n"
+                                    % (self.changelog.rev(p1),
+                                        self.changelog.rev(p2))))
+                else:
+                    self.ui.status(_("(branch merge, don't forget to commit)\n"))
+            elif failedmerge:
+                self.ui.status(_("There are unresolved merges with"
+                                 " locally modified files.\n"))
 
         return err