Mercurial > hg
view tests/test-context-metadata.t @ 35010:b81ad5b78a81
obsfate: makes successorsetverb takes the markers as argument
Right now, successorsetverb only needs successors to compute the verb. But we
will want use additional information (effect-flags and operation) in the near
future to compute a better verb.
Add the markers parameter now so extensions (like Evolve) could wrap the
function and start experimenting around better obsfate verbs.
As successorsetverb now takes both successorset and markers parameters, rename
it to obsfateverb, successorsetandmarkersverb was too long.
Differential Revision: https://phab.mercurial-scm.org/D1191
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Thu, 19 Oct 2017 12:35:47 +0200 |
parents | 11499bad0359 |
children | 194463554ba5 |
line wrap: on
line source
Tests about metadataonlyctx $ hg init $ echo A > A $ hg commit -A A -m 'Add A' $ echo B > B $ hg commit -A B -m 'Add B' $ hg rm A $ echo C > C $ echo B2 > B $ hg add C -q $ hg commit -m 'Remove A' $ cat > metaedit.py <<EOF > from __future__ import absolute_import > from mercurial import context, registrar > cmdtable = {} > command = registrar.command(cmdtable) > @command('metaedit') > def metaedit(ui, repo, arg): > # Modify commit message to "FOO" > with repo.wlock(), repo.lock(), repo.transaction('metaedit'): > old = repo['.'] > kwargs = dict(s.split('=', 1) for s in arg.split(';')) > if 'parents' in kwargs: > kwargs['parents'] = kwargs['parents'].split(',') > new = context.metadataonlyctx(repo, old, **kwargs) > new.commit() > EOF $ hg --config extensions.metaedit=$TESTTMP/metaedit.py metaedit 'text=Changed' $ hg log -r tip changeset: 3:ad83e9e00ec9 tag: tip parent: 1:3afb7afe6632 user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: Changed $ hg --config extensions.metaedit=$TESTTMP/metaedit.py metaedit 'parents=0' 2>&1 | egrep '^RuntimeError' RuntimeError: can't reuse the manifest: its p1 doesn't match the new ctx p1 $ hg --config extensions.metaedit=$TESTTMP/metaedit.py metaedit 'user=foo <foo@example.com>' $ hg log -r tip changeset: 4:1f86eaeca92b tag: tip parent: 1:3afb7afe6632 user: foo <foo@example.com> date: Thu Jan 01 00:00:00 1970 +0000 summary: Remove A