#!/bin/bash

function do_git {
  echo $1
  cd $1
  git ls-remote --get-url | tee -a $HOME/Gits/gits.lst
  git status
  git checkout -- .
  git pull
  cd ..
  echo
}

function do_merc {
  echo $1
  cd $1
  ht heads
  cd ..
  echo
}

function do_svn {
  echo $1
  cd $1
  svn status
  cd ..
  echo
}

function do_dir {
  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/Gits ]; then
  cd $HOME/Gits
  echo "Git Repositories:"
  echo "================="
  cat /dev/null > gits.lst
  do_dir .
  echo "================="
  echo -n "Total: "
  wc -l gits.lst
  echo "================="
  if [ `hostname` != "babylon5" ]; then
    scp -P 2829 babylon5.probestar.com:~/Gits/gits-master.lst .
    sort gits.lst > stig.lst
    mv stig.lst gits.lst
    sort gits-master.lst > stug.lst
    mv stug.lst gits-master.lst
    diff -bw gits-master.lst gits.lst
  fi
  echo "================="
fi
