tests/test-mq-qpush-fail
author Matt Mackall <mpm@selenic.com>
Wed, 01 Aug 2007 12:33:12 -0500
changeset 5045 f191bc3916f7
parent 4658 17f5d2069551
permissions -rwxr-xr-x
merge: do early copy to deal with issue636 Without copies/renames, merges source names are 1:1 with their targets. Copies and renames introduce the possibility that there will be two merges with the same input but different output. By doing the copy to the destination name before the merge, the actual merge becomes 1:1 again, and no source is the input to two different merges. - add a preliminary scan to applyupdates to do copies - for the merge action, pass the old name (for finding ancestors) and the new name (for input to the merge) to filemerge - eliminate the old post-merge copy - lookup file contents from new name in filemerge - pass new name to external merge helper - report merge failure at new name - add a test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4658
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     1
#!/bin/sh
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     2
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     3
# Test that qpush cleans things up if it doesn't complete
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     4
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     5
echo "[extensions]" >> $HGRCPATH
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     6
echo "mq=" >> $HGRCPATH
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     7
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     8
hg init repo
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     9
cd repo
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    10
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    11
echo foo > foo
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    12
hg ci -Am 'add foo' -d '0 0'
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    13
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    14
touch untracked-file
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    15
echo 'syntax: glob' > .hgignore
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    16
echo '.hgignore' >> .hgignore
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    17
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    18
hg qinit
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    19
hg qnew patch1
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    20
echo >> foo
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    21
hg qrefresh -m 'patch 1'
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    22
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    23
hg qnew patch2
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    24
echo bar > bar
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    25
hg add bar
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    26
hg qrefresh -m 'patch 2'
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    27
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    28
hg qnew bad-patch
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    29
echo >> foo
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    30
hg qrefresh
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    31
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    32
hg qpop -a
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    33
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    34
python -c 'print "\xe9"' > message
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    35
cat .hg/patches/bad-patch >> message
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    36
mv message .hg/patches/bad-patch
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    37
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    38
hg qpush -a && echo 'qpush succeded?!'
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    39
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    40
hg parents
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    41
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    42
echo '% bar should be gone; other unknown/ignored files should still be around'
17f5d2069551 mq: test that qpush cleans things up when it fails
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    43
hg status -A