diff 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
line wrap: on
line diff
--- a/hgext/phabricator.py	Tue Mar 03 17:37:09 2020 -0500
+++ b/hgext/phabricator.py	Sun Apr 12 13:11:42 2020 -0400
@@ -1304,6 +1304,9 @@
 
     ctxs = [repo[rev] for rev in revs]
 
+    if any(c for c in ctxs if c.obsolete()):
+        raise error.Abort(_(b"obsolete commits cannot be posted for review"))
+
     fold = opts.get(b'fold')
     if fold:
         if len(revs) == 1: