aboutsummaryrefslogblamecommitdiffstats
path: root/util/update_addon_repo
blob: 02c860c8c7fbbdd39fe6df6e0dd16ecdb7e83e69 (plain) (tree)
1
2
3
4
5
6
7
8


                   
 



                                 


              





                                        



                     
 











                                   
                                                  








                                         
                                            
    






                                                  
#!/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