54 lines
		
	
	
		
			809 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			809 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| set -f
 | |
| 
 | |
| if [ $# -ne 1 ]; then
 | |
| 	echo usage: $0 repository
 | |
| 	echo "Repositories:"
 | |
| 	ls extend/addon
 | |
| 	exit 1
 | |
| fi
 | |
| 
 | |
| if [ -d extend/addon/$1 ] ; then
 | |
|         cd extend/addon/$1
 | |
| else
 | |
|         echo "$1 not found. Aborting..."
 | |
|         exit 1
 | |
| fi
 | |
| 
 | |
| if [ -d .git ] ; then
 | |
| 	git pull
 | |
| fi
 | |
| 
 | |
| cd ../../..
 | |
| 
 | |
| filelist=(`ls extend/addon/$1`)
 | |
| 
 | |
| cd addon
 | |
| 
 | |
| for a in "${filelist[@]}" ; do
 | |
| 	base=`basename $a`
 | |
| 	if [ $base = '.git' ]; then
 | |
| #		echo 'ignoring git'
 | |
| 		continue;
 | |
| 	fi
 | |
| 	if [ ! -d ../extend/addon/$1/$base ]; then
 | |
| #		echo $a 'not a directory'
 | |
| 		continue;
 | |
| 	fi
 | |
| 	if [ -x $base ]; then
 | |
| #		echo $base 'file exists'
 | |
| 		continue;
 | |
| 	fi
 | |
| 
 | |
| 	echo linking $base 
 | |
| 	ln -s ../extend/addon/$1/$base $base
 | |
| done
 | |
| 
 | |
| for x in `ls` ; do 
 | |
| 	if [ -L "$x" ] && ! [ -e "$x" ]; then 
 | |
| 		echo "removing dead symlink $x" ; 
 | |
| 		rm -- "$x"; 
 | |
| 	fi;
 | |
| done
 |