summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <junkio@cox.net>2006-05-04 00:14:56 -0700
committerLibravatar Junio C Hamano <junkio@cox.net>2006-05-04 00:14:56 -0700
commit4cc0b8a41b25356ad89f13ec2735756e5dada02a (patch)
treeac0ac1d6997364a99537b833355ec9b908868ff4 /contrib
parentMerge branch 'master' into next (diff)
parentAdd a conversion tool to migrate remote information into the config (diff)
downloadtgif-4cc0b8a41b25356ad89f13ec2735756e5dada02a.tar.xz
Merge branch 'js/fetchconfig' into next
* js/fetchconfig: Add a conversion tool to migrate remote information into the config fetch, pull: ask config for remote information Add a few more words to the glossary. Added definitions for a few words: Alphabetize the glossary. sha1_to_hex() usage cleanup
Diffstat (limited to 'contrib')
-rw-r--r--contrib/remotes2config.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/contrib/remotes2config.sh b/contrib/remotes2config.sh
new file mode 100644
index 0000000000..25901e2b3b
--- /dev/null
+++ b/contrib/remotes2config.sh
@@ -0,0 +1,35 @@
+#!/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
+
+