获取svn头git提交编号?

获取svn头git提交编号?,git,git-svn,Git,Git Svn,在普通git中,我可以跑步 git rev-parse HEAD 获取git头版本号。我如何获得svn头部修订号 我知道我可以通过查看git日志来手动获取它,最后一次提交时使用git-svn-id。 另外,在阅读日志格式手册时,有一种方法可以获取ref名称(%d),在HEAD svn commit的情况下,该名称显示为git svn 谢谢 这是一个小技巧,我欢迎改进,但以下是我到目前为止所做的 我已将别名添加到git配置中: svnhead = log --grep=git-svn --pre

在普通git中,我可以跑步

git rev-parse HEAD
获取git头版本号。我如何获得svn头部修订号

我知道我可以通过查看git日志来手动获取它,最后一次提交时使用git-svn-id。 另外,在阅读日志格式手册时,有一种方法可以获取ref名称(%d),在HEAD svn commit的情况下,该名称显示为git svn


谢谢

这是一个小技巧,我欢迎改进,但以下是我到目前为止所做的

我已将别名添加到git配置中:

svnhead = log --grep=git-svn --pretty=format:'%h' -n 1
现在我可以打电话了

git svnhead 
返回短git提交散列,我可以将其传递给

git rebase -i $(git svnhead)
例如,从svn头提交到交互式重设所有内容的基础

2013年9月23日编辑

我最近意识到这可以通过rev parse实现:

git rev-parse master
如果您的主分支机构跟踪SVN回购,或

git rev-parse git-svn 

git svn find rev HEAD
将为您提供svn修订号


git svn find rev r$(git svn find rev HEAD)
将为您提供该修订版的git提交哈希。

可能重复欢迎使用SO,感谢您分享您的解决方案!谢谢你的欢迎。我不相信这是一个重复,因为我正在寻找的是git哈希,而不是SVN提交修订号。很抱歉误读了这两篇文章。对于Git,使用commit hash而不是commit numbers这可能是一种攻击,但它与Git svn使用的是同一种攻击。根据手册页:
git log--grep=^git svn id:--first parent-1
(请参阅的
注意事项
部分)