git llvm push?

Hey,

First time using LLVM’s git repo. Does ‘git llvm push’ take a really long time to work? I’ve tried to push a couple of times now and receive a message like:

llvm-project/llvm> git llvm push
Pushing 1 commit:
2159c44 Update PatternMatcher for FNeg

Committed 2159c44 to svn.
llvm-project/llvm>

The svn repo never seems to update though. Any ideas?

I might have seen this issue. What does “git rev-parse --git-common-dir” return for you?

llvm-project/llvm> git rev-parse --git-common-dir
–git-common-dir
llvm-project/llvm>

Ok that’s exactly the problem I had. The script expects that to return a directory name. But its just echoing back the argument because it doesn’t recognize it. I assume it must be some difference in versions of git. I’ve been hacking around it with this

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’)

Good show! That worked. Thanks, Craig.

Patch LGTM, please commit it. :slight_smile: