当使用svn repo的git镜像时,如何找到svn修订版的git哈希?

时间:2014-08-30 14:28:36

标签: git svn git-svn

我想在尝试使用llvm和clang代码时使用git。 因此我已经从git镜像克隆了源文件:

% git clone http://llvm.org/git/llvm.git
% cd llvm/tools
% git clone http://llvm.org/git/clang.git

现在我想用3.4.2作为我工作的基础。 我发现它是llvmclang的svn修订版216818。但我失去了如何为此找到合适的git哈希所以我可以这样做:

% git checkout -b myexperiment githash_of_svnrelease_342_final_of_LLVM
% cd tools/clang
% git checkout -b myexperiment githash_of_svnrelease_342_final_of_CLANG

1 个答案:

答案 0 :(得分:1)

从那时起,我发现我应该能够找到特定svn版本的git哈希,如下所示:

% git svn log --show-commit -r216818

git-svn manual中记录了这一点。但是在clang rev216818的这个非常具体的情况下,上面的命令没有给我git哈希。 这可能是因为llvm和clang git镜像只反映每个项目的svn trunk。 因此,如果我想从svn标签/ RELEASE_342 / final分叉我的分支,那么除了使用git-svn之外别无其他选择,因为它在llvm documentation中有记录。