##// END OF EJS Templates
subrepo: change default path in hgrc of subrepo after cloning...
subrepo: change default path in hgrc of subrepo after cloning Previous behavior was to put in the cloned subrepos the path found in the original main repo. However it isn't valid for relative path and it seems more logical to reference instead the subrepos working copy path of the original main repo.

File last commit:

r10368:f05e0d54 merge default
r10378:e1401c74 default
Show More
test-mq-qrefresh
194 lines | 4.5 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 ..
Patrick Mezard
test-mq-qrefresh: test qrefresh when tip != qtip
r10367 echo '% issue2025: qrefresh does not honor filtering options when tip != qtip'
hg init repo-2025
cd repo-2025
echo a > a
echo b > b
hg ci -qAm addab
echo a >> a
echo b >> b
hg qnew -f patch
hg up -qC 0
echo c > c
hg ci -qAm addc
hg up -qC 1
echo '% refresh with tip != qtip'
hg --config diff.nodates=1 qrefresh -I b 2>&1 \
| sed 's/saving bundle.*/saving bundle.../g'
echo '% status after refresh'
hg st
echo '% b after refresh'
cat b
echo '% patch file after refresh'
cat .hg/patches/patch
cd ..
Patrick Mezard
mq: drop copy records when refreshing regular patches (issue1441)...
r7566 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
Matt Mackall
many, many trivial check-code fixups
r10282 cd ..