##// END OF EJS Templates
merge with hg-stable
merge with hg-stable

File last commit:

r5652:e90e72c6 default
r6438:a60b711c merge default
Show More
test-mq-missingfiles
73 lines | 1.3 KiB | text/plain | TextLexer
/ tests / test-mq-missingfiles
Patrick Mezard
mq: missing target files do not make qpush to fail immediately (issue 835)...
r5581 #!/bin/sh
# Test issue835:
# qpush fails immediately when patching a missing file, but
# remaining added files are still created empty which will
# trick a future qrefresh.
cat > writelines.py <<EOF
import sys
path = sys.argv[1]
args = sys.argv[2:]
assert (len(args) % 2) == 0
f = file(path, 'wb')
for i in xrange(len(args)/2):
count, s = args[2*i:2*i+2]
count = int(count)
s = s.decode('string_escape')
f.write(s*count)
f.close()
EOF
echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
hg init normal
cd normal
python ../writelines.py b 10 'a\n'
hg ci -Am addb
echo a > a
python ../writelines.py b 2 'b\n' 10 'a\n' 2 'c\n'
echo c > c
hg add a c
hg qnew -f changeb
hg qpop
hg rm b
hg ci -Am rmb
echo % push patch with missing target
hg qpush
echo % display added files
cat a
cat c
Patrick Mezard
patch: write rej files for missing targets (issue 853)
r5652 echo % display rejections
cat b.rej
Patrick Mezard
mq: missing target files do not make qpush to fail immediately (issue 835)...
r5581 cd ..
echo "[diff]" >> $HGRCPATH
echo "git=1" >> $HGRCPATH
hg init git
cd git
python ../writelines.py b 1 '\x00'
hg ci -Am addb
echo a > a
python ../writelines.py b 1 '\x01' 1 '\x00'
echo c > c
hg add a c
hg qnew -f changeb
hg qpop
hg rm b
hg ci -Am rmb
echo % push git patch with missing target
hg qpush 2>&1 | sed -e 's/b:.*/b: No such file or directory/'
hg st
echo % display added files
cat a
cat c
Patrick Mezard
patch: write rej files for missing targets (issue 853)
r5652 echo % display rejections
cat b.rej
Patrick Mezard
mq: missing target files do not make qpush to fail immediately (issue 835)...
r5581 cd ..