| #!/bin/sh | 
 |  | 
 | # Use this tool to rewrite your .git/remotes/ files into the config. | 
 |  | 
 | . git-sh-setup | 
 |  | 
 | if [ -d "$GIT_DIR"/remotes ]; then | 
 | 	echo "Rewriting $GIT_DIR/remotes" >&2 | 
 | 	error=0 | 
 | 	# rewrite into config | 
 | 	{ | 
 | 		cd "$GIT_DIR"/remotes | 
 | 		ls | while read f; do | 
 | 			name=$(printf "$f" | tr -c "A-Za-z0-9-" ".") | 
 | 			sed -n \ | 
 | 			-e "s/^URL:[ 	]*\(.*\)$/remote.$name.url \1 ./p" \ | 
 | 			-e "s/^Pull:[ 	]*\(.*\)$/remote.$name.fetch \1 ^$ /p" \ | 
 | 			-e "s/^Push:[ 	]*\(.*\)$/remote.$name.push \1 ^$ /p" \ | 
 | 			< "$f" | 
 | 		done | 
 | 		echo done | 
 | 	} | while read key value regex; do | 
 | 		case $key in | 
 | 		done) | 
 | 			if [ $error = 0 ]; then | 
 | 				mv "$GIT_DIR"/remotes "$GIT_DIR"/remotes.old | 
 | 			fi ;; | 
 | 		*) | 
 | 			echo "git config $key "$value" $regex" | 
 | 			git config $key "$value" $regex || error=1 ;; | 
 | 		esac | 
 | 	done | 
 | fi |