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