From patchwork Tue Nov 28 00:37:37 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D1502: rewriteutil: add utility function to check if we can create new unstable cset From: phabricator X-Patchwork-Id: 25776 Message-Id: <9fef41b5f8091e86ee56b151bc61b7bc@localhost.localdomain> To: mercurial-devel@mercurial-scm.org Date: Tue, 28 Nov 2017 00:37:37 +0000 pulkit updated this revision to Diff 3899. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1502?vs=3809&id=3899 REVISION DETAIL https://phab.mercurial-scm.org/D1502 AFFECTED FILES mercurial/rewriteutil.py CHANGE DETAILS To: pulkit, #hg-reviewers Cc: dlax, mercurial-devel 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 +# +# 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.allounstable=True` + """ + allowunstable = obsolete.isenabled(repo, obsolete.allowunstableopt) + if allowunstable: + return revset.baseset() + return repo.revs("(%ld::) - %ld", revs, revs)