##// END OF EJS Templates
Do not use osutil.c with python 2.4 and Windows (issue1364)...
Do not use osutil.c with python 2.4 and Windows (issue1364) Windows python 2.4 os.stat() reports times including DST offset, while osutil.c reports the correct value, which makes status() systematically compare files content. This bug is fixed in python 2.5. Using osutil.py instead of osutil.c is 4x times slower on large repositories but current code is completely unusable. Given few people are likely to use python 2.4 on Windows this solution was considered a good trade-off compared to more invasive solutions trying to address the offset issue.

File last commit:

r10397:8cb81d75 default
r10521:bde1bb25 stable
Show More
test-mq-qrefresh
198 lines | 4.6 KiB | text/plain | TextLexer
Giorgos Keramidas
tests: add new test; test-mq-qrefresh
r3136 #!/bin/sh
echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
Steve Losh
mq: add parent node IDs to MQ patches on qrefresh/qnew...
r10397 catpatch() {
cat $1 | sed -e "s/^\(# Parent \).*/\1/"
}
Giorgos Keramidas
tests: add new test; test-mq-qrefresh
r3136 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
Steve Losh
mq: add parent node IDs to MQ patches on qrefresh/qnew...
r10397 catpatch .hg/patches/mqbase | \
Giorgos Keramidas
tests: add new test; test-mq-qrefresh
r3136 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
Steve Losh
mq: add parent node IDs to MQ patches on qrefresh/qnew...
r10397 catpatch .hg/patches/mqbase | \
Giorgos Keramidas
tests: add new test; test-mq-qrefresh
r3136 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
Steve Losh
mq: add parent node IDs to MQ patches on qrefresh/qnew...
r10397 catpatch .hg/patches/mqbase | \
Giorgos Keramidas
tests: add new test; test-mq-qrefresh
r3136 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
Steve Losh
mq: add parent node IDs to MQ patches on qrefresh/qnew...
r10397 catpatch .hg/patches/mqbase | \
Giorgos Keramidas
tests: add new test; test-mq-qrefresh
r3136 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
Steve Losh
mq: add parent node IDs to MQ patches on qrefresh/qnew...
r10397 catpatch .hg/patches/mqbase | \
Mads Kiilerich
mq: Allow qrefresh --silent to take parameters...
r7113 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'
Steve Losh
mq: add parent node IDs to MQ patches on qrefresh/qnew...
r10397 catpatch .hg/patches/patch
Patrick Mezard
test-mq-qrefresh: test qrefresh when tip != qtip
r10367 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 ..