Patchwork D1502: rewriteutil: add utility function to check if we can create new unstable cset

login
register
mail settings
Submitter phabricator
Date Dec. 5, 2017, 11 p.m.
Message ID <75a538e4c5285cb1053583ca6deda2ba@localhost.localdomain>
Download mbox | patch
Permalink /patch/25955/
State Not Applicable
Headers show

Comments

phabricator - Dec. 5, 2017, 11 p.m.
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG27d5c2d2db2b: rewriteutil: add utility function to check if we can create new unstable cset (authored by pulkit, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D1502?vs=3911&id=4144

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

AFFECTED FILES
  mercurial/rewriteutil.py

CHANGE DETAILS




To: pulkit, #hg-reviewers, dlax, durin42
Cc: dlax, mercurial-devel

Patch

diff --git a/mercurial/rewriteutil.py b/mercurial/rewriteutil.py
new file mode 100644
--- /dev/null
+++ b/mercurial/rewriteutil.py
@@ -0,0 +1,25 @@ 
+# rewriteutil.py - utility functions for rewriting changesets
+#
+# Copyright 2017 Octobus <contact@octobus.net>
+#
+# This software may be used and distributed according to the terms of the
+# GNU General Public License version 2 or any later version.
+
+from __future__ import absolute_import
+
+from . import (
+    obsolete,
+    revset,
+)
+
+def disallowednewunstable(repo, revs):
+    """Checks whether editing the revs will create new unstable changesets and
+    are we allowed to create them.
+
+    To allow new unstable changesets, set the config:
+        `experimental.evolution.allowunstable=True`
+    """
+    allowunstable = obsolete.isenabled(repo, obsolete.allowunstableopt)
+    if allowunstable:
+        return revset.baseset()
+    return repo.revs("(%ld::) - %ld", revs, revs)