diff options
author | Linus Torvalds <torvalds@osdl.org> | 2005-08-18 15:31:40 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-08-18 16:26:50 -0700 |
commit | d571c2be99cb4ab96ff70c62c31d587271db9567 (patch) | |
tree | fa38bcef80df2d3090d3eb95681f615d94f95a33 | |
parent | 1bff6490b0225aef07d2fd13cbb806ac8ce115de (diff) | |
download | git-d571c2be99cb4ab96ff70c62c31d587271db9567.tar.gz git-d571c2be99cb4ab96ff70c62c31d587271db9567.tar.xz |
[PATCH] git-applymbox: verify that index is clean
This makes git-applymbox verify that the index matches the current HEAD
before it starts applying patches.
Otherwise, you might have updated the index with unrelated changes, and
the first patch will commit not just the patch from the mbox, but also any
changes you had in your index.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-x | tools/git-applymbox | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/git-applymbox b/tools/git-applymbox index 889d4c174..afcb00a3f 100755 --- a/tools/git-applymbox +++ b/tools/git-applymbox @@ -18,6 +18,8 @@ ## use a Signoff_file, because applypatch wants to append the sign-off ## message to msg-clean every time it is run. +. git-sh-setup-script || die "Not a git archive" + keep_subject= query_apply= continue= resume=t while case "$#" in 0) break ;; esac do @@ -39,6 +41,12 @@ case "$continue" in shift esac +files=$(git-diff-cache --cached --name-only HEAD) || exit +if [ "$files" ]; then + echo "Dirty index: cannot apply patches (dirty: $files)" >&2 + exit 1 +fi + case "$query_apply" in t) touch .dotest/.query_apply esac |