Mercurial > evolve
changeset 2758:684feae20be5
rewriteutil: move 'foldcheck' to the new module
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 23 Jul 2017 04:54:42 +0200 |
parents | 2878c8a686ab |
children | 3137185b1bfe |
files | hgext3rd/evolve/__init__.py hgext3rd/evolve/rewriteutil.py |
diffstat | 2 files changed, 26 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext3rd/evolve/__init__.py Sun Jul 23 04:46:33 2017 +0200 +++ b/hgext3rd/evolve/__init__.py Sun Jul 23 04:54:42 2017 +0200 @@ -2751,7 +2751,7 @@ wlock = repo.wlock() lock = repo.lock() - root, head = _foldcheck(repo, revs) + root, head = rewriteutil.foldcheck(repo, revs) tr = repo.transaction('fold') try: @@ -2845,7 +2845,7 @@ 'not currently supported')) if opts['fold']: - root, head = _foldcheck(repo, revs) + root, head = rewriteutil.foldcheck(repo, revs) else: if repo.revs("%ld and public()", revs): raise error.Abort(_('cannot edit commit information for public ' @@ -2906,25 +2906,6 @@ finally: lockmod.release(lock, wlock) -def _foldcheck(repo, revs): - roots = repo.revs('roots(%ld)', revs) - if len(roots) > 1: - raise error.Abort(_("cannot fold non-linear revisions " - "(multiple roots given)")) - root = repo[roots.first()] - if root.phase() <= phases.public: - raise error.Abort(_("cannot fold public revisions")) - heads = repo.revs('heads(%ld)', revs) - if len(heads) > 1: - raise error.Abort(_("cannot fold non-linear revisions " - "(multiple heads given)")) - head = repo[heads.first()] - if rewriteutil.disallowednewunstable(repo, revs): - msg = _("cannot fold chain not ending with a head or with branching") - hint = _("new unstable changesets are not allowed") - raise error.Abort(msg, hint=hint) - return root, head - @eh.wrapcommand('graft') def graftwrapper(orig, ui, repo, *revs, **kwargs): kwargs = dict(kwargs)
--- a/hgext3rd/evolve/rewriteutil.py Sun Jul 23 04:46:33 2017 +0200 +++ b/hgext3rd/evolve/rewriteutil.py Sun Jul 23 04:54:42 2017 +0200 @@ -12,10 +12,14 @@ # commands). from mercurial import ( + error, obsolete, + phases, revset, ) +from mercurial.i18n import _ + from . import ( compat, ) @@ -40,3 +44,23 @@ if allowunstable: return revset.baseset() return repo.revs("(%ld::) - %ld", revs, revs) + +def foldcheck(repo, revs): + """check that <revs> can be folded""" + roots = repo.revs('roots(%ld)', revs) + if len(roots) > 1: + raise error.Abort(_("cannot fold non-linear revisions " + "(multiple roots given)")) + root = repo[roots.first()] + if root.phase() <= phases.public: + raise error.Abort(_("cannot fold public revisions")) + heads = repo.revs('heads(%ld)', revs) + if len(heads) > 1: + raise error.Abort(_("cannot fold non-linear revisions " + "(multiple heads given)")) + head = repo[heads.first()] + if disallowednewunstable(repo, revs): + msg = _("cannot fold chain not ending with a head or with branching") + hint = _("new unstable changesets are not allowed") + raise error.Abort(msg, hint=hint) + return root, head