view tests/test-mq-strip @ 11965:77f1f206e135 stable

mq: don't inherit default and default-push paths with --mq (issue2333) Configuration from the outer repo is inherited to the patches repo when --mq is used. In case the patches repo only has paths.default configured but the outer repo has paths.default-push then the inherited default-push will win. Very confusing. Inheriting the default paths is however wrong in all sane cases, so now we explicitly remove them.
author Mads Kiilerich <mads@kiilerich.com>
date Wed, 18 Aug 2010 02:43:45 +0200
parents 64f284da1278
children e2bce1c717fa
line wrap: on
line source

#!/bin/sh

. $TESTDIR/helpers.sh

echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH

teststrip() {
    hg up -C $1
    echo % before update $1, strip $2
    hg parents
    hg strip $2 | hidebackup
    echo % after update $1, strip $2
    hg parents
    hg unbundle -q .hg/strip-backup/*
    rm .hg/strip-backup/*
}

hg init test
cd test

echo foo > bar
hg ci -Ama

echo more >> bar
hg ci -Amb

echo blah >> bar
hg ci -Amc

hg up 1
echo blah >> bar
hg ci -Amd

echo final >> bar
hg ci -Ame

hg log

teststrip 4 4
teststrip 4 3
teststrip 1 4
teststrip 4 2
teststrip 4 1
teststrip null 4

hg log

hg up -C 2
hg merge 4
echo % before strip of merge parent
hg parents
hg strip 4 2>&1 | hidebackup
echo % after strip of merge parent
hg parents

#strip of applied mq should cleanup status file
hg up -C 3
echo fooagain >> bar
hg ci -mf
hg qimport -r tip:2
echo % applied patches before strip
hg qapplied
echo % stripping revision in queue
hg strip 3 | hidebackup
echo % applied patches after stripping rev in queue
hg qapplied
echo % stripping ancestor of queue
hg strip 1 | hidebackup
echo % applied patches after stripping ancestor of queue
hg qapplied