From: Linus Torvalds Date: Thu, 18 Aug 2005 22:31:40 +0000 (-0700) Subject: [PATCH] git-applymbox: verify that index is clean X-Git-Tag: v0.99.5~11^2~2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/d571c2be99cb4ab96ff70c62c31d587271db9567?hp=--cc [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 Signed-off-by: Junio C Hamano --- d571c2be99cb4ab96ff70c62c31d587271db9567 diff --git a/tools/git-applymbox b/tools/git-applymbox index 889d4c1743..afcb00a3f5 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