test-mq-qrefresh
168 lines
| 4.0 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 .. | |
# Test qrefresh --git losing copy metadata | |||
echo % create test repo | |||
hg init repo | |||
cd repo | |||
Patrick Mezard
|
r7566 | echo "[diff]" >> .hg/hgrc | |
echo "git=True" >> .hg/hgrc | |||
Patrick Mezard
|
r6801 | 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 .. | |||
Patrick Mezard
|
r7566 | # Test issue 1441: qrefresh confused after hg rename | |
echo % issue1441 without git patches | |||
hg init repo-1441 | |||
cd repo-1441 | |||
echo a > a | |||
hg add a | |||
hg qnew -f p | |||
hg mv a b | |||
hg qrefresh | |||
hg qdiff --nodates | |||
cd .. | |||
echo % issue1441 with git patches | |||
hg init repo-1441-git | |||
cd repo-1441-git | |||
echo "[diff]" >> .hg/hgrc | |||
echo "git=True" >> .hg/hgrc | |||
echo a > a | |||
hg add a | |||
hg qnew -f p | |||
hg mv a b | |||
hg qrefresh | |||
hg qdiff --nodates | |||
cd .. |