[PATCH] D33458: [git-llvm] Check if svn and git-svn have been installed.

Rui Ueyama via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 23 13:16:33 PDT 2017


ruiu updated this revision to Diff 99980.
ruiu added a comment.

- Address review comments


https://reviews.llvm.org/D33458

Files:
  llvm/utils/git-svn/git-llvm


Index: llvm/utils/git-svn/git-llvm
===================================================================
--- llvm/utils/git-svn/git-llvm
+++ llvm/utils/git-svn/git-llvm
@@ -133,6 +133,11 @@
     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 @@
 
 
 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,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33458.99980.patch
Type: text/x-patch
Size: 919 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170523/6dfbb366/attachment.bin>


More information about the llvm-commits mailing list