view tests/test-issue2137 @ 11715:4f9dfb54c8b5 stable

qpush --move: move the right patch even with comment lines 88fc876a4833 caused that we find the index of the moving patch in self.series but look it up in self.full_series. The difference between these is that full_series also contains comment lines, and we thus moved the wrong patch. Use back self.full_series to find the moving patch, but take care of striping the patch guard markers before comparing the patch name. Test cases have been added for comments and empty lines in self.full_series, and for the case of guarded patches. Original patch contributed by Mads Kiilerich <mads@kiilerich.com>
author Gilles Moris <gilles.moris@free.fr>
date Sat, 10 Jul 2010 21:23:00 +0200
parents 6bbe4886740e
children
line wrap: on
line source

#!/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 <<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'

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