Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
Fastpath the normal case by not checking that index matches HEAD.
author
Junio C Hamano
<junkio@cox.net>
Wed, 28 Sep 2005 23:29:11 +0000
(16:29 -0700)
committer
Junio C Hamano
<junkio@cox.net>
Wed, 28 Sep 2005 23:29:11 +0000
(16:29 -0700)
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>
git-merge.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
05dd8e2
)
diff --git
a/git-merge.sh
b/git-merge.sh
index 7607e819c355fd30923c520b35ab4de7b918f013..5890c7b1c038b280e15d95c74700013152ea8959 100755
(executable)
--- a/
git-merge.sh
+++ b/
git-merge.sh
@@
-24,7
+24,9
@@
dropsave() {
}
savestate() {
}
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() {
}
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
# 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
?*' '?*)
case "$use_strategies" in
?*' '?*)