SUBDIRECTORY_OK=Yes
. git-sh-setup
-set_reflog_action "merge $*"
require_work_tree
cd_to_toplevel
# All the rest are remote heads
test "$#" = 0 && usage ;# we need at least one remote head.
+set_reflog_action "merge $*"
remoteheads=
for remote
'')
case "$#" in
1)
- var="`git-repo-config --get pull.twohead`"
+ var="`git-config --get pull.twohead`"
if test -n "$var"
then
use_strategies="$var"
use_strategies="$default_twohead_strategies"
fi ;;
*)
- var="`git-repo-config --get pull.octopus`"
+ var="`git-config --get pull.octopus`"
if test -n "$var"
then
use_strategies="$var"
for s in $use_strategies
do
- case " $s " in
- *" $no_trivial_merge_strategies "*)
- index_merge=f
- break
- ;;
- esac
+ for nt in $no_trivial_merge_strategies
+ do
+ case " $s " in
+ *" $nt "*)
+ index_merge=f
+ break
+ ;;
+ esac
+ done
done
case "$#" in
# Again the most common case of merging one remote.
echo "Updating $(git-rev-parse --short $head)..$(git-rev-parse --short $1)"
git-update-index --refresh 2>/dev/null
+ msg="Fast forward"
+ if test -n "$have_message"
+ then
+ msg="$msg (no commit created; -m option ignored)"
+ fi
new_head=$(git-rev-parse --verify "$1^0") &&
git-read-tree -v -m -u --exclude-per-directory=.gitignore $head "$new_head" &&
- finish "$new_head" "Fast forward"
+ finish "$new_head" "$msg" || exit
dropsave
exit 0
;;