Daniel Dunbar | e40eb09 | 2010-01-21 16:09:59 +0000 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
Daniel Dunbar | f63623f | 2010-01-22 18:14:21 +0000 | [diff] [blame] | 3 | usage() { |
Daniel Dunbar | 1619beb | 2010-09-29 17:57:01 +0000 | [diff] [blame] | 4 | echo "usage: $0 <source root>" |
| 5 | echo " Prints the source control revision of the given source directory," |
| 6 | echo " the exact format of the revision string depends on the source " |
| 7 | echo " control system. If the source control system isn't known, the output" |
| 8 | echo " is empty and the exit code is 1." |
| 9 | exit 1 |
Daniel Dunbar | e40eb09 | 2010-01-21 16:09:59 +0000 | [diff] [blame] | 10 | } |
| 11 | |
| 12 | if [ $# != 1 ] || [ ! -d $1 ]; then |
| 13 | usage; |
| 14 | fi |
| 15 | |
| 16 | cd $1 |
| 17 | if [ -d .svn ]; then |
Daniel Dunbar | 6a2e912 | 2010-09-29 19:30:17 +0000 | [diff] [blame] | 18 | svnversion | sed -e "s#\([0-9]*\)[A-Z]*#\1#" |
Daniel Dunbar | e40eb09 | 2010-01-21 16:09:59 +0000 | [diff] [blame] | 19 | elif [ -d .git/svn ]; then |
Daniel Dunbar | 1619beb | 2010-09-29 17:57:01 +0000 | [diff] [blame] | 20 | git svn info | grep 'Revision:' | cut -d: -f2- |
Daniel Dunbar | e40eb09 | 2010-01-21 16:09:59 +0000 | [diff] [blame] | 21 | elif [ -d .git ]; then |
Daniel Dunbar | 1619beb | 2010-09-29 17:57:01 +0000 | [diff] [blame] | 22 | git log -1 --pretty=format:%H |
Daniel Dunbar | e40eb09 | 2010-01-21 16:09:59 +0000 | [diff] [blame] | 23 | else |
Daniel Dunbar | 1619beb | 2010-09-29 17:57:01 +0000 | [diff] [blame] | 24 | exit 1; |
Daniel Dunbar | e40eb09 | 2010-01-21 16:09:59 +0000 | [diff] [blame] | 25 | fi |
| 26 | |
| 27 | exit 0 |