[cig-commits] commit: hg fupdate should not break if Mercurial does not support --rev

Mercurial hg at geodynamics.org
Mon Nov 24 11:27:16 PST 2008


changeset:   77:de0d2b10ed66
user:        Simon Law <simon at akoha.org>
date:        Tue Nov 13 16:06:48 2007 -0500
files:       forest.py
description:
hg fupdate should not break if Mercurial does not support --rev


diff -r 5fbe5f2ac36a -r de0d2b10ed66 forest.py
--- a/forest.py	Thu Sep 06 11:25:17 2007 -0400
+++ b/forest.py	Tue Nov 13 16:06:48 2007 -0500
@@ -597,8 +597,10 @@ class Forest(object):
         if paths:
             # Extract revisions from # syntax in path.
             paths[0], revs = parseurl(paths[0], opts['rev'])[0:2]
+        elif 'rev' in opts:
+            revs = opts['rev']
         else:
-            revs = opts['rev']
+            revs = None
         die_on_numeric_revs(revs)
         for tree in self.trees:
             rpath = relpath(self.top().root, tree.root)
@@ -1241,16 +1243,21 @@ def update(ui, top, revision=None, **opt
                     walkhg=walkhgenabled(ui, opts['walkhg']))
 
     def function(tree, ignore, opts):
-        rev = opts['rev']
+        if 'rev' in opts:
+            rev = opts['rev'] or None
+        else:
+            rev = None
         if type(rev) is str:
             rev = rev
         elif rev:
             rev = rev[0]
-        else:
-            rev = None
         try:
-            commands.update(ui, tree.getrepo(ui),
-                            rev=rev, clean=opts['clean'], date=opts['date'])
+            if rev is not None:
+                commands.update(ui, tree.getrepo(ui),
+                                rev=rev, clean=opts['clean'], date=opts['date'])
+            else:
+                commands.update(ui, tree.getrepo(ui),
+                                clean=opts['clean'], date=opts['date'])
         except Exception, err:
             ui.warn(_("skipped: %s\n") % err)
             tree.repo.transaction().__del__()



More information about the CIG-COMMITS mailing list