Browse Source

git-am: implement --reject option passed to git-apply

With --reject, git-am simply passes the --reject option to git-apply and thus
allows people to work with reject files if they so prefer.

Signed-off-by: martin f. krafft <madduck@madduck.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
martin f. krafft 16 years ago committed by Junio C Hamano
parent
commit
b80da424a1
  1. 2
      Documentation/git-am.txt
  2. 3
      git-am.sh
  3. 11
      t/t4252-am-options.sh
  4. 21
      t/t4252/am-test-6-1

2
Documentation/git-am.txt

@ -12,6 +12,7 @@ SYNOPSIS
'git am' [--signoff] [--keep] [--utf8 | --no-utf8] 'git am' [--signoff] [--keep] [--utf8 | --no-utf8]
[--3way] [--interactive] [--3way] [--interactive]
[--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>] [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]
[--reject]
[<mbox> | <Maildir>...] [<mbox> | <Maildir>...]
'git am' (--skip | --resolved | --abort) 'git am' (--skip | --resolved | --abort)


@ -63,6 +64,7 @@ default. You could use `--no-utf8` to override this.
-C<n>:: -C<n>::
-p<n>:: -p<n>::
--directory=<dir>:: --directory=<dir>::
--reject::
These flags are passed to the 'git-apply' (see linkgit:git-apply[1]) These flags are passed to the 'git-apply' (see linkgit:git-apply[1])
program that applies program that applies
the patch. the patch.

3
git-am.sh

@ -19,6 +19,7 @@ whitespace= pass it through git-apply
directory= pass it through git-apply directory= pass it through git-apply
C= pass it through git-apply C= pass it through git-apply
p= pass it through git-apply p= pass it through git-apply
reject pass it through git-apply
resolvemsg= override error message when patch failure occurs resolvemsg= override error message when patch failure occurs
r,resolved to be used after a patch failure r,resolved to be used after a patch failure
skip skip the current patch skip skip the current patch
@ -168,6 +169,8 @@ do
git_apply_opt="$git_apply_opt $(sq "$1=$2")"; shift ;; git_apply_opt="$git_apply_opt $(sq "$1=$2")"; shift ;;
-C|-p) -C|-p)
git_apply_opt="$git_apply_opt $(sq "$1$2")"; shift ;; git_apply_opt="$git_apply_opt $(sq "$1$2")"; shift ;;
--reject)
git_apply_opt="$git_apply_opt $1" ;;
--) --)
shift; break ;; shift; break ;;
*) *)

11
t/t4252-am-options.sh

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh


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


tm="$TEST_DIRECTORY/t4252" tm="$TEST_DIRECTORY/t4252"
@ -66,4 +66,13 @@ test_expect_success 'apply to a funny path' '
test -f "$with_sq/file-5" test -f "$with_sq/file-5"
' '


test_expect_success 'am --reject' '
rm -rf .git/rebase-apply &&
git reset --hard initial &&
test_must_fail git am --reject "$tm"/am-test-6-1 &&
grep "@@ -1,3 +1,3 @@" file-2.rej &&
test_must_fail git diff-files --exit-code --quiet file-2 &&
grep "[-]-reject" .git/rebase-apply/apply-opt
'

test_done test_done

21
t/t4252/am-test-6-1

@ -0,0 +1,21 @@
From: A U Thor <au.thor@example.com>
Date: Thu Dec 4 16:00:00 2008 -0800
Subject: Huh

Should fail and leave rejects

diff --git i/file-2 w/file-2
index 06e567b..b6f3a16 100644
--- i/file-2
+++ w/file-2
@@ -1,3 +1,3 @@
-0
+One
2
3
@@ -4,4 +4,4 @@
4
5
-6
+Six
7
Loading…
Cancel
Save