Mercurial > hg
view tests/test-mq-qrefresh @ 7460:3342e6ada4b9
push: use the fast changegroup() path on push
The race doesn't happen on push (because the discovery is done
in the same hg process), so use the fast path instead.
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Tue, 02 Dec 2008 19:36:43 +0100 |
parents | 09ed32b79656 |
children | 5f7e3f17aece |
line wrap: on
line source
#!/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/" echo echo % qrefresh --short tests: echo 'orphan' > orphanchild hg add orphanchild echo % - add 1/base and 2/base one by one hg qrefresh nonexistingfilename # clear patch hg qrefresh --short 1/base hg qrefresh --short 2/base echo % -- qdiff output hg qdiff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" echo % -- patch file content cat .hg/patches/mqbase | \ sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" hg st echo % -- diff shows what is not in patch hg diff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" \ -e "s/^\(diff\).*/\1/" 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 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 ..