diff options
author | Junio C Hamano <junkio@cox.net> | 2005-09-28 16:29:11 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-09-28 16:29:11 -0700 |
commit | 60fa056052b8233c22098a711ab780679d0c5b7e (patch) | |
tree | 3e0a3b493fafb907d29fefb34d8debbba8122e5f /git-merge.sh | |
parent | Fix default pull not to do an unintended Octopus. (diff) | |
download | tgif-60fa056052b8233c22098a711ab780679d0c5b7e.tar.xz |
Fastpath the normal case by not checking that index matches HEAD.
The merge strategy would check this itself and typically does it
by using git-read-tree -m -u 3-way merge.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-merge.sh')
-rwxr-xr-x | git-merge.sh | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/git-merge.sh b/git-merge.sh index 7607e819c3..5890c7b1c0 100755 --- a/git-merge.sh +++ b/git-merge.sh @@ -24,7 +24,9 @@ dropsave() { } savestate() { - git diff -r -z --name-only $head | cpio -0 -o >"$GIR_DIR/MERGE_SAVE" + # Stash away any local modifications. + git-diff-index -r -z --name-only $head | + cpio -0 -o >"$GIR_DIR/MERGE_SAVE" } restorestate() { @@ -149,12 +151,7 @@ esac # we use, it would operate on the index, possibly affecting the # working tree, and when resolved cleanly, have the desired tree # in the index -- this means that the index must be in sync with -# the $head commit. -files=$(git-diff-index --cached --name-only $head) || exit -if [ "$files" ]; then - echo >&2 "Dirty index: cannot merge (dirty: $files)" - exit 1 -fi +# the $head commit. The strategies are responsible to ensure this. case "$use_strategies" in ?*' '?*) |