36 lines
770 B
Bash
36 lines
770 B
Bash
|
#!/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=$(echo -n "$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-repo-config $key "$value" $regex"
|
||
|
git-repo-config $key "$value" $regex || error=1 ;;
|
||
|
esac
|
||
|
done
|
||
|
fi
|
||
|
|
||
|
|