D1502: rewriteutil: add utility function to check if we can create new unstable cset
pulkit (Pulkit Goyal)
phabricator at mercurial-scm.org
Thu Nov 23 22:39:22 UTC 2017
pulkit created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
This patch adds a new file which will contain utility functions related to
rewritting changesets. It also adds a utility function to check if the
rewritting operation creates new unstable changesets and are we allowed to
create them.
This rewriteutil.py introduced in this patch and the utility functions added in
the upcoming patches exists in the evolve extension are being ported from there.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D1502
AFFECTED FILES
mercurial/rewriteutil.py
CHANGE DETAILS
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 at 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 mercurial import (
+ obsolete,
+ revset,
+)
+
+from mercurial.i18n import _
+
+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.allounstable=True`
+ """
+ allowunstable = obsolete.isenabled(repo, obsolete.allowunstableopt)
+ if allowunstable:
+ return revset.baseset()
+ return repo.revs("(%ld::) - %ld", revs, revs)
To: pulkit, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list