有没有一种方法可以让git创建一个用于reviewboard的补丁?

6

我目前正在使用以下命令:

git diff --no-prefix -w trunk > my_beautiful_code.patch

但是当我在Review Board上上传差异时,却出现了以下错误:

No valid separator after the filename was found in the diff header

有没有方法能让Git做正确的事情?我认为ReviewBoard正在寻找精确的SVN格式。我可以克隆SVN repo,应用补丁,然后使用SVN制作补丁,但这很繁琐,我想要更清晰的工作流程...
谢谢!

你解决了这个问题吗?我也遇到了同样的问题。 - Ivan G.
1
这个问题很可能是由于RB只接受制表符作为文件名和修订版本之间的分隔符所引起的。在解决这个问题之后,你还会遇到RB请求树中已存在的修订号。然后它才会接受补丁。我无法表达SVN和RB给我带来的多大痛苦以及我对Git和拉取请求的赞赏。 - Mr. Tao
1个回答

5
这不是一个真正的答案,但部分解释了问题。
这是由于意料之外的(从RB服务器角度看)diff语法引起的。你缺少一些额外的信息,这些信息通常在subversion RB diffs中存在。
参见此错误的解决方法:

https://hellosplat.com/s/beanbag/tickets/1918/

该错误描述表明您可以切换到git-svn,或者编写一个简单的查找/替换脚本,在上传到RB之前为您准备和修复差异。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接