Skip to content

Commit

Permalink
Test that git-am does not lose -C/-p/--whitespace options
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Junio C Hamano committed Dec 5, 2008
1 parent 22db240 commit fe6beab
Show file tree
Hide file tree
Showing 11 changed files with 229 additions and 0 deletions.
54 changes: 54 additions & 0 deletions t/t4252-am-options.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/bin/sh

test_description='git am not losing options'
. ./test-lib.sh

tm="$TEST_DIRECTORY/t4252"

test_expect_success setup '
cp "$tm/file-1-0" file-1 &&
cp "$tm/file-2-0" file-2 &&
git add file-1 file-2 &&
test_tick &&
git commit -m initial &&
git tag initial
'

test_expect_success 'interrupted am --whitespace=fix' '
rm -rf .git/rebase-apply &&
git reset --hard initial &&
test_must_fail git am --whitespace=fix "$tm"/am-test-1-? &&
git am --skip &&
grep 3 file-1 &&
grep "^Six$" file-2
'

test_expect_success 'interrupted am -C1' '
rm -rf .git/rebase-apply &&
git reset --hard initial &&
test_must_fail git am -C1 "$tm"/am-test-2-? &&
git am --skip &&
grep 3 file-1 &&
grep "^Three$" file-2
'

test_expect_success 'interrupted am -p2' '
rm -rf .git/rebase-apply &&
git reset --hard initial &&
test_must_fail git am -p2 "$tm"/am-test-3-? &&
git am --skip &&
grep 3 file-1 &&
grep "^Three$" file-2
'

test_expect_success 'interrupted am -C1 -p2' '
rm -rf .git/rebase-apply &&
git reset --hard initial &&
test_must_fail git am -p2 -C1 "$tm"/am-test-4-? &&
cat .git/rebase-apply/apply_opt_extra &&
git am --skip &&
grep 3 file-1 &&
grep "^Three$" file-2
'

test_done
19 changes: 19 additions & 0 deletions t/t4252/am-test-1-1
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
From: A U Thor <au.thor@example.com>
Date: Thu Dec 4 16:00:00 2008 -0800
Subject: Three

Application of this should be rejected because the first line in the
context does not match.

diff --git i/file-1 w/file-1
index 06e567b..10f8342 100644
--- i/file-1
+++ w/file-1
@@ -1,6 +1,6 @@
One
2
-3
+Three
4
5
6
21 changes: 21 additions & 0 deletions t/t4252/am-test-1-2
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
From: A U Thor <au.thor@example.com>
Date: Thu Dec 4 16:00:00 2008 -0800
Subject: Six

Applying this patch with --whitespace=fix should lose
the trailing whitespace after "Six".

diff --git i/file-2 w/file-2
index 06e567b..b6f3a16 100644
--- i/file-2
+++ w/file-2
@@ -1,7 +1,7 @@
1
2
-3
+Three
4
5
-6
+Six
7
19 changes: 19 additions & 0 deletions t/t4252/am-test-2-1
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
From: A U Thor <au.thor@example.com>
Date: Thu Dec 4 16:00:00 2008 -0800
Subject: Three

Application of this should be rejected even with -C1 because the
preimage line in the context does not match.

diff --git i/file-1 w/file-1
index 06e567b..10f8342 100644
--- i/file-1
+++ w/file-1
@@ -1,6 +1,6 @@
1
2
-Tres
+Three
4
5
6
21 changes: 21 additions & 0 deletions t/t4252/am-test-2-2
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
From: A U Thor <au.thor@example.com>
Date: Thu Dec 4 16:00:00 2008 -0800
Subject: Six

Applying this patch with -C1 should be successful even though
the first line in the context does not match.

diff --git i/file-2 w/file-2
index 06e567b..b6f3a16 100644
--- i/file-2
+++ w/file-2
@@ -1,7 +1,7 @@
One
2
-3
+Three
4
5
-6
+Six
7
19 changes: 19 additions & 0 deletions t/t4252/am-test-3-1
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
From: A U Thor <au.thor@example.com>
Date: Thu Dec 4 16:00:00 2008 -0800
Subject: Three

Application of this should be rejected even with -p2 because the
preimage line in the context does not match.

diff --git i/junk/file-1 w/junk/file-1
index 06e567b..10f8342 100644
--- i/junk/file-1
+++ w/junk/file-1
@@ -1,6 +1,6 @@
1
2
-Tres
+Three
4
5
6
21 changes: 21 additions & 0 deletions t/t4252/am-test-3-2
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
From: A U Thor <au.thor@example.com>
Date: Thu Dec 4 16:00:00 2008 -0800
Subject: Six

Applying this patch with -p2 should be successful even though
the patch is against a wrong level.

diff --git i/junk/file-2 w/junk/file-2
index 06e567b..b6f3a16 100644
--- i/junk/file-2
+++ w/junk/file-2
@@ -1,7 +1,7 @@
1
2
-3
+Three
4
5
-6
+Six
7
19 changes: 19 additions & 0 deletions t/t4252/am-test-4-1
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
From: A U Thor <au.thor@example.com>
Date: Thu Dec 4 16:00:00 2008 -0800
Subject: Three

Application of this should be rejected even with -C1 -p2 because
the preimage line in the context does not match.

diff --git i/junk/file-1 w/junk/file-1
index 06e567b..10f8342 100644
--- i/junk/file-1
+++ w/junk/file-1
@@ -1,6 +1,6 @@
1
2
-Tres
+Three
4
5
6
22 changes: 22 additions & 0 deletions t/t4252/am-test-4-2
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
From: A U Thor <au.thor@example.com>
Date: Thu Dec 4 16:00:00 2008 -0800
Subject: Six

Applying this patch with -C1 -p2 should be successful even though
the patch is against a wrong level and the first context line does
not match.

diff --git i/junk/file-2 w/junk/file-2
index 06e567b..b6f3a16 100644
--- i/junk/file-2
+++ w/junk/file-2
@@ -1,7 +1,7 @@
One
2
-3
+Three
4
5
-6
+Six
7
7 changes: 7 additions & 0 deletions t/t4252/file-1-0
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
1
2
3
4
5
6
7
7 changes: 7 additions & 0 deletions t/t4252/file-2-0
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
1
2
3
4
5
6
7

0 comments on commit fe6beab

Please sign in to comment.