author | Anton Shestakov <av6@dwimlabs.net> |
Fri, 08 Dec 2017 22:27:14 +0800 | |
changeset 35314 | 1fe3c8296cfe |
parent 34061 | 11499bad0359 |
child 36048 | 194463554ba5 |
permissions | -rw-r--r-- |
33999
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
1 |
Tests about metadataonlyctx |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
2 |
|
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
3 |
$ hg init |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
4 |
$ echo A > A |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
5 |
$ hg commit -A A -m 'Add A' |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
6 |
$ echo B > B |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
7 |
$ hg commit -A B -m 'Add B' |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
8 |
$ hg rm A |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
9 |
$ echo C > C |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
10 |
$ echo B2 > B |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
11 |
$ hg add C -q |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
12 |
$ hg commit -m 'Remove A' |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
13 |
|
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
14 |
$ cat > metaedit.py <<EOF |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
15 |
> from __future__ import absolute_import |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
16 |
> from mercurial import context, registrar |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
17 |
> cmdtable = {} |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
18 |
> command = registrar.command(cmdtable) |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
19 |
> @command('metaedit') |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
20 |
> def metaedit(ui, repo, arg): |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
21 |
> # Modify commit message to "FOO" |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
22 |
> with repo.wlock(), repo.lock(), repo.transaction('metaedit'): |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
23 |
> old = repo['.'] |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
24 |
> kwargs = dict(s.split('=', 1) for s in arg.split(';')) |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
25 |
> if 'parents' in kwargs: |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
26 |
> kwargs['parents'] = kwargs['parents'].split(',') |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
27 |
> new = context.metadataonlyctx(repo, old, **kwargs) |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
28 |
> new.commit() |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
29 |
> EOF |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
30 |
$ hg --config extensions.metaedit=$TESTTMP/metaedit.py metaedit 'text=Changed' |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
31 |
$ hg log -r tip |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
32 |
changeset: 3:ad83e9e00ec9 |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
33 |
tag: tip |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
34 |
parent: 1:3afb7afe6632 |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
35 |
user: test |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
36 |
date: Thu Jan 01 00:00:00 1970 +0000 |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
37 |
summary: Changed |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
38 |
|
34061
11499bad0359
check-code: forbid "\S" in egrep regular expression
Jun Wu <quark@fb.com>
parents:
33999
diff
changeset
|
39 |
$ hg --config extensions.metaedit=$TESTTMP/metaedit.py metaedit 'parents=0' 2>&1 | egrep '^RuntimeError' |
33999
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
40 |
RuntimeError: can't reuse the manifest: its p1 doesn't match the new ctx p1 |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
41 |
|
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
42 |
$ hg --config extensions.metaedit=$TESTTMP/metaedit.py metaedit 'user=foo <foo@example.com>' |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
43 |
$ hg log -r tip |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
44 |
changeset: 4:1f86eaeca92b |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
45 |
tag: tip |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
46 |
parent: 1:3afb7afe6632 |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
47 |
user: foo <foo@example.com> |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
48 |
date: Thu Jan 01 00:00:00 1970 +0000 |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
49 |
summary: Remove A |
be814edf3306
metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff
changeset
|
50 |