diff --git a/mercurial/rewriteutil.py b/mercurial/rewriteutil.py new file mode 100644 index 0000000000000000000000000000000000000000..27d5c2d2db2b8a418dd3c951152cc970a8d690b5_bWVyY3VyaWFsL3Jld3JpdGV1dGlsLnB5 --- /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)