Patchwork D3829: rebase: make dry-run return 1 or 0 according to result

login
register
mail settings
Submitter phabricator
Date June 23, 2018, 3:30 a.m.
Message ID <differential-rev-PHID-DREV-h437wreuilr45hh4xs5m-req@phab.mercurial-scm.org>
Download mbox | patch
Permalink /patch/32385/
State Superseded
Headers show

Comments

phabricator - June 23, 2018, 3:30 a.m.
khanchi97 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  In dry-run mode, if there is no conflict return 0, if any then return 1

REPOSITORY
  rHG Mercurial

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

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

CHANGE DETAILS




To: khanchi97, #hg-reviewers
Cc: mercurial-devel
Yuya Nishihara - June 24, 2018, 3:12 a.m.
> --- a/hgext/rebase.py
> +++ b/hgext/rebase.py
> @@ -825,10 +825,13 @@
>                              **opts)
>          except error.InMemoryMergeConflictsError:
>              ui.status(_('hit a merge conflict\n'))
> +            retcode = 1
>          else:
> +            retcode = 0
>              ui.status(_('there will be no conflict, you can rebase\n'))
>          finally:
>              _origrebase(ui, repo, abort=True)
> +            return retcode

`retcode` may be undefined depending on the error type occurred in
`_origrebase()`. Instead, you can simply return 1 and 0 in the `except`
and `else` clauses respectively.
phabricator - June 24, 2018, 3:12 a.m.
yuja added a comment.


  > - a/hgext/rebase.py +++ b/hgext/rebase.py @@ -825,10 +825,13 @@ **opts) except error.InMemoryMergeConflictsError: ui.status(_('hit a merge conflict\n')) +            retcode = 1 else: +            retcode = 0 ui.status(_('there will be no conflict, you can rebase\n')) finally: _origrebase(ui, repo, abort=True) +            return retcode
  
  `retcode` may be undefined depending on the error type occurred in
  `_origrebase()`. Instead, you can simply return 1 and 0 in the `except`
  and `else` clauses respectively.

REPOSITORY
  rHG Mercurial

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

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

Patch

diff --git a/tests/test-rebase-inmemory.t b/tests/test-rebase-inmemory.t
--- a/tests/test-rebase-inmemory.t
+++ b/tests/test-rebase-inmemory.t
@@ -287,6 +287,7 @@ 
   rollback completed
   hit a merge conflict
   rebase aborted
+  [1]
   $ hg diff
   $ hg status
   $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
@@ -322,3 +323,4 @@ 
   merging e
   hit a merge conflict
   rebase aborted
+  [1]
diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -825,10 +825,13 @@ 
                             **opts)
         except error.InMemoryMergeConflictsError:
             ui.status(_('hit a merge conflict\n'))
+            retcode = 1
         else:
+            retcode = 0
             ui.status(_('there will be no conflict, you can rebase\n'))
         finally:
             _origrebase(ui, repo, abort=True)
+            return retcode
     elif inmemory:
         try:
             # in-memory merge doesn't support conflicts, so if we hit any, abort