update: check command line before modifying repo
authorMartin von Zweigbergk <martinvonz@google.com>
Sun, 07 Feb 2016 22:18:24 -0800
changeset 28032 8157c6b82f40
parent 28031 6f248ba85309
child 28033 0707bbec682d
update: check command line before modifying repo A failed command should not have any effect on the repo.
mercurial/commands.py
--- a/mercurial/commands.py	Sun Feb 07 21:44:38 2016 -0800
+++ b/mercurial/commands.py	Sun Feb 07 22:18:24 2016 -0800
@@ -6959,24 +6959,24 @@
     if rev is None or rev == '':
         rev = node
 
+    if date and rev is not None:
+        raise error.Abort(_("you can't specify a revision and a date"))
+
+    if check and clean:
+        raise error.Abort(_("cannot specify both -c/--check and -C/--clean"))
+
     warndest = False
 
     with repo.wlock():
         cmdutil.clearunfinished(repo)
 
         if date:
-            if rev is not None:
-                raise error.Abort(_("you can't specify a revision and a date"))
             rev = cmdutil.finddate(ui, repo, date)
 
         # if we defined a bookmark, we have to remember the original name
         brev = rev
         rev = scmutil.revsingle(repo, rev, rev).rev()
 
-        if check and clean:
-            raise error.Abort(_("cannot specify both -c/--check and -C/--clean")
-                             )
-
         if check:
             cmdutil.bailifchanged(repo, merge=False)
         if rev is None: