Grab the svn HEAD git commit number?

In regular git I can run

git rev-parse HEAD

to get the git HEAD revision number. How would I get the svn HEAD revision number instead?

  • How to synchronize Git Repositories across 2 Servers
  • git - setting a commit's parent without rebase
  • How to share git branches that are based on same repository?
  • git push rejected
  • Missing dependency in Gerrit
  • how to list all pull request with count of files changed
  • I know I can manually grab it by looking at the git log for the last commit with a git-svn-id.
    Also, looking through the manual for log pretty-format there’s a way to get the ref name (%d) which in the case of the HEAD svn commit shows up as git-svn.

    Thanks.

  • Merge strategy for whitespace only changes?
  • correctly rebase a merge
  • Git find out the last commit i pushed
  • Git/GitHub can't push to master
  • Git Segmentation fault: 11
  • Git subtree and multiple directories
  • 2 Solutions collect form web for “Grab the svn HEAD git commit number?”

    It’s a bit of a hack and I welcome improvements but here’s what I’ve got so far.

    I’ve added an alias to my git config:

    svnhead = log --grep=git-svn --pretty=format:'%h' -n 1
    

    now I can call

    git svnhead 
    

    to return the short git commit hash and I can pass it in to

    git rebase -i $(git svnhead)
    

    for example to interactive rebase everything from the svn head commit.

    EDITED 9/23/13

    I recently realized this can be done using rev-parse:

    git rev-parse master
    

    if your master branch tracks the SVN repo, or

    git rev-parse git-svn 
    

    git svn find-rev HEAD will give you the SVN revision number

    git svn find-rev r$(git svn find-rev HEAD) will give you the git commit hash for that revision.

    Git Baby is a git and github fan, let's start git clone.