##// END OF EJS Templates
tests: add test showing crash when shelving ghosted rename target...
tests: add test showing crash when shelving ghosted rename target When you `hg rename` a file and then delete the rename target, `hg shelve` will give you a traceback. Note that the shelve succeeds and the shelve is correct, it's just the update to the parent that fails (i.e. to the parent of the commit that was created for the shelve). This can be squashed into the next commit if the reviewer prefers. Differential Revision: https://phab.mercurial-scm.org/D8045

File last commit:

r44288:ba84a1ae default
r44690:ae4d729e default
Show More
revlog_corpus.py
25 lines | 852 B | text/x-python | PythonLexer
from __future__ import absolute_import
import argparse
import os
import zipfile
ap = argparse.ArgumentParser()
ap.add_argument("out", metavar="some.zip", type=str, nargs=1)
args = ap.parse_args()
reporoot = os.path.normpath(os.path.join(os.path.dirname(__file__), '..', '..'))
# typically a standalone index
changelog = os.path.join(reporoot, '.hg', 'store', '00changelog.i')
# an inline revlog with only a few revisions
contributing = os.path.join(
reporoot, '.hg', 'store', 'data', 'contrib', 'fuzz', 'mpatch.cc.i'
)
with zipfile.ZipFile(args.out[0], "w", zipfile.ZIP_STORED) as zf:
if os.path.exists(changelog):
with open(changelog, 'rb') as f:
zf.writestr("00changelog.i", f.read())
if os.path.exists(contributing):
with open(contributing, 'rb') as f:
zf.writestr("contributing.i", f.read())