| OLD | NEW |
| 1 #!/bin/sh | 1 #!/bin/sh |
| 2 | 2 |
| 3 usage() { | 3 usage() { |
| 4 echo "usage: $0 <source root>" | 4 echo "usage: $0 <source root>" |
| 5 echo " Prints the source control repository path of the given source" | 5 echo " Prints the source control repository path of the given source" |
| 6 echo " directory, the exact format of the revision string depends on the" | 6 echo " directory, the exact format of the revision string depends on the" |
| 7 echo " source control system. If the source control system isn't known," | 7 echo " source control system. If the source control system isn't known," |
| 8 echo " the output is empty and the exit code is 1." | 8 echo " the output is empty and the exit code is 1." |
| 9 exit 1 | 9 exit 1 |
| 10 } | 10 } |
| 11 | 11 |
| 12 if [ $# != 1 ] || [ ! -d $1 ]; then | 12 if [ $# != 1 ] || [ ! -d $1 ]; then |
| 13 usage; | 13 usage; |
| 14 fi | 14 fi |
| 15 | 15 |
| 16 cd $1 | 16 cd $1 |
| 17 if [ -d .svn ]; then | 17 if [ -d .svn ]; then |
| 18 svn info | grep '^URL:' | cut -d: -f2- | 18 svn info | grep '^URL:' | cut -d: -f2- |
| 19 elif [ -f .git/svn/.metadata ]; then | 19 elif [ -f .git/svn/.metadata ]; then |
| 20 git svn info | grep 'URL:' | cut -d: -f2- | 20 git svn info | grep 'URL:' | cut -d: -f2- |
| 21 elif [ -d .git ]; then | 21 elif [ -d .git ]; then |
| 22 if [ -f .git/objects/info/alternates ]; then |
| 23 cd `cat .git/objects/info/alternates` |
| 24 fi |
| 22 git remote -v | grep 'fetch' | awk '{ print $2 }' | head -n1 | 25 git remote -v | grep 'fetch' | awk '{ print $2 }' | head -n1 |
| 23 else | 26 else |
| 27 echo "Invalid Repository Path: $1" 1>&2 |
| 24 exit 1; | 28 exit 1; |
| 25 fi | 29 fi |
| 26 | 30 |
| 27 exit 0 | 31 exit 0 |
| OLD | NEW |