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