##// END OF EJS Templates
copies: don't report copies with unrelated branch
copies: don't report copies with unrelated branch

File last commit:

r7566:5f7e3f17 default
r10179:83cfa1ba stable
Show More
test-mq-qrefresh
168 lines | 4.0 KiB | text/plain | TextLexer
Giorgos Keramidas
tests: add new test; test-mq-qrefresh
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
mq: Allow qrefresh --silent to take parameters...
r7113
Mads Kiilerich
mq: Fix --qrefresh --short to work with --exclude and --include...
r7177 echo
echo % qrefresh --short tests:
Mads Kiilerich
mq: Allow qrefresh --silent to take parameters...
r7113 echo 'orphan' > orphanchild
hg add orphanchild
Mads Kiilerich
mq: Fix --qrefresh --short to work with --exclude and --include...
r7177
echo % - add 1/base and 2/base one by one
hg qrefresh nonexistingfilename # clear patch
Mads Kiilerich
mq: Allow qrefresh --silent to take parameters...
r7113 hg qrefresh --short 1/base
hg qrefresh --short 2/base
Mads Kiilerich
mq: Fix --qrefresh --short to work with --exclude and --include...
r7177 echo % -- qdiff output
Mads Kiilerich
mq: Allow qrefresh --silent to take parameters...
r7113 hg qdiff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/"
Mads Kiilerich
mq: Fix --qrefresh --short to work with --exclude and --include...
r7177 echo % -- patch file content
Mads Kiilerich
mq: Allow qrefresh --silent to take parameters...
r7113 cat .hg/patches/mqbase | \
sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/"
Mads Kiilerich
mq: Fix --qrefresh --short to work with --exclude and --include...
r7177 hg st
Mads Kiilerich
mq: Allow qrefresh --silent to take parameters...
r7113
Mads Kiilerich
mq: Fix --qrefresh --short to work with --exclude and --include...
r7177 echo % -- diff shows what is not in patch
Mads Kiilerich
mq: Allow qrefresh --silent to take parameters...
r7113 hg diff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/^\(diff\).*/\1/"
Mads Kiilerich
mq: Fix --qrefresh --short to work with --exclude and --include...
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
mq: fix qrefresh losing copy information (issue 1134)
r6801 cd ..
# Test qrefresh --git losing copy metadata
echo % create test repo
hg init repo
cd repo
Patrick Mezard
mq: drop copy records when refreshing regular patches (issue1441)...
r7566 echo "[diff]" >> .hg/hgrc
echo "git=True" >> .hg/hgrc
Patrick Mezard
mq: fix qrefresh losing copy information (issue 1134)
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
mq: drop copy records when refreshing regular patches (issue1441)...
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 ..