mirror of
https://github.com/aquatix/dotfiles.git
synced 2025-12-06 21:45:10 +01:00
55 lines
1.4 KiB
Bash
Executable File
55 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#value=`cat config.txt`
|
|
#echo "$value"
|
|
|
|
WORKSPACE="$HOME/workspace/projects"
|
|
|
|
if [ ! -e $WORKSPACE ]; then
|
|
mkdir -p $WORKSPACE
|
|
fi
|
|
|
|
saveIFS="$IFS"
|
|
IFS=$'\n'
|
|
GRPS=($(<~/.git_groups))
|
|
IFS="$saveIFS"
|
|
|
|
for GRP in "${GRPS[@]}"; do
|
|
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"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -e ~/.git_group_$GRP ]; then
|
|
saveIFS="$IFS"
|
|
IFS=$'\n'
|
|
REPOS=($(<~/.git_group_$GRP))
|
|
IFS="$saveIFS"
|
|
|
|
for REPO in "${REPOS[@]}"; do
|
|
cd $WORKSPACE/$GRP
|
|
REPODIR=$(basename "$REPO")
|
|
#extension="${filename##*.}"
|
|
REPODIR="${REPODIR%.*}"
|
|
if [ -e $REPODIR ]; then
|
|
cd $REPODIR
|
|
#git diff --quiet || echo "[c] skipping"
|
|
git diff --quiet
|
|
if [ $? > 0 ]; then
|
|
echo -e "[\e[31mX\e[0m] $GRP/$REPODIR changed - $WORKSPACE/$GRP/$REPO"
|
|
else
|
|
echo -e "[\e[32mU\e[0m] $GRP/$REPODIR"
|
|
#git pull
|
|
fi
|
|
else
|
|
#git clone $REPO
|
|
echo -e "[\e[33mC\e[0m] $GRP/$REPODIR"
|
|
fi
|
|
done
|
|
else
|
|
echo -e "[\e[31mX\e[0m] Group config file ~/.git_group_$GRP not found"
|
|
fi
|
|
done
|