# HG changeset patch # User Benoit Boissinot # Date 1271332361 -7200 # Node ID c9543bc6be165503ad4be2c710f975d4d6ad55dd # Parent 3d7c20986027ab30de5df719a3d7386913c37830# Parent b7ca37b90762a3bb1e5600460b115b77f70e6a06 merge with stable diff -r 3d7c20986027 -r c9543bc6be16 mercurial/revlog.py --- a/mercurial/revlog.py Wed Apr 14 19:49:06 2010 +0200 +++ b/mercurial/revlog.py Thu Apr 15 13:52:41 2010 +0200 @@ -294,8 +294,7 @@ return key in self.p.map def __iter__(self): yield nullid - for i in xrange(self.p.l): - ret = self.p.index[i] + for i, ret in enumerate(self.p.index): if not ret: self.p.loadindex(i) ret = self.p.index[i] diff -r 3d7c20986027 -r c9543bc6be16 tests/test-issue2137 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-issue2137 Thu Apr 15 13:52:41 2010 +0200 @@ -0,0 +1,52 @@ +#!/bin/sh + +echo "% setup" + +# create a little extension that has 3 side-effects: +# 1) ensure changelog data is not inlined +# 2) make revlog to use lazyparser +# 3) test that repo.lookup() works +# 1 and 2 are preconditions for the bug; 3 is the bug. +cat > commitwrapper.py <> $HGRCPATH < a +hg commit -A -m'add a with a long commit message to make the changelog a bit bigger' + +# This commit puts 00changelog.i over the 128-byte threshold to split +# out 00changelog.d, which is a precondition for reproducing the bug +# with the next commit. +echo b > b +hg commit -A -m'add b and ramble on a bit here too for the same reason' + +echo "" +echo "% test that new changesets are visible to repo.lookup()" +echo a >> a +hg commit -m'one more commit to demonstrate the bug' +hg tip diff -r 3d7c20986027 -r c9543bc6be16 tests/test-issue2137.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-issue2137.out Thu Apr 15 13:52:41 2010 +0200 @@ -0,0 +1,14 @@ +% setup +adding a +new tip: 685c8b50a4fa +adding b +new tip: 0dc3f194257e + +% test that new changesets are visible to repo.lookup() +new tip: 76721648e605 +changeset: 2:76721648e605 +tag: tip +user: test test test test test test test test test test test +date: Thu Jan 01 00:00:00 1970 +0000 +summary: one more commit to demonstrate the bug +