Mercurial > hg
view contrib/dumprevlog @ 40866:21e7c73af75f
tests: test that narrow preserves bookmarks on widen
When widening inserts older commits in the changelog, we have to
preserve bookmarks so they are not removed by the call to
repair.strip() we temporarily do. We didn't have any tests for that
before.
Differential Revision: https://phab.mercurial-scm.org/D5396
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 06 Dec 2018 10:15:41 -0800 |
parents | a063b84ce064 |
children | 3518da504303 |
line wrap: on
line source
#!/usr/bin/env python # Dump revlogs as raw data stream # $ find .hg/store/ -name "*.i" | xargs dumprevlog > repo.dump from __future__ import absolute_import, print_function import sys from mercurial import ( encoding, node, pycompat, revlog, ) from mercurial.utils import ( procutil, ) for fp in (sys.stdin, sys.stdout, sys.stderr): procutil.setbinary(fp) def binopen(path, mode=b'rb'): if b'b' not in mode: mode = mode + b'b' return open(path, pycompat.sysstr(mode)) def printb(data, end=b'\n'): sys.stdout.flush() pycompat.stdout.write(data + end) for f in sys.argv[1:]: r = revlog.revlog(binopen, encoding.strtolocal(f)) print("file:", f) for i in r: n = r.node(i) p = r.parents(n) d = r.revision(n) printb(b"node: %s" % node.hex(n)) printb(b"linkrev: %d" % r.linkrev(i)) printb(b"parents: %s %s" % (node.hex(p[0]), node.hex(p[1]))) printb(b"length: %d" % len(d)) printb(b"-start-") printb(d) printb(b"-end-")