]> git.ipfire.org Git - thirdparty/git.git/blame - contrib/remotes2config.sh
Sync with 2.16.6
[thirdparty/git.git] / contrib / remotes2config.sh
CommitLineData
a4a6e4ab
JS
1#!/bin/sh
2
3# Use this tool to rewrite your .git/remotes/ files into the config.
4
5. git-sh-setup
6
7if [ -d "$GIT_DIR"/remotes ]; then
8 echo "Rewriting $GIT_DIR/remotes" >&2
9 error=0
10 # rewrite into config
11 {
12 cd "$GIT_DIR"/remotes
13 ls | while read f; do
afa75bc8 14 name=$(printf "$f" | tr -c "A-Za-z0-9-" ".")
a4a6e4ab 15 sed -n \
afa75bc8
JN
16 -e "s/^URL:[ ]*\(.*\)$/remote.$name.url \1 ./p" \
17 -e "s/^Pull:[ ]*\(.*\)$/remote.$name.fetch \1 ^$ /p" \
18 -e "s/^Push:[ ]*\(.*\)$/remote.$name.push \1 ^$ /p" \
a4a6e4ab
JS
19 < "$f"
20 done
21 echo done
22 } | while read key value regex; do
23 case $key in
24 done)
25 if [ $error = 0 ]; then
26 mv "$GIT_DIR"/remotes "$GIT_DIR"/remotes.old
27 fi ;;
28 *)
5be60078
JH
29 echo "git config $key "$value" $regex"
30 git config $key "$value" $regex || error=1 ;;
a4a6e4ab
JS
31 esac
32 done
33fi