跑步时git svn clone
并且经常在随后的过程中git svn fetch
我在许多文件夹中收到此消息:
Couldn't find revmap for <SVN folder URL>
我的存储库seems工作顺利。这个消息是什么意思?我应该担心吗?
我没有完整的答案,但这个错误是由git-svn.perl https://github.com/gitster/git/blob/master/git-svn.perl。 (相关的代码路径似乎是 do_fetch -> make_log_entry -> find_extra_svn_parents -> Lookup_svn_merge。)该代码似乎试图查看 svn merge 提交的 svn:mergeinfo 属性以找出其所有父提交/分支,希望将其转变为 git 克隆内的一个漂亮的多父合并提交。如果父解析失败,您的提交仍然会被提取到 git 中;它只是不会拥有与其他情况相同的父信息。
到目前为止,对于我当前的主要用例(即将 svn 存储库转换为 git),我个人还没有发现任何因该错误而产生的大问题; git-svn 已经能够解决对我来说真正重要的大型合并,到目前为止,这些错误似乎仅限于单独的精选合并或我不再关心的旧分支。
实际上,乍一看,在我的例子中,大多数错误都源于提交,其中svn:合并信息 http://svnbook.red-bean.com/en/1.6/svn.ref.svn.c.mergeinfo.html我认为 svn 中的记录级别是错误的。在 svn repo 中,我们通常尝试在分支根记录 svn:mergeinfo,例如在 svn/trunk 中,而 git 抱怨的情况似乎与附加到特定分支子目录的 mergeinfo 有关,例如在 svn/trunk/dir1。我不是 svn 专家,但我目前的启发是,如果你有很多 svn:mergeinfos 不在分支根部,那么你的 svn 存储库或合并过程可能有问题。如果这是正确的,那么 git 会抱怨也是可以理解的。就我自己而言,我认为大多数“奇怪”的提交都会在分支根(例如 svn/trunk)处修改 svn:mergeinfoand在子目录级别(例如 svn/trunk/dir1); git 从根级别收集它需要的任何内容,并抛出一个关于子目录级别的明显无害的错误。
也就是说,有些人似乎在某些情况下报告了问题,也许尤其是在在 git-svn 存储库中进行变基,其中并未检出所有分支 https://stackoverflow.com/questions/6598610/git-svn-couldnt-find-revmap-for.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)