sapling/eden/scm/tests/test-context-metadata.t
Muir Manders 1dcb7966fc tests: turn on eagerepo for a bunch of tests
Summary: These are the tests that passed after adding "$ eagerepo". I attempted to turn on eagerepo for all tests that didn't contain "$ eagerepo" or "configure modern".

Reviewed By: quark-zju

Differential Revision: D44445379

fbshipit-source-id: b283be6d5249f74e11a3205622961e457587e93b
2023-04-04 08:42:03 -07:00

52 lines
1.6 KiB
Perl

#chg-compatible
#debugruntest-compatible
$ eagerepo
$ setconfig devel.segmented-changelog-rev-compat=true
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 edenscm 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
commit: ad83e9e00ec9
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: new p1 manifest (007d8c9d88841325f5c6b06371b35b4e8a2b1a83) is not the old p1 manifest (cb5cbbc1bfbf24cc34b9e8c16914e9caa2d2a7fd)
$ hg --config extensions.metaedit=$TESTTMP/metaedit.py metaedit 'user=foo <foo@example.com>'
$ hg log -r tip
commit: 1f86eaeca92b
user: foo <foo@example.com>
date: Thu Jan 01 00:00:00 1970 +0000
summary: Remove A