首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Git SVN能否计算出svn mergeinfo - eligible合格?

Git SVN能否计算出svn mergeinfo - eligible合格?
EN

Stack Overflow用户
提问于 2013-03-22 21:32:42
回答 2查看 727关注 0票数 5

我使用SVN,有一个稳定的生产分支和一个不稳定的主干。对于每个版本,我们都会从主干中挑选要合并到生产中的项目。

我已经用git克隆了我的SVN,这样我就可以更快地搜索我需要合并的提交(因为我在提交消息中搜索JIRA id )。但是,我仍然在它的末尾与svn合并进行合并。

这个长期存在的生产分支的问题之一是,在主干中可能会有未合并的提交。

为了解决这个问题,我偶尔运行:

svn mergeinfo --show-revs eligible https://my.server/svn/trunk https://my.server/svn/branches/PROD_V3.00

不过,这实在是太慢了。在git中的等效值是

git log prod..master

但是,这似乎只是列出了所有提交。

这是由于git没有识别svn合并和svn:mergeinfo属性吗?

有什么方法可以让我快速获得合格的提交吗?

编辑:

我尝试了Joes,但是,git cherry只输出SHA,我需要SVN修订版来完成合并。因此,我不得不通过git svn find-rev来查找SVN ids来获得我需要的东西。

git cherry prod master|cut -d' ' -f2|while read -r line; do git svn find-rev "$line"; done;

不幸的是,这比svn mergeinfo --show-revs eligible慢。

EN

回答 2

Stack Overflow用户

发布于 2013-03-23 07:06:44

如果提交是经过精心挑选的,那么您现在有两个提交副本。Git将显示master中的所有提交,即使它们在prod中有一个副本。

类似的情况可能是:

代码语言:javascript
运行
复制
git cherry master prod

这将向您展示在master中没有被选中到prod中的任何提交。

票数 3
EN

Stack Overflow用户

发布于 2014-12-19 16:07:01

如果您能够在Perl中工作,那么git-svn只是一个大型perl脚本,而git svn find-rev是该perl脚本中的一个函数。您可以使用它编写代码,这将避免每次读取rev_map文件。

所以,我的想法是:

代码语言:javascript
运行
复制
git cherry prod master|cut -d' ' -f2|while read -r line; do git svn find-rev "$line"; done

变得更像这样(不完整,也没有运行b/c ++,我不再有git-svn回购):

代码语言:javascript
运行
复制
#!/usr/bin/perl

use Carp;
use Git::SVN;
# use ...the rest of the Git::SVN module...

# ...initialize whatever is necessary...

open(ELIGIBLE_COMMITS, "git cherry prod master") || croak "Couldn't do git cherry";
while (<ELIGIBLE_COMMITS>) {
    ($ignore, $sha1) = split;
    my (undef, $rev, undef) = cmt_metadata($sha1);
    print "$rev\n";
}
close(ELIGIBLE_COMMITS);

您还可以考虑修改git-svn脚本的cmd_find_rev,以采取指定要查找的多个修订的附加选项,例如,

代码语言:javascript
运行
复制
find-rev --file <filename>

其中文件名可以是"-“来指定STDIN。

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

https://stackoverflow.com/questions/15580206

复制
相关文章

相似问题

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