File: remotes2config.sh

package info (click to toggle)
git-core 1%3A1.4.4.4-2
  • links: PTS
  • area: main
  • in suites: etch-m68k
  • size: 5,980 kB
  • ctags: 5,444
  • sloc: ansic: 50,068; sh: 14,854; perl: 12,752; tcl: 5,714; python: 2,754; makefile: 981; lisp: 977; asm: 219
file content (35 lines) | stat: -rw-r--r-- 770 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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