Mercurial > hg
view tests/test-mq-missingfiles @ 8589:3edf133dcb5a
dirstate: skip step 3 in walk if nothing new will match
nothing will ever match on match.never
nothing new will match on match.exact (all found in step 1)
nothing new will match on match.match when
there is no pattern and
there is no direcory in pats
author | Simon Heimberg <simohe@besonet.ch> |
---|---|
date | Thu, 14 May 2009 19:54:26 +0200 |
parents | abd2bc899d86 |
children |
line wrap: on
line source
#!/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 echo % display rejections cat b.rej 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 echo % display rejections cat b.rej cd .. echo % test push creating directory during git copy or rename hg init missingdir cd missingdir echo a > a hg ci -Am adda mkdir d hg copy a d/a2 hg mv a d/a hg qnew -g -f patch hg qpop hg qpush cd ..