[llvm] r303696 - [git-llvm] Check if svn is installed.
Rui Ueyama via llvm-commits
llvm-commits at lists.llvm.org
Tue May 23 14:50:40 PDT 2017
Author: ruiu
Date: Tue May 23 16:50:40 2017
New Revision: 303696
URL: http://llvm.org/viewvc/llvm-project?rev=303696&view=rev
Log:
[git-llvm] Check if svn is installed.
The error message that git-llvm script prints out when svn is missing
is very cryptic. I spent a fair amount of time to find what was wrong
with my environment. It looks like many newcomers also exprienced a
hard time to submit their first patches due to this error.
This patch adds a more user-friendly error message.
Differential Revision: https://reviews.llvm.org/D33458
Modified:
llvm/trunk/utils/git-svn/git-llvm
Modified: llvm/trunk/utils/git-svn/git-llvm
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/git-svn/git-llvm?rev=303696&r1=303695&r2=303696&view=diff
==============================================================================
--- llvm/trunk/utils/git-svn/git-llvm (original)
+++ llvm/trunk/utils/git-svn/git-llvm Tue May 23 16:50:40 2017
@@ -133,6 +133,11 @@ def svn(cwd, *cmd, **kwargs):
return shell(['svn'] + list(cmd), cwd=cwd, stdin=kwargs.get('stdin', None),
ignore_errors=kwargs.get('ignore_errors', None))
+def program_exists(cmd):
+ for path in os.environ["PATH"].split(os.pathsep):
+ if os.access(os.path.join(path, cmd), os.X_OK):
+ return True
+ return False
def get_default_rev_range():
# Get the branch tracked by the current branch, as set by
@@ -309,6 +314,9 @@ def cmd_push(args):
if __name__ == '__main__':
+ if not program_exists('svn'):
+ die('error: git-llvm needs svn command, but svn is not installed.')
+
argv = sys.argv[1:]
p = argparse.ArgumentParser(
prog='git llvm', formatter_class=argparse.RawDescriptionHelpFormatter,
More information about the llvm-commits
mailing list