#!/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