101 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
diff a/Makefile b/Makefile
 | 
						|
--- a/Makefile
 | 
						|
+++ b/Makefile
 | 
						|
@@ -20,7 +20,7 @@ INSTALL=install
 | 
						|
 
 | 
						|
 SCRIPTS=git-apply-patch-script git-merge-one-file-script git-prune-script \
 | 
						|
 	git-pull-script git-tag-script git-resolve-script git-whatchanged \
 | 
						|
-	git-deltafy-script
 | 
						|
+	git-deltafy-script git-fetch-script
 | 
						|
 
 | 
						|
 PROG=   git-update-index git-diff-files git-init-db git-write-tree \
 | 
						|
 	git-read-tree git-commit-tree git-cat-file git-fsck-cache \
 | 
						|
diff a/git-fetch-script b/git-fetch-script
 | 
						|
--- /dev/null
 | 
						|
+++ b/git-fetch-script
 | 
						|
@@ -0,0 +1,41 @@
 | 
						|
+#!/bin/sh
 | 
						|
+#
 | 
						|
+merge_repo=$1
 | 
						|
+merge_name=${2:-HEAD}
 | 
						|
+
 | 
						|
+: ${GIT_DIR=.git}
 | 
						|
+: ${GIT_OBJECT_DIRECTORY="${SHA1_FILE_DIRECTORY-"$GIT_DIR/objects"}"}
 | 
						|
+
 | 
						|
+download_one () {
 | 
						|
+	# remote_path="$1" local_file="$2"
 | 
						|
+	case "$1" in
 | 
						|
+	http://*)
 | 
						|
+		wget -q -O "$2" "$1" ;;
 | 
						|
+	/*)
 | 
						|
+		test -f "$1" && cat >"$2" "$1" ;;
 | 
						|
+	*)
 | 
						|
+		rsync -L "$1" "$2" ;;
 | 
						|
+	esac
 | 
						|
+}
 | 
						|
+
 | 
						|
+download_objects () {
 | 
						|
+	# remote_repo="$1" head_sha1="$2"
 | 
						|
+	case "$1" in
 | 
						|
+	http://*)
 | 
						|
+		git-http-pull -a "$2" "$1/"
 | 
						|
+		;;
 | 
						|
+	/*)
 | 
						|
+		git-local-pull -l -a "$2" "$1/"
 | 
						|
+		;;
 | 
						|
+	*)
 | 
						|
+		rsync -avz --ignore-existing \
 | 
						|
+			"$1/objects/." "$GIT_OBJECT_DIRECTORY"/.
 | 
						|
+		;;
 | 
						|
+	esac
 | 
						|
+}
 | 
						|
+
 | 
						|
+echo "Getting remote $merge_name"
 | 
						|
+download_one "$merge_repo/$merge_name" "$GIT_DIR"/MERGE_HEAD
 | 
						|
+
 | 
						|
+echo "Getting object database"
 | 
						|
+download_objects "$merge_repo" "$(cat "$GIT_DIR"/MERGE_HEAD)"
 | 
						|
diff a/git-pull-script b/git-pull-script
 | 
						|
--- a/git-pull-script
 | 
						|
+++ b/git-pull-script
 | 
						|
@@ -6,39 +6,7 @@ merge_name=${2:-HEAD}
 | 
						|
 : ${GIT_DIR=.git}
 | 
						|
 : ${GIT_OBJECT_DIRECTORY="${SHA1_FILE_DIRECTORY-"$GIT_DIR/objects"}"}
 | 
						|
 
 | 
						|
-download_one () {
 | 
						|
-	# remote_path="$1" local_file="$2"
 | 
						|
-	case "$1" in
 | 
						|
-	http://*)
 | 
						|
-		wget -q -O "$2" "$1" ;;
 | 
						|
-	/*)
 | 
						|
-		test -f "$1" && cat >"$2" "$1" ;;
 | 
						|
-	*)
 | 
						|
-		rsync -L "$1" "$2" ;;
 | 
						|
-	esac
 | 
						|
-}
 | 
						|
-
 | 
						|
-download_objects () {
 | 
						|
-	# remote_repo="$1" head_sha1="$2"
 | 
						|
-	case "$1" in
 | 
						|
-	http://*)
 | 
						|
-		git-http-pull -a "$2" "$1/"
 | 
						|
-		;;
 | 
						|
-	/*)
 | 
						|
-		git-local-pull -l -a "$2" "$1/"
 | 
						|
-		;;
 | 
						|
-	*)
 | 
						|
-		rsync -avz --ignore-existing \
 | 
						|
-			"$1/objects/." "$GIT_OBJECT_DIRECTORY"/.
 | 
						|
-		;;
 | 
						|
-	esac
 | 
						|
-}
 | 
						|
-
 | 
						|
-echo "Getting remote $merge_name"
 | 
						|
-download_one "$merge_repo/$merge_name" "$GIT_DIR"/MERGE_HEAD
 | 
						|
-
 | 
						|
-echo "Getting object database"
 | 
						|
-download_objects "$merge_repo" "$(cat "$GIT_DIR"/MERGE_HEAD)"
 | 
						|
+git-fetch-script "$merge_repo" "$merge_name"
 | 
						|
 
 | 
						|
 git-resolve-script \
 | 
						|
 	"$(cat "$GIT_DIR"/HEAD)" \
 |