Mercurial > hg-stable
diff mercurial/commands.py @ 20872:3f83fc5cfe71 stable 2.9.2
backout: correct commit status of no changes made (BC) (issue4190)
If backout generated no changes to commit, it showed wrong status, "changeset
<target> backs out changeset <target>", and raised TypeError with -v option.
This changes the return code to 1, which is the same as "hg commit" and
"hg rebase".
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 08 Mar 2014 18:52:16 +0900 |
parents | e01cff65f4c5 |
children | cc62c9d6887a |
line wrap: on
line diff
--- a/mercurial/commands.py Sat Mar 08 18:41:56 2014 +0900 +++ b/mercurial/commands.py Sat Mar 08 18:52:16 2014 +0900 @@ -416,7 +416,8 @@ See :hg:`help dates` for a list of formats valid for -d/--date. - Returns 0 on success, 1 if there are unresolved files. + Returns 0 on success, 1 if nothing to backout or there are unresolved + files. ''' if rev and node: raise util.Abort(_("please specify just one revision")) @@ -495,6 +496,9 @@ return repo.commit(message, opts.get('user'), opts.get('date'), match, editor=e) newnode = cmdutil.commit(ui, repo, commitfunc, [], opts) + if not newnode: + ui.status(_("nothing changed\n")) + return 1 cmdutil.commitstatus(repo, newnode, branch, bheads) def nice(node):