tests/test-context-metadata.t
author Joerg Sonnenberger <joerg@bec.de>
Fri, 30 Apr 2021 02:11:58 +0200
changeset 47043 12450fbea288
parent 40303 b8db53f786f0
child 48876 42d2b31cee0b
permissions -rw-r--r--
manifests: push down expected node length into the parser This strictly enforces the node length in the manifest lines according to what the repository expects. One test case moves large hash testing into the non-treemanifest part as treemanifests don't provide an interface for overriding just the node length for now. Differential Revision: https://phab.mercurial-scm.org/D10533
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
36048
194463554ba5 py3: port metaedit extension to Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34061
diff changeset
    16
  > from mercurial import context, pycompat, registrar
33999
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)
36048
194463554ba5 py3: port metaedit extension to Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34061
diff changeset
    19
  > @command(b'metaedit')
33999
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"
36048
194463554ba5 py3: port metaedit extension to Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34061
diff changeset
    22
  >     with repo.wlock(), repo.lock(), repo.transaction(b'metaedit'):
194463554ba5 py3: port metaedit extension to Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34061
diff changeset
    23
  >         old = repo[b'.']
194463554ba5 py3: port metaedit extension to Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34061
diff changeset
    24
  >         kwargs = dict(s.split(b'=', 1) for s in arg.split(b';'))
40303
b8db53f786f0 tests: add missing b prefix in test-context-metadata.t
Augie Fackler <augie@google.com>
parents: 37851
diff changeset
    25
  >         if b'parents' in kwargs:
37851
8327fd79adf8 tests: pass parent revision as integer to repo[x] in test-context-metadata.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 36048
diff changeset
    26
  >             kwargs[b'parents'] = map(int, kwargs[b'parents'].split(b','))
36048
194463554ba5 py3: port metaedit extension to Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34061
diff changeset
    27
  >         new = context.metadataonlyctx(repo, old,
194463554ba5 py3: port metaedit extension to Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34061
diff changeset
    28
  >                                       **pycompat.strkwargs(kwargs))
33999
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    29
  >         new.commit()
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    30
  > EOF
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    31
  $ 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
    32
  $ hg log -r tip
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    33
  changeset:   3:ad83e9e00ec9
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    34
  tag:         tip
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    35
  parent:      1:3afb7afe6632
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    36
  user:        test
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    37
  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
    38
  summary:     Changed
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    39
  
34061
11499bad0359 check-code: forbid "\S" in egrep regular expression
Jun Wu <quark@fb.com>
parents: 33999
diff changeset
    40
  $ 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
    41
  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
    42
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    43
  $ 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
    44
  $ hg log -r tip
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    45
  changeset:   4:1f86eaeca92b
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    46
  tag:         tip
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    47
  parent:      1:3afb7afe6632
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    48
  user:        foo <foo@example.com>
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    49
  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
    50
  summary:     Remove A
be814edf3306 metadataonlyctx: don't crash when reusing the manifest with deletions
Jun Wu <quark@fb.com>
parents:
diff changeset
    51