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