Chris@75: #!/bin/bash Chris@75: Chris@75: vcs_id() { Chris@75: dir="$1" Chris@75: ( cd "$dir" ; Chris@113: if [ -d .hg ]; then Chris@113: tag=$(hg id -t -r 'parents(.)') # tag is always followed by tag-commit Chris@113: if [ "$tag" != "" ]; then Chris@113: echo "${tag#$dir-}" # strip dir- prefix from tag if present Chris@113: else Chris@113: hg id | awk '{ print $1; }' Chris@113: fi Chris@113: elif [ -d .git ]; then Chris@113: git rev-parse --short HEAD Chris@113: elif [ -d .svn ]; then Chris@113: svn info | grep ^Revision | awk '{ print $2; }' Chris@113: else Chris@113: echo "unknown" Chris@113: fi Chris@75: ) Chris@75: } Chris@75: