##// END OF EJS Templates
typing: add stub functions for `cext/charencoding`...
typing: add stub functions for `cext/charencoding` I'm not sure if it's better to have a separate file, and currently pytype doesn't really know how to handle these, so it's no help in figuring that out. Technically, these methods are part of the `mercurial.cext.parsers` module, so put them into the existing stub until there's a reason to split it out.

File last commit:

r45884:6c562773 default
r52834:e58f02e2 default
Show More
test-convert-identity.t
41 lines | 1.4 KiB | text/troff | Tads3Lexer
/ tests / test-convert-identity.t
Testing that convert.hg.preserve-hash=true can be used to make hg
convert from hg repo to hg repo preserve hashes, even if the
computation of the files list in commits change slightly between hg
versions.
$ cat <<'EOF' >> "$HGRCPATH"
> [extensions]
> convert =
> EOF
$ cat <<'EOF' > changefileslist.py
> from mercurial import (changelog, extensions, metadata)
> def wrap(orig, clog, manifest, files, *args, **kwargs):
> files = metadata.ChangingFiles(touched=[b"a"])
> return orig(clog, manifest, files, *args, **kwargs)
> def extsetup(ui):
> extensions.wrapfunction(changelog.changelog, 'add', wrap)
> EOF
$ hg init repo
$ cd repo
$ echo a > a; hg commit -qAm a
$ echo b > a; hg commit -qAm b
$ hg up -qr 0; echo c > c; hg commit -qAm c
$ hg merge -qr 1
$ hg commit -m_ --config extensions.x=../changefileslist.py
$ hg log -r . -T '{node|short} {files|json}\n'
c085bbe93d59 ["a"]
Now that we have a commit with a files list that's not what the
current hg version would create, check that convert either fixes it or
keeps it depending on config:
$ hg convert -q . ../convert
$ hg --cwd ../convert log -r tip -T '{node|short} {files|json}\n'
b7c4d4bbacd3 []
$ rm -rf ../convert
$ hg convert -q . ../convert --config convert.hg.preserve-hash=true
$ hg --cwd ../convert log -r tip -T '{node|short} {files|json}\n'
c085bbe93d59 ["a"]
$ rm -rf ../convert