summaryrefslogtreecommitdiff
path: root/git-pull-script
blob: 7016fbf943406d8e647e7a02f283fa10ab134905 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh
#
# Copyright (c) 2005 Junio C Hamano
#
# Fetch one or more remote refs and merge it/them into the current HEAD.

. git-sh-setup-script || die "Not a git archive"
git-fetch-script "$@" || exit 1
merge_head=$(sed -e 's/	.*//' "$GIT_DIR"/FETCH_HEAD | tr '\012' ' ')
merge_name=$(sed -e 's/^[0-9a-f]*	//' "$GIT_DIR"/FETCH_HEAD |
	 tr '\012' ' ')

case "$merge_head" in
'')
	echo >&2 "No changes."
	exit 0
	;;
*' '?*)
	echo >&2 "Pulling more than one heads; making an Octopus."
	exec git-octopus-script
	;;
esac

git-resolve-script \
	"$(cat "$GIT_DIR"/HEAD)" \
	$merge_head "Merge $merge_name"