Mercurial > public > mercurial-scm > hg-stable
comparison hgext/phabricator.py @ 44719:c482e2fe444c
phabricator: prevent posting obsolete commits
I don't see why this would be useful in the first place. But I had a coworker
submit a single commit that was not a branch head, and the result was to orphan
its child and keep the original commit visible. He then did up arrow + Enter,
and it happily created a new review (since the URL isn't amended into the
original commit specified on the command line) and a new successor, resulting in
a local divergence. I'd like to fix the issue with creating orphans, but this
is simple enough to prevent on its own.
Differential Revision: https://phab.mercurial-scm.org/D8437
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 12 Apr 2020 13:11:42 -0400 |
parents | 0680b8a1992a |
children | 601ce5392cb0 |
comparison
equal
deleted
inserted
replaced
44718:0680b8a1992a | 44719:c482e2fe444c |
---|---|
1302 if opts.get(b'amend'): | 1302 if opts.get(b'amend'): |
1303 cmdutil.checkunfinished(repo) | 1303 cmdutil.checkunfinished(repo) |
1304 | 1304 |
1305 ctxs = [repo[rev] for rev in revs] | 1305 ctxs = [repo[rev] for rev in revs] |
1306 | 1306 |
1307 if any(c for c in ctxs if c.obsolete()): | |
1308 raise error.Abort(_(b"obsolete commits cannot be posted for review")) | |
1309 | |
1307 fold = opts.get(b'fold') | 1310 fold = opts.get(b'fold') |
1308 if fold: | 1311 if fold: |
1309 if len(revs) == 1: | 1312 if len(revs) == 1: |
1310 # TODO: just switch to --no-fold instead? | 1313 # TODO: just switch to --no-fold instead? |
1311 raise error.Abort(_(b"cannot fold a single revision")) | 1314 raise error.Abort(_(b"cannot fold a single revision")) |