D3969: rebase: raise error for options conflicting with --stop

khanchi97 (Sushil khanchi) phabricator at mercurial-scm.org
Tue Aug 14 20:48:08 EDT 2018


This revision was automatically updated to reflect the committed changes.
Closed by commit rHG2cf0b8b830ba: rebase: raise error for options conflicting with --stop (authored by khanchi97, committed by ).

CHANGED PRIOR TO COMMIT
  https://phab.mercurial-scm.org/D3969?vs=10287&id=10355#toc

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D3969?vs=10287&id=10355

REVISION DETAIL
  https://phab.mercurial-scm.org/D3969

AFFECTED FILES
  hgext/rebase.py
  tests/test-rebase-obsolete.t

CHANGE DETAILS

diff --git a/tests/test-rebase-obsolete.t b/tests/test-rebase-obsolete.t
--- a/tests/test-rebase-obsolete.t
+++ b/tests/test-rebase-obsolete.t
@@ -2003,3 +2003,22 @@
   o  0:cb9a9f314b8b test
      a
   
+Test --stop raise errors with conflicting options:
+=================================================
+  $ hg rebase -s 3 -d 5
+  rebasing 3:055a42cdd887 "d"
+  merging d
+  warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
+  unresolved conflicts (see hg resolve, then hg rebase --continue)
+  [1]
+  $ hg rebase --stop --dry-run
+  abort: cannot use --stop with --dry-run or --confirm
+  [255]
+
+  $ hg rebase -s 3 -d 5
+  abort: rebase in progress
+  (use 'hg rebase --continue' or 'hg rebase --abort')
+  [255]
+  $ hg rebase --stop --continue
+  abort: cannot use --stop with --abort or --continue
+  [255]
diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -805,6 +805,12 @@
     inmemory = ui.configbool('rebase', 'experimental.inmemory')
     dryrun = opts.get('dry_run')
     stop = opts.get('stop')
+    if stop:
+        if opts.get('dry_run') or opts.get('confirm'):
+            raise error.Abort(_('cannot use --stop with --dry-run '
+                                'or --confirm'))
+        if opts.get('abort') or opts.get('continue'):
+            raise error.Abort(_('cannot use --stop with --abort or --continue'))
     if dryrun:
         if opts.get('abort'):
             raise error.Abort(_('cannot specify both --dry-run and --abort'))
@@ -841,7 +847,6 @@
         rbsrt = rebaseruntime(repo, ui)
         rbsrt.restorestatus()
 
-        #todo: raise error for conflicting options
         if rbsrt.collapsef:
             raise error.Abort(_("cannot stop in --collapse session"))
         allowunstable = obsolete.isenabled(repo, obsolete.allowunstableopt)



To: khanchi97, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list