view tests/test-convert-identity.t @ 43506:9f70512ae2cf

cleanup: remove pointless r-prefixes on single-quoted strings This is the promised second step on single-quoted strings. These had existed because our source transformer didn't turn r'' into b'', so we had tagged some strings as r-strings to get "native" strings on both Pythons. Now that the transformer is gone, we can dispense with this nonsense. Methodology: I ran hg locate 'set:added() or modified() or clean()' | egrep '.*\.py$' | xargs egrep --color=never -n -- \[\^b\]\[\^a-z\]r\'\[\^\'\\\\\]\*\'\[\^\'\ in an emacs grep-mode buffer, and then used a keyboard macro to iterate over the results and remove the r prefix as needed. # skip-blame removing unneeded r prefixes left over from Python 3 migration. Differential Revision: https://phab.mercurial-scm.org/D7306
author Augie Fackler <augie@google.com>
date Fri, 08 Nov 2019 11:19:20 -0800
parents a2c02877b097
children 6c56277317c2
line wrap: on
line source

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)
  > def wrap(orig, clog, manifest, files, *args, **kwargs):
  >   return orig(clog, manifest, [b"a"], *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