Mercurial > hg > mercurial-source
changeset 23874:7aa1405528a3
branchcache: add debug output whenever cache files use truncate
The cache files are usually append only but will automatically be truncated and
recover in exceptional situations. Add a debug notice when such exceptional
situations are encountered.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Wed, 14 Jan 2015 01:15:26 +0100 |
parents | 01426cad66dc |
children | 669106fc5bb1 |
files | mercurial/branchmap.py tests/test-branches.t tests/test-rebase-conflicts.t |
diffstat | 3 files changed, 6 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/branchmap.py +++ b/mercurial/branchmap.py @@ -414,6 +414,7 @@ f.write('\0') else: f.close() + repo.ui.debug("%s changed - rewriting it\n" % _rbcnames) self._rbcnamescount = 0 self._rbcrevslen = 0 if self._rbcnamescount == 0: @@ -438,6 +439,7 @@ # see issue3543. SEEK_END was added in 2.5 f.seek(0, 2) #os.SEEK_END if f.tell() != start: + repo.ui.debug("truncating %s to %s\n" % (_rbcrevs, start)) f.seek(start) f.truncate() end = self._rbcrevslen * _rbcrecsize
--- a/tests/test-branches.t +++ b/tests/test-branches.t @@ -550,6 +550,7 @@ recovery from invalid cache revs file with trailing data $ echo >> .hg/cache/rbc-revs-v1 $ rm -f .hg/cache/branch* && hg head a -T '{rev}\n' --debug + truncating cache/rbc-revs-v1 to 120 5 $ f --size .hg/cache/rbc-revs* .hg/cache/rbc-revs-v1: size=120 @@ -559,6 +560,7 @@ $ f --size .hg/cache/rbc-revs* .hg/cache/rbc-revs-v1: size=119 $ rm -f .hg/cache/branch* && hg head a -T '{rev}\n' --debug + truncating cache/rbc-revs-v1 to 112 5 $ f --size .hg/cache/rbc-revs* .hg/cache/rbc-revs-v1: size=120 @@ -580,6 +582,7 @@ $ hg log -r 'branch(.)' -T '{rev} ' 3 4 8 9 10 11 12 13 (no-eol) $ rm -f .hg/cache/branch* && hg head a -T '{rev}\n' --debug + truncating cache/rbc-revs-v1 to 8 5 $ f --size --hexdump --bytes=16 .hg/cache/rbc-revs* .hg/cache/rbc-revs-v1: size=120