llvm-mirror/utils/GetRepositoryPath
Daniel Sanders e04b13b6d4 Fix the build for git repositories with multiple remotes.
Summary:
When a git repository had multiple remotes, ${repository} will be set to a multiline string. This causes compilation errors in SVNVersion.inc.

Fix this by limiting the output of utils/GetRepositoryPath to the first remote (which is reasonably likely to be 'origin').

Reviewers: jordan_rose

CC: llvm-commits, t.p.northover

Differential Revision: http://llvm-reviews.chandlerc.com/D1659

llvm-svn: 190778
2013-09-16 09:25:49 +00:00

28 lines
657 B
Bash
Executable File

#!/bin/sh
usage() {
echo "usage: $0 <source root>"
echo " Prints the source control repository path of the given source"
echo " directory, the exact format of the revision string depends on the"
echo " source control system. If the source control system isn't known,"
echo " the output is empty and the exit code is 1."
exit 1
}
if [ $# != 1 ] || [ ! -d $1 ]; then
usage;
fi
cd $1
if [ -d .svn ]; then
svn info | grep '^URL:' | cut -d: -f2-
elif [ -f .git/svn/.metadata ]; then
git svn info | grep 'URL:' | cut -d: -f2-
elif [ -d .git ]; then
git remote -v | grep 'fetch' | awk '{ print $2 }' | head -n1
else
exit 1;
fi
exit 0