Commit | Line | Data |
---|---|---|
a57bd720 CM |
1 | #!/bin/sh |
2 | # | |
3 | # Copyright (c) 2006 Catalin Marinas | |
4 | # | |
5 | ||
6 | test_description='Exercise push --undo with missing files. | |
7 | ||
8 | Test the case where a patch fails to be pushed because it modifies a | |
9 | missing file. The "push --undo" command has to be able to revert it. | |
10 | ' | |
11 | ||
12 | . ./test-lib.sh | |
13 | ||
14 | test_expect_success \ | |
15 | 'Initialize the StGIT repository' \ | |
16 | 'stg init | |
17 | ' | |
18 | ||
19 | test_expect_success \ | |
20 | 'Create the first patch' \ | |
21 | ' | |
22 | stg new foo -m foo && | |
23 | echo foo > test && | |
ea5b7bf3 | 24 | git add test && |
a57bd720 CM |
25 | stg refresh |
26 | ' | |
27 | ||
28 | test_expect_success \ | |
29 | 'Create the second patch' \ | |
30 | ' | |
31 | stg new bar -m bar && | |
32 | echo bar > test && | |
ea5b7bf3 | 33 | git add test && |
a57bd720 CM |
34 | stg refresh |
35 | ' | |
36 | ||
37 | test_expect_success \ | |
38 | 'Pop all patches' \ | |
39 | ' | |
40 | stg pop --all | |
41 | ' | |
42 | ||
5f594e90 | 43 | test_expect_success \ |
a57bd720 CM |
44 | 'Push the second patch with conflict' \ |
45 | ' | |
5f594e90 | 46 | ! stg push bar |
a57bd720 CM |
47 | ' |
48 | ||
49 | test_expect_success \ | |
50 | 'Undo the previous push' \ | |
51 | ' | |
52 | stg push --undo | |
53 | ' | |
54 | ||
cb688601 CM |
55 | test_expect_success \ |
56 | 'Check the push after undo fails as well' \ | |
57 | ' | |
58 | ! stg push bar | |
59 | ' | |
60 | ||
ca66756b CM |
61 | test_expect_success \ |
62 | 'Undo with disappeared newborn' \ | |
63 | ' | |
64 | touch newfile && | |
ea5b7bf3 | 65 | git add newfile && |
ca66756b CM |
66 | rm newfile && |
67 | stg push --undo | |
68 | ' | |
69 | ||
a57bd720 | 70 | test_done |