Mercurial > hg
view tests/test-parentrevspec @ 10914:b7ca37b90762 stable
revlog: fix lazyparser.__iter__() to return all revisions (issue2137)
Previously, it only returned revisions that were in the revlog when it
was originally opened; revisions added since then were invisible.
This broke revlog._partialmatch() and therefore repo.lookup().
(Credit to Benoit Boissinot for simplifying my original test script
and for the actual fix.)
author | Greg Ward <greg-hg@gerg.ca> |
---|---|
date | Wed, 14 Apr 2010 15:06:40 -0400 |
parents | bb5ea66789e3 |
children |
line wrap: on
line source
#!/bin/sh commit() { msg=$1 p1=$2 p2=$3 if [ "$p1" ]; then hg up -qC $p1 fi if [ "$p2" ]; then HGMERGE=true hg merge -q $p2 fi echo >> foo hg commit -qAm "$msg" } hg init repo cd repo echo '[extensions]' > .hg/hgrc echo 'parentrevspec =' >> .hg/hgrc commit '0: add foo' commit '1: change foo 1' commit '2: change foo 2a' commit '3: change foo 3a' commit '4: change foo 2b' 1 commit '5: merge' 3 4 commit '6: change foo again' hg log --template '{rev}:{node|short} {parents}\n' echo lookup() { for rev in "$@"; do printf "$rev: " hg id -nr $rev done true } tipnode=`hg id -ir tip` echo 'should work with tag/branch/node/rev' for r in tip default $tipnode 6; do lookup "$r^" done echo echo 'some random lookups' lookup "6^^" "6^^^" "6^^^^" "6^^^^^" "6^^^^^^" "6^1" "6^2" "6^^2" "6^1^2" "6^^3" lookup "6~" "6~1" "6~2" "6~3" "6~4" "6~5" "6~42" "6~1^2" "6~1^2~2" echo echo 'with a tag "6^" pointing to rev 1' hg tag -l -r 1 "6^" lookup "6^" "6^1" "6~1" "6^^" echo echo 'with a tag "foo^bar" pointing to rev 2' hg tag -l -r 2 "foo^bar" lookup "foo^bar" "foo^bar^"