changeset 77:de0d2b10ed66

hg fupdate should not break if Mercurial does not support --rev
author Simon Law <simon@akoha.org>
date Tue, 13 Nov 2007 16:06:48 -0500
parents 5fbe5f2ac36a
children 97152eaa30fa
files forest.py
diffstat 1 files changed, 13 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- 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 @@
         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 @@
                     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__()