Mercurial > public > mercurial-scm > hg
diff tests/test-mq-missingfiles.t @ 12324:b701610f6c56
tests: unify some of test-mq*
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Sun, 19 Sep 2010 23:42:18 +0200 |
parents | tests/test-mq-missingfiles@abd2bc899d86 |
children | 4fee1fd3de9a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-mq-missingfiles.t Sun Sep 19 23:42:18 2010 +0200 @@ -0,0 +1,150 @@ + +# 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 + adding b + $ 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 + popping changeb + patch queue now empty + $ hg rm b + $ hg ci -Am rmb + +Push patch with missing target: + + $ hg qpush + applying changeb + unable to find 'b' for patching + 2 out of 2 hunks FAILED -- saving rejects to file b.rej + patch failed, unable to continue (try -v) + patch failed, rejects left in working dir + errors during apply, please fix and refresh changeb + [2] + +Display added files: + + $ cat a + a + $ cat c + c + +Display rejections: + + $ cat b.rej + --- b + +++ b + @@ -1,3 +1,5 @@ + +b + +b + a + a + a + @@ -8,3 +10,5 @@ + a + a + a + +c + +c + + $ cd .. + + + $ echo "[diff]" >> $HGRCPATH + $ echo "git=1" >> $HGRCPATH + + $ hg init git + $ cd git + $ python ../writelines.py b 1 '\x00' + $ hg ci -Am addb + adding b + $ echo a > a + $ python ../writelines.py b 1 '\x01' 1 '\x00' + $ echo c > c + $ hg add a c + $ hg qnew -f changeb + $ hg qpop + popping changeb + patch queue now empty + $ hg rm b + $ hg ci -Am rmb + +Push git patch with missing target: + + $ hg qpush + applying changeb + unable to find 'b' for patching + 1 out of 1 hunks FAILED -- saving rejects to file b.rej + patch failed, unable to continue (try -v) + b: No such file or directory + patch failed, rejects left in working dir + errors during apply, please fix and refresh changeb + [2] + $ hg st + ? b.rej + +Display added files: + + $ cat a + a + $ cat c + c + +Display rejections: + + $ cat b.rej + --- b + +++ b + GIT binary patch + literal 2 + Jc${No0000400IC2 + + $ cd .. + +Test push creating directory during git copy or rename: + + $ hg init missingdir + $ cd missingdir + $ echo a > a + $ hg ci -Am adda + adding a + $ mkdir d + $ hg copy a d/a2 + $ hg mv a d/a + $ hg qnew -g -f patch + $ hg qpop + popping patch + patch queue now empty + $ hg qpush + applying patch + now at: patch + + $ cd .. +