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?

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.

  • Strange error while trying to clone a SVN repo via git
  • Something wrong with deinstallation of GIT in Windows
  • Single git-svn command not caching password for multiple svn actions
  • I need to un-fetch some revisions from git-svn
  • Can I copy a Git working copy onto another machine?
  • Branch name starting with '-' in git
  • How to resolve a git-svn rebase with moved files?
  • How to make an existing git branch track a remote SVN branch?
  • 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.