1#!/bin/sh
2
3# Use this tool to rewrite your .git/remotes/ files into the config.
4
5. git-sh-setup
6
7if [ -d "$GIT_DIR"/remotes ]; then
8	echo "Rewriting $GIT_DIR/remotes" >&2
9	error=0
10	# rewrite into config
11	{
12		cd "$GIT_DIR"/remotes
13		ls | while read f; do
14			name=$(printf "$f" | tr -c "A-Za-z0-9-" ".")
15			sed -n \
16			-e "s/^URL:[ 	]*\(.*\)$/remote.$name.url \1 ./p" \
17			-e "s/^Pull:[ 	]*\(.*\)$/remote.$name.fetch \1 ^$ /p" \
18			-e "s/^Push:[ 	]*\(.*\)$/remote.$name.push \1 ^$ /p" \
19			< "$f"
20		done
21		echo done
22	} | while read key value regex; do
23		case $key in
24		done)
25			if [ $error = 0 ]; then
26				mv "$GIT_DIR"/remotes "$GIT_DIR"/remotes.old
27			fi ;;
28		*)
29			echo "git config $key "$value" $regex"
30			git config $key "$value" $regex || error=1 ;;
31		esac
32	done
33fi
34