zb2*_*226 2 svn git logging git-svn
当git-svn需要重建其内部地图时,它会将所需信息输出到STDERR:
Rebuilding .git/svn/refs/remotes/origin/trunk/.rev_map.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
r38601 = 28d3a624c5c96db9a1f45d8f261a9b0de1f6f288
r38652 = 74c55b8dff798e5ae1bc2ad00d8ec6eee4f2646b
r38744 = eb457e1949ecf854816ba9cf64b4bace710a7302
r38745 = 5bca99a37fbc6db72d2d50a75301185f4297926c
(...)
Run Code Online (Sandbox Code Playgroud)
该文件.git/svn/refs/remotes/origin/trunk/.rev_map.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX遗憾的是二进制文件,因此无法轻松解析.有没有办法git-svn通过特定命令输出上述信息?git 2.7.0顺便说一句,我在上.
编辑:我知道git svn find-rev,但这只会让我找到单个修订版的SHA-1提交哈希值,我必须提供一个特定的SVN修订版.但是,我想得到的是所有修订版的映射.最好不要强行通过或使用外部数据源(即SVN repo)来提供SVN修订作为输入.最优选的是,在没有提供任何内容的情况下,因为在git-svn构建了其修订版图之后,此信息存储在存储库中 - 或者不是?
获取所有SVN修订版:
git config --add svn-remote.<Remote>.url <SVN URL>
git config --add svn-remote.<Remote>.fetch :refs/remotes/<Remote Name>
git svn fetch <Remote>
Run Code Online (Sandbox Code Playgroud)
映射修订号<=> git SHA-1:
git checkout remotes/<Remote Name>
git svn log --show-commit --oneline
Run Code Online (Sandbox Code Playgroud)
输出:
r50 | 77c9acf | "SVN Commit message"
...
r1 | 84e6c49 | "SVN Commit message"
Run Code Online (Sandbox Code Playgroud)