33 lines
770 B
33 lines
770 B
#!/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
|
|
|