#!/bin/bash function do_git { echo $1 "(Git)" cd $1 git ls-remote --get-url if [ -f .gitmodules ]; then git pull --recurse-submodules else git pull fi cd .. echo } function do_merc { echo $1 "(Mercurial)" cd $1 hg pull -u cd .. echo } function do_svn { echo $1 "(Subversion)" cd $1 svn info --show-item url svn update cd .. echo } function do_dir { pwd echo $1 echo "-----------------" for i in * do if [ -d $i ]; then if [ -d $i/.git ]; then do_git $i elif [ -d $i/.hg ]; then do_merc $i elif [ -d $i/.svn ]; then do_svn $i else cd $i do_dir $i cd .. fi fi done } if [ -d $HOME/ProbeStar ]; then cd $HOME/ProbeStar echo "P* Repositories:" echo "================" do_dir . echo "================" fi