tests/test-issue2137.t
changeset 12204 c55d69c5fb77
parent 11072 6bbe4886740e
child 12328 b63f6422d2a7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-issue2137.t	Fri Sep 10 17:59:17 2010 +0200
@@ -0,0 +1,56 @@
+# http://mercurial.selenic.com/bts/issue2137
+
+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 <<EOF
+  > from mercurial import extensions, node, revlog
+  > 
+  > def reposetup(ui, repo):
+  >     def wrapcommit(orig, *args, **kwargs):
+  >         result = orig(*args, **kwargs)
+  >         tip1 = node.short(repo.changelog.tip())
+  >         tip2 = node.short(repo.lookup(tip1))
+  >         assert tip1 == tip2
+  >         ui.write('new tip: %s\n' % tip1)
+  >         return result
+  > 
+  >     extensions.wrapfunction(repo, 'commit', wrapcommit)
+  > 
+  > def extsetup(ui):
+  >     revlog._maxinline = 8             # split out 00changelog.d early
+  >     revlog._prereadsize = 8           # use revlog.lazyparser
+  > EOF
+
+  $ cat >> $HGRCPATH <<EOF
+  > [extensions]
+  > commitwrapper = `pwd`/commitwrapper.py
+  > EOF
+
+  $ hg init repo1
+  $ cd repo1
+  $ echo a > a
+  $ hg commit -A -m'add a with a long commit message to make the changelog a bit bigger'
+  adding a
+  new tip: 553596fad57b
+
+
+Test that new changesets are visible to repo.lookup():
+
+  $ echo a >> a
+  $ hg commit -m'one more commit to demonstrate the bug'
+  new tip: 799ae3599e0e
+
+  $ hg tip
+  changeset:   1:799ae3599e0e
+  tag:         tip
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     one more commit to demonstrate the bug
+  
+