35 lines
706 B
Bash
35 lines
706 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
# find diff between git working copy and remote
|
||
|
|
||
|
# directory containing working copies
|
||
|
DIR_ROOT=$1
|
||
|
|
||
|
if [[ ! $DIR_ROOT ]] || [[ ! -d $DIR_ROOT ]]; then
|
||
|
echo "Usage: $0 root_dir"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# remember work dir
|
||
|
ORIG_DIR=$PWD
|
||
|
|
||
|
# search working copies
|
||
|
for GITDIR in $( find $DIR_ROOT -name .git -type d ); do
|
||
|
WORKCOPY=${GITDIR%/.git}
|
||
|
cd $WORKCOPY
|
||
|
# tester s'il y a un repo remote
|
||
|
if [ -n "$( git remote)" ]; then
|
||
|
# fetch remote
|
||
|
git fetch -q
|
||
|
# fichiers differents
|
||
|
GITREMOTEDIFF=$( git diff --name-status remotes/origin/master )
|
||
|
if [ -n "$GITREMOTEDIFF" ];then
|
||
|
echo "$WORKCOPY not synchronised with remote"
|
||
|
echo "$GITREMOTEDIFF"
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
# restore work dir
|
||
|
cd $ORIG_DIR
|
||
|
done
|