X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-merge.sh;h=cc0952a97db7d998a3f26e98b93cf2154887abd5;hb=54c261f90fb8aa9a0f12431cce2c2631a119d667;hp=8c0a92c147f6e32a8870f24bd007204bcbc01064;hpb=2d310d8a018ca1a8d3e4c8a52f60ae5f57f34b31;p=git.git diff --git a/git-merge.sh b/git-merge.sh index 8c0a92c1..cc0952a9 100755 --- a/git-merge.sh +++ b/git-merge.sh @@ -13,6 +13,10 @@ LF=' all_strategies='recursive octopus resolve stupid ours' default_strategies='recursive' use_strategies= +if test "@@NO_PYTHON@@"; then + all_strategies='resolve octopus stupid ours' + default_strategies='resolve' +fi dropsave() { rm -f -- "$GIT_DIR/MERGE_HEAD" "$GIT_DIR/MERGE_MSG" \ @@ -127,10 +131,10 @@ case "$#,$common,$no_commit" in ;; 1,"$head",*) # Again the most common case of merging one remote. - echo "Updating from $head to $1." + echo "Updating from $head to $1" git-update-index --refresh 2>/dev/null new_head=$(git-rev-parse --verify "$1^0") && - git-read-tree -u -m $head "$new_head" && + git-read-tree -u -v -m $head "$new_head" && finish "$new_head" "Fast forward" dropsave exit 0 @@ -142,9 +146,11 @@ case "$#,$common,$no_commit" in 1,*,) # We are not doing octopus, not fast forward, and have only # one common. See if it is really trivial. + git var GIT_COMMITTER_IDENT >/dev/null || exit + echo "Trying really trivial in-index merge..." git-update-index --refresh 2>/dev/null - if git-read-tree --trivial -m -u $common $head "$1" && + if git-read-tree --trivial -m -u -v $common $head "$1" && result_tree=$(git-write-tree) then echo "Wonderful." @@ -179,6 +185,9 @@ case "$#,$common,$no_commit" in ;; esac +# We are going to make a new commit. +git var GIT_COMMITTER_IDENT >/dev/null || exit + case "$use_strategies" in '') case "$#" in @@ -309,5 +318,9 @@ Conflicts: sed -e 's/^[^ ]* / /' | uniq } >>"$GIT_DIR/MERGE_MSG" + if test -d "$GIT_DIR/rr-cache" + then + git-rerere + fi die "Automatic merge failed; fix up by hand" fi