From 3ee8ebb69d5e3805ca9913a9648ceeca172f5a35 Mon Sep 17 00:00:00 2001 From: Michiel Scholten Date: Sat, 19 Jul 2014 18:06:19 +0200 Subject: [PATCH] Almost there; some debug and support for empty workspace and groupdir --- bin/update_repos | 48 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/bin/update_repos b/bin/update_repos index 70833e6..dc2944a 100755 --- a/bin/update_repos +++ b/bin/update_repos @@ -11,34 +11,50 @@ GRP="" for LINE in "${LINES[@]}"; do if [ ${LINE:0:1} = '#' ] || [ -z $LINE ]; then # Comment or empty line encountered, skip + echo "comment or empty line" continue fi - if [ ${LINE:0:1} = 'workspace=' ]; then - # TODO: strip 'workspace=' from LINE + if [ ${LINE:0:10} = 'workspace=' ]; then + length=${#LINE} #WORKSPACE="$HOME/workspace/projects" - WORKSPACE="$HOME/$LINE" + WORKSPACEDIR=`echo $LINE | cut -d'=' -f 2` + #WORKSPACE="$HOME/${LINE:11:$length}" + if [ -z $WORKSPACEDIR ]; then + WORKSPACE=$HOME + else + WORKSPACE="$HOME/$WORKSPACEDIR" + fi + echo "workspace: $WORKSPACE" if [ ! -e $WORKSPACE ]; then - mkdir -p $WORKSPACE + #mkdir -p $WORKSPACE + echo "mkdir -p $WORKSPACE" fi + continue fi - if [ ${LINE:0:1} = '[' ]; then - echo 'group: $GRP' - # TODO: strip [ and ] from LINE - GRP=$LINE + if [ ${LINE:0:6} = 'group=' ]; then + GRP=`echo $LINE | cut -d'=' -f 2` + echo "group: $GRP" + if [ -z $GRP ]; then + GRPDIR=$WORKSPACE/$GRP + else + GRPDIR=$WORKSPACE + fi + continue fi - if [ ! -e $WORKSPACE/$GRP ]; then - mkdir $WORKSPACE/$GRP - elif [ -f $WORKSPACE/$GRP ]; then - echo -e "[\e[31mX\e[0m] Group directory already exists as file: $WORKSPACE/$GRP" + if [ ! -e $GRPDIR ]; then + #mkdir $GRPDIR + echo "mkdir $GRPDIR" + elif [ -f $GRPDIR ]; then + echo -e "[\e[31mX\e[0m] Group directory already exists as file: $GRPDIR" exit 1 fi cd $WORKSPACE/$GRP - REPODIR=$(basename "$REPO") + REPODIR=$(basename "$LINE") #extension="${filename##*.}" REPODIR="${REPODIR%.*}" if [ -e $REPODIR ]; then @@ -47,11 +63,11 @@ for LINE in "${LINES[@]}"; do echo -e "[\e[31mX\e[0m] $GRP/$REPODIR changed - $WORKSPACE/$GRP/$REPODIR" else echo -e "[\e[32mU\e[0m] $GRP/$REPODIR" - git pull --quiet - git push --quiet + #git pull --quiet + #git push --quiet fi else echo -e "[\e[33mC\e[0m] $GRP/$REPODIR" - git clone --quiet $REPO + #git clone --quiet $LINE fi done