首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git svn cherry pick忽略警告

git svn cherry pick忽略警告
EN

Stack Overflow用户
提问于 2012-02-24 19:23:44
回答 1查看 4.6K关注 0票数 34

当我运行git svn fetch时,有时会打印以下警告:

代码语言:javascript
复制
W:svn cherry-pick ignored (/path/in/svn:<svn revision number list>) missing 55 commit(s) (eg 9129b28e5397c41f0a527818edd344bf264359af)

这个警告是关于什么的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-25 04:54:19

当有人对Subversion进行“挑剔的合并”时,Subversion会将合并后的提交记录到所涉及的文件和文件夹的元数据中。

当您执行git svn fetch时,Git会看到合并元数据,并尝试将其解释为Git远程分支之间的合并。所有这条消息都意味着Git试图这样做,但失败了,所以它会将其记录为常规提交而不是合并。

这不是你需要担心的事情,除非你在Git获取Subversion提交的方式中发现了错误。

更详细地说:

假设您有一个具有两个分支AB的Subversion存储库,以及一个匹配的Git svn存储库:

代码语言:javascript
复制
A B   

*    r6
| *  r5
* |  r4
| *  r3
|/     
*    r2
*    r1

如果要将分支B重新集成到分支A中,则需要在分支A工作副本中使用命令,如svn merge -r 3:HEAD ^/branches/Bsvn merge --reintegrate ^/branches/B。Subversion将在svn:mergeinfo标记中记录元数据,记录此合并已经发生,您的下一个git svn fetch将看到此元数据,看到分支B已重新集成到分支A中,并在其历史记录中将相应的提交记录为合并。

如果您只想从分支B中的分支A中提交一次(比如r3添加了一个您需要的特性),但是您还不想重新集成整个分支,那么您可以使用Subversion命令,比如svn merge -c 3 ^/branches/B。同样,Subversion将记录合并元数据,Git将看到这一点,并尝试确定是否可以像上一个示例中那样记录分支合并。在本例中,它不能:分支A不包含类似分支B的r5的任何内容,这就是触发此警告的原因。

票数 52
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9429922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档