From 99f8c4f5b659ab92c8eafc6dc9f887f1af465eb0 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Fri, 3 May 2019 22:03:29 +0000 Subject: [PATCH] Make the git-llvm script work on older git versions that don't support git rev-parse --git-common-dir. Not all versions of git support git rev-parse --git-common-dir. Rather than erorr or print any kind of useful error, they just print back '--git-common-dir' instead of a directory. The git-llvm script ends up taking this '--git-common-dir' as a diretory name to use. Not sure exactly what happens after that, but the end result is that the 'git llvm push' ends up looking like it pushed your commits, but really did nothing. This patch makes the script detect the bogus directory name for --git-common-dir and falls back to using --git-dir instead. llvm-svn: 359939 --- llvm/utils/git-svn/git-llvm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/llvm/utils/git-svn/git-llvm b/llvm/utils/git-svn/git-llvm index 0afa836..28a0a9b 100755 --- a/llvm/utils/git-svn/git-llvm +++ b/llvm/utils/git-svn/git-llvm @@ -392,6 +392,11 @@ def cmd_push(args): # We need a staging area for SVN, let's hide it in the .git directory. dot_git_dir = git('rev-parse', '--git-common-dir') + # Not all versions of git support --git-common-dir and just print the + # unknown command back. If this happens, fall back to --git-dir + if dot_git_dir == '--git-common-dir': + dot_git_dir = git('rev-parse', '--git-dir') + svn_root = os.path.join(dot_git_dir, 'llvm-upstream-svn') svn_init(svn_root) -- 2.7.4