##// END OF EJS Templates
Add a features list to branches.cache to detect caches of old hg versions....
Add a features list to branches.cache to detect caches of old hg versions. The leading space in the written file makes sure that the feature list never can match an existing version, even if the first feature can be read as hex. Additionally old hg versions display the id with --debug, too.

File last commit:

r4101:e2ed92f4 default
r4168:bbfe5a3f default
Show More
test-mq
305 lines | 4.4 KiB | text/plain | TextLexer
Vadim Gelfer
mq: add basic tests
r2729 #!/bin/sh
Thomas Arendsen Hein
Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc...
r2990 echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
Vadim Gelfer
mq: add basic tests
r2729
echo % help
hg help mq
hg init a
cd a
echo a > a
Vadim Gelfer
mq: do not allow to push from repo with patches applied
r2848 hg ci -Ama
hg clone . ../k
Vadim Gelfer
mq: add basic tests
r2729 mkdir b
echo z > b/z
hg ci -Ama
echo % qinit
hg qinit
cd ..
hg init b
echo % -R qinit
hg -R b qinit
hg init c
echo % qinit -c
hg --cwd c qinit -c
hg -R c/.hg/patches st
echo % qnew implies add
hg -R c qnew test.patch
hg -R c/.hg/patches st
cd a
echo % qnew -m
hg qnew -m 'foo bar' test.patch
cat .hg/patches/test.patch
echo % qrefresh
echo a >> a
hg qrefresh
Danek Duvall
Fix some tests for portability.
r2843 sed -e "s/^\(diff -r \)\([a-f0-9]* \)/\1 x/" \
Vadim Gelfer
mq: add basic tests
r2729 -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" .hg/patches/test.patch
echo % qpop
hg qpop
echo % qpush
hg qpush
cd ..
echo % pop/push outside repo
hg -R a qpop
hg -R a qpush
cd a
hg qnew test2.patch
echo % qrefresh in subdir
cd b
echo a > a
hg add a
hg qrefresh
echo % pop/push -a in subdir
hg qpop -a
hg --traceback qpush -a
echo % qseries
hg qseries
Alexis S. L. Carvalho
fix qseries -v when there are unapplied patches
r3681 hg qpop
hg qseries -vs
hg qpush
Vadim Gelfer
mq: add basic tests
r2729
echo % qapplied
hg qapplied
echo % qtop
hg qtop
echo % qprev
hg qprev
echo % qnext
hg qnext
echo % pop, qnext, qprev, qapplied
hg qpop
hg qnext
hg qprev
hg qapplied
Vadim Gelfer
mq: test commit in repo with patches applied
r2846 echo % commit should fail
hg commit
Vadim Gelfer
mq: do not allow to push from repo with patches applied
r2848 echo % push should fail
hg push ../../k
Vadim Gelfer
mq: add basic tests
r2729 echo % qunapplied
hg qunapplied
Thomas Arendsen Hein
Added tests for qpush/qpop with index.
r3081 echo % qpush/qpop with index
hg qnew test1b.patch
echo 1b > 1b
hg add 1b
hg qrefresh
hg qpush 2
hg qpop 0
hg qpush test.patch+1
hg qpush test.patch+2
hg qpop test2.patch-1
hg qpop test2.patch-2
hg qpush test1b.patch+1
Vadim Gelfer
mq: do not allow to push from repo with patches applied
r2848 echo % push should succeed
hg qpop -a
hg push ../../k
Vadim Gelfer
mq: add basic tests
r2729 echo % strip
cd ../../b
echo x>x
hg ci -Ama
hg strip tip 2>&1 | sed 's/\(saving bundle to \).*/\1/'
hg unbundle .hg/strip-backup/*
Brendan Cully
Teach mq about git patches
r2934
Brendan Cully
Call patch.diff directly instead of printdiff - this also saves an...
r3027 echo '% cd b; hg qrefresh'
hg init refresh
cd refresh
echo a > a
hg ci -Ama -d'0 0'
hg qnew -mfoo foo
echo a >> a
hg qrefresh
mkdir b
cd b
echo f > f
hg add f
hg qrefresh
sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" ../.hg/patches/foo
echo % hg qrefresh .
hg qrefresh .
sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" ../.hg/patches/foo
hg status
Brendan Cully
Test case for bdiff on buffer objects
r3334 echo % qpush failure
cd ..
hg qrefresh
hg qnew -mbar bar
echo foo > foo
Brendan Cully
mq: test case for issue399
r3464 echo bar > bar
hg add foo bar
Brendan Cully
Test case for bdiff on buffer objects
r3334 hg qrefresh
hg qpop -a
echo bar > foo
hg qpush -a
Brendan Cully
mq: test case for issue399
r3464 hg st
Brendan Cully
Test case for bdiff on buffer objects
r3334
Thomas Arendsen Hein
Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc...
r2990 cat >>$HGRCPATH <<EOF
Brendan Cully
Teach mq about git patches
r2934 [diff]
git = True
EOF
cd ..
hg init git
cd git
hg qinit
hg qnew -m'new file' new
echo foo > new
chmod +x new
hg add new
hg qrefresh
Brendan Cully
sed portability fixes
r2935 sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" .hg/patches/new
Brendan Cully
Teach mq about git patches
r2934
hg qnew -m'copy file' copy
hg cp new copy
hg qrefresh
Brendan Cully
sed portability fixes
r2935 sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" .hg/patches/copy
Brendan Cully
Teach mq about git patches
r2934
hg qpop
hg qpush
hg qdiff
Alexis S. L. Carvalho
add --git option to qdiff
r3697 cat >>$HGRCPATH <<EOF
[diff]
git = False
EOF
hg qdiff --git
Alexis S. L. Carvalho
qrefresh: fix handling of added files (including copies) in the slow path
r3699
cd ..
hg init slow
cd slow
hg qinit
echo foo > foo
hg add foo
hg ci -m 'add foo'
hg qnew bar
echo bar > bar
hg add bar
hg mv foo baz
hg qrefresh --git
hg up -C 0
echo >> foo
hg ci -m 'change foo'
hg up -C 1
hg qrefresh --git 2>&1 | grep -v 'saving bundle'
cat .hg/patches/bar
hg log -vC --template '{rev} {file_copies%filecopy}\n' -r .
Alexis S. L. Carvalho
qrefresh: fix handling of copies in the fast path
r3700 hg qrefresh --git
cat .hg/patches/bar
hg log -vC --template '{rev} {file_copies%filecopy}\n' -r .
Alexis S. L. Carvalho
qrefresh: fix handling of added files (including copies) in the slow path
r3699
echo
hg up -C 1
echo >> foo
hg ci -m 'change foo again'
hg up -C 2
hg mv bar quux
hg mv baz bleh
hg qrefresh --git 2>&1 | grep -v 'saving bundle'
cat .hg/patches/bar
hg log -vC --template '{rev} {file_copies%filecopy}\n' -r .
Alexis S. L. Carvalho
qrefresh: fix handling of copies in the fast path
r3700 hg mv quux fred
hg mv bleh barney
hg qrefresh --git
cat .hg/patches/bar
hg log -vC --template '{rev} {file_copies%filecopy}\n' -r .
Alexis S. L. Carvalho
fix strip'ping the second parent of a merge
r4065
echo '% strip again'
cd ..
hg init strip
cd strip
touch foo
hg add foo
hg ci -m 'add foo' -d '0 0'
echo >> foo
hg ci -m 'change foo 1' -d '0 0'
hg up -C 0
echo 1 >> foo
hg ci -m 'change foo 2' -d '0 0'
HGMERGE=true hg merge
hg ci -m merge -d '0 0'
hg log
hg strip 1 2>&1 | sed 's/\(saving bundle to \).*/\1/'
hg log
Alexis S. L. Carvalho
qclone: don't call reposetup manually
r4090 cd ..
Alexis S. L. Carvalho
fix strip'ping the second parent of a merge
r4065
Alexis S. L. Carvalho
qclone: don't call reposetup manually
r4090 echo '% qclone'
qlog()
{
echo 'main repo:'
hg log --template ' rev {rev}: {desc}\n'
echo 'patch repo:'
hg -R .hg/patches log --template ' rev {rev}: {desc}\n'
}
hg init qclonesource
cd qclonesource
echo foo > foo
hg add foo
hg ci -m 'add foo'
hg qinit -c
hg qnew patch1
echo bar >> foo
hg qrefresh -m 'change foo'
hg qci -m checkpoint
qlog
cd ..
# repo with patches applied
hg qclone qclonesource qclonedest
cd qclonedest
qlog
cd ..
# repo with patches unapplied
cd qclonesource
hg qpop -a
qlog
cd ..
hg qclone qclonesource qclonedest2
cd qclonedest2
qlog
cd ..