test-mq-qrefresh
148 lines
| 3.6 KiB
| text/plain
|
TextLexer
/ tests / test-mq-qrefresh
Giorgos Keramidas
|
r3136 | #!/bin/sh | ||
echo "[extensions]" >> $HGRCPATH | ||||
echo "mq=" >> $HGRCPATH | ||||
echo % init | ||||
hg init a | ||||
cd a | ||||
echo % commit | ||||
mkdir 1 2 | ||||
echo 'base' > 1/base | ||||
echo 'base' > 2/base | ||||
hg ci -Ambase -d '1 0' | ||||
echo % qnew mqbase | ||||
hg qnew -mmqbase mqbase | ||||
echo % qrefresh | ||||
echo 'patched' > 1/base | ||||
echo 'patched' > 2/base | ||||
hg qrefresh | ||||
echo % qdiff | ||||
hg qdiff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | ||||
echo % qdiff dirname | ||||
hg qdiff . | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | ||||
echo % patch file contents | ||||
cat .hg/patches/mqbase | \ | ||||
sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | ||||
echo % qrefresh 1 | ||||
echo 'patched again' > base | ||||
hg qrefresh 1 | ||||
echo % qdiff | ||||
hg qdiff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | ||||
echo % qdiff dirname | ||||
hg qdiff . | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | ||||
echo % patch file contents | ||||
cat .hg/patches/mqbase | \ | ||||
sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | ||||
echo % qrefresh . in subdir | ||||
( cd 1 ; hg qrefresh . ) | ||||
echo % qdiff | ||||
hg qdiff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | ||||
echo % qdiff dirname | ||||
hg qdiff . | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | ||||
echo % patch file contents | ||||
cat .hg/patches/mqbase | \ | ||||
sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | ||||
echo % qrefresh in hg-root again | ||||
hg qrefresh | ||||
echo % qdiff | ||||
hg qdiff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | ||||
echo % qdiff dirname | ||||
hg qdiff . | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | ||||
echo % patch file contents | ||||
cat .hg/patches/mqbase | \ | ||||
sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | ||||
Mads Kiilerich
|
r7113 | |||
Mads Kiilerich
|
r7177 | echo | ||
echo % qrefresh --short tests: | ||||
Mads Kiilerich
|
r7113 | echo 'orphan' > orphanchild | ||
hg add orphanchild | ||||
Mads Kiilerich
|
r7177 | |||
echo % - add 1/base and 2/base one by one | ||||
hg qrefresh nonexistingfilename # clear patch | ||||
Mads Kiilerich
|
r7113 | hg qrefresh --short 1/base | ||
hg qrefresh --short 2/base | ||||
Mads Kiilerich
|
r7177 | echo % -- qdiff output | ||
Mads Kiilerich
|
r7113 | hg qdiff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | ||||
Mads Kiilerich
|
r7177 | echo % -- patch file content | ||
Mads Kiilerich
|
r7113 | cat .hg/patches/mqbase | \ | ||
sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | ||||
Mads Kiilerich
|
r7177 | hg st | ||
Mads Kiilerich
|
r7113 | |||
Mads Kiilerich
|
r7177 | echo % -- diff shows what is not in patch | ||
Mads Kiilerich
|
r7113 | hg diff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" \ | ||||
-e "s/^\(diff\).*/\1/" | ||||
Mads Kiilerich
|
r7177 | echo % - before starting exclusive tests | ||
sed -n '/^diff/s/diff -r [^ ]* //p' .hg/patches/mqbase | ||||
echo % - exclude 2/base | ||||
hg qref -s -X 2/base | ||||
sed -n '/^diff/s/diff -r [^ ]* //p' .hg/patches/mqbase | ||||
echo % -- status shows 2/base as dirty | ||||
hg st | ||||
echo % - remove 1/base and add 2/base again but not orphanchild | ||||
hg qref -s -X orphanchild -X 1/base 2/base orphanchild | ||||
sed -n '/^diff/s/diff -r [^ ]* //p' .hg/patches/mqbase | ||||
echo % - add 1/base with include filter - and thus remove 2/base from patch | ||||
hg qref -s -I 1/ o* */* | ||||
sed -n '/^diff/s/diff -r [^ ]* //p' .hg/patches/mqbase | ||||
echo | ||||
Patrick Mezard
|
r6801 | cd .. | ||
echo "[diff]" >> $HGRCPATH | ||||
echo "git=True" >> $HGRCPATH | ||||
# Test qrefresh --git losing copy metadata | ||||
echo % create test repo | ||||
hg init repo | ||||
cd repo | ||||
echo a > a | ||||
hg ci -Am adda | ||||
hg copy a ab | ||||
echo b >> ab | ||||
hg copy a ac | ||||
echo c >> ac | ||||
echo % capture changes | ||||
hg qnew -f p1 | ||||
hg qdiff | ||||
echo % refresh and check changes again | ||||
hg qref | ||||
hg qdiff | ||||
cd .. | ||||