@matheusbsbs / matheus-bagliano / commits / fe6beab7e8
Fork 0

Test that git-am does not lose -C/-p/--whitespace options

These tests make sure that "git am" does not lose command line options specified when it was started, after it is interrupted by a patch that does not apply earlier in the series. Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Dec 4, 2008 at 17:08 UTC fe6beab7e80565dac81125aa82521f7673905ebc
11 files changed +229
t/t4252-am-options.sh new
+54
@@ -0,0 +1,54 @@
1 +#!/bin/sh
2 +
3 +test_description='git am not losing options'
4 +. ./test-lib.sh
5 +
6 +tm="$TEST_DIRECTORY/t4252"
7 +
8 +test_expect_success setup '
9 + cp "$tm/file-1-0" file-1 &&
10 + cp "$tm/file-2-0" file-2 &&
11 + git add file-1 file-2 &&
12 + test_tick &&
13 + git commit -m initial &&
14 + git tag initial
15 +'
16 +
17 +test_expect_success 'interrupted am --whitespace=fix' '
18 + rm -rf .git/rebase-apply &&
19 + git reset --hard initial &&
20 + test_must_fail git am --whitespace=fix "$tm"/am-test-1-? &&
21 + git am --skip &&
22 + grep 3 file-1 &&
23 + grep "^Six$" file-2
24 +'
25 +
26 +test_expect_success 'interrupted am -C1' '
27 + rm -rf .git/rebase-apply &&
28 + git reset --hard initial &&
29 + test_must_fail git am -C1 "$tm"/am-test-2-? &&
30 + git am --skip &&
31 + grep 3 file-1 &&
32 + grep "^Three$" file-2
33 +'
34 +
35 +test_expect_success 'interrupted am -p2' '
36 + rm -rf .git/rebase-apply &&
37 + git reset --hard initial &&
38 + test_must_fail git am -p2 "$tm"/am-test-3-? &&
39 + git am --skip &&
40 + grep 3 file-1 &&
41 + grep "^Three$" file-2
42 +'
43 +
44 +test_expect_success 'interrupted am -C1 -p2' '
45 + rm -rf .git/rebase-apply &&
46 + git reset --hard initial &&
47 + test_must_fail git am -p2 -C1 "$tm"/am-test-4-? &&
48 + cat .git/rebase-apply/apply_opt_extra &&
49 + git am --skip &&
50 + grep 3 file-1 &&
51 + grep "^Three$" file-2
52 +'
53 +
54 +test_done
t/t4252/am-test-1-1 new
+19
@@ -0,0 +1,19 @@
1 +From: A U Thor <au.thor@example.com>
2 +Date: Thu Dec 4 16:00:00 2008 -0800
3 +Subject: Three
4 +
5 +Application of this should be rejected because the first line in the
6 +context does not match.
7 +
8 +diff --git i/file-1 w/file-1
9 +index 06e567b..10f8342 100644
10 +--- i/file-1
11 ++++ w/file-1
12 +@@ -1,6 +1,6 @@
13 + One
14 + 2
15 +-3
16 ++Three
17 + 4
18 + 5
19 + 6
t/t4252/am-test-1-2 new
+21
@@ -0,0 +1,21 @@
1 +From: A U Thor <au.thor@example.com>
2 +Date: Thu Dec 4 16:00:00 2008 -0800
3 +Subject: Six
4 +
5 +Applying this patch with --whitespace=fix should lose
6 +the trailing whitespace after "Six".
7 +
8 +diff --git i/file-2 w/file-2
9 +index 06e567b..b6f3a16 100644
10 +--- i/file-2
11 ++++ w/file-2
12 +@@ -1,7 +1,7 @@
13 + 1
14 + 2
15 +-3
16 ++Three
17 + 4
18 + 5
19 +-6
20 ++Six
21 + 7
t/t4252/am-test-2-1 new
+19
@@ -0,0 +1,19 @@
1 +From: A U Thor <au.thor@example.com>
2 +Date: Thu Dec 4 16:00:00 2008 -0800
3 +Subject: Three
4 +
5 +Application of this should be rejected even with -C1 because the
6 +preimage line in the context does not match.
7 +
8 +diff --git i/file-1 w/file-1
9 +index 06e567b..10f8342 100644
10 +--- i/file-1
11 ++++ w/file-1
12 +@@ -1,6 +1,6 @@
13 + 1
14 + 2
15 +-Tres
16 ++Three
17 + 4
18 + 5
19 + 6
t/t4252/am-test-2-2 new
+21
@@ -0,0 +1,21 @@
1 +From: A U Thor <au.thor@example.com>
2 +Date: Thu Dec 4 16:00:00 2008 -0800
3 +Subject: Six
4 +
5 +Applying this patch with -C1 should be successful even though
6 +the first line in the context does not match.
7 +
8 +diff --git i/file-2 w/file-2
9 +index 06e567b..b6f3a16 100644
10 +--- i/file-2
11 ++++ w/file-2
12 +@@ -1,7 +1,7 @@
13 + One
14 + 2
15 +-3
16 ++Three
17 + 4
18 + 5
19 +-6
20 ++Six
21 + 7
t/t4252/am-test-3-1 new
+19
@@ -0,0 +1,19 @@
1 +From: A U Thor <au.thor@example.com>
2 +Date: Thu Dec 4 16:00:00 2008 -0800
3 +Subject: Three
4 +
5 +Application of this should be rejected even with -p2 because the
6 +preimage line in the context does not match.
7 +
8 +diff --git i/junk/file-1 w/junk/file-1
9 +index 06e567b..10f8342 100644
10 +--- i/junk/file-1
11 ++++ w/junk/file-1
12 +@@ -1,6 +1,6 @@
13 + 1
14 + 2
15 +-Tres
16 ++Three
17 + 4
18 + 5
19 + 6
t/t4252/am-test-3-2 new
+21
@@ -0,0 +1,21 @@
1 +From: A U Thor <au.thor@example.com>
2 +Date: Thu Dec 4 16:00:00 2008 -0800
3 +Subject: Six
4 +
5 +Applying this patch with -p2 should be successful even though
6 +the patch is against a wrong level.
7 +
8 +diff --git i/junk/file-2 w/junk/file-2
9 +index 06e567b..b6f3a16 100644
10 +--- i/junk/file-2
11 ++++ w/junk/file-2
12 +@@ -1,7 +1,7 @@
13 + 1
14 + 2
15 +-3
16 ++Three
17 + 4
18 + 5
19 +-6
20 ++Six
21 + 7
t/t4252/am-test-4-1 new
+19
@@ -0,0 +1,19 @@
1 +From: A U Thor <au.thor@example.com>
2 +Date: Thu Dec 4 16:00:00 2008 -0800
3 +Subject: Three
4 +
5 +Application of this should be rejected even with -C1 -p2 because
6 +the preimage line in the context does not match.
7 +
8 +diff --git i/junk/file-1 w/junk/file-1
9 +index 06e567b..10f8342 100644
10 +--- i/junk/file-1
11 ++++ w/junk/file-1
12 +@@ -1,6 +1,6 @@
13 + 1
14 + 2
15 +-Tres
16 ++Three
17 + 4
18 + 5
19 + 6
t/t4252/am-test-4-2 new
+22
@@ -0,0 +1,22 @@
1 +From: A U Thor <au.thor@example.com>
2 +Date: Thu Dec 4 16:00:00 2008 -0800
3 +Subject: Six
4 +
5 +Applying this patch with -C1 -p2 should be successful even though
6 +the patch is against a wrong level and the first context line does
7 +not match.
8 +
9 +diff --git i/junk/file-2 w/junk/file-2
10 +index 06e567b..b6f3a16 100644
11 +--- i/junk/file-2
12 ++++ w/junk/file-2
13 +@@ -1,7 +1,7 @@
14 + One
15 + 2
16 +-3
17 ++Three
18 + 4
19 + 5
20 +-6
21 ++Six
22 + 7
t/t4252/file-1-0 new
+7
@@ -0,0 +1,7 @@
1 +1
2 +2
3 +3
4 +4
5 +5
6 +6
7 +7
t/t4252/file-2-0 new
+7
@@ -0,0 +1,7 @@
1 +1
2 +2
3 +3
4 +4
5 +5
6 +6
7 +7