从“git format-patch”上传到ReviewBoard失败“未在存储库中找到文件”

时间:2013-01-29 23:31:14

标签: git review-board format-patch

使用ReviewBoard GUI时有没有人看到投诉The file “<file>” (revision <revision>) was not found in the repository

E.g。我明白了  上传使用The file "agent/src/com/cloud/agent/resource/HypervResource.java" (revision 8b8e89d) was not found in the repository创建的差异文件时git format-patch

但是,该文件是我的差异的一部分,并且从未在我的补丁引用的git repo中。

背景是我为主分支创建了一个补丁。 E.g。

$ git format-patch origin/master --stdout > ../hyperV-plugin.patch

补丁本身描述了文件的创建,应用索引8b8e89d,如下所示。

1.7.9


From 13f9c118c724afb52b0694de539b4e1b3c38e7f7 Mon Sep 17 00:00:00 2001
From: "U-CC-SVR11\\Administrator" <Administrator@CC-SVR11.(none)>
Date: Thu, 15 Nov 2012 19:19:08 +0000
Subject: [PATCH 07/96] Starting point for ServerResource for Hyper-V is DummyResource.

---
.../com/cloud/agent/resource/HypervResource.java   |  227
++++++++++++++++++++
1 files changed, 227 insertions(+), 0 deletions(-) create mode 100755 agent/src/com/cloud/agent/resource/HypervResource.java

diff --git a/agent/src/com/cloud/agent/resource/HypervResource.java
b/agent/src/com/cloud/agent/resource/HypervResource.java
new file mode 100755
index 0000000..8b8e89d
--- /dev/null
+++ b/agent/src/com/cloud/agent/resource/HypervResource.java
@@ -0,0 +1,227 @@
+// Licensed to the Apache Software Foundation (ASF) under one // or 
+more contributor license agreements.  See the NOTICE file // 
+distributed with this work for additional information // regarding 
+copyright ownership.  The ASF licenses this file // to you under the 
+Apache License, Version 2.0 (the // "License"); you may not use this 
+file except in compliance // with the License.  You may obtain a copy 
+of the License at

稍后,编辑文件时文件索引会更改。 E.g。

1.7.9


From fef4e3f291264224ed1430b3dff1e49bea7930c9 Mon Sep 17 00:00:00 2001
From: "U-CC-SVR11\\Administrator" <Administrator@CC-SVR11.(none)>
Date: Mon, 19 Nov 2012 15:41:26 +0000
Subject: [PATCH 09/96] Add min messages for host to register with the management server when it starts up.

---
.../com/cloud/agent/resource/HypervResource.java   |  200
++++++++++++++++++-
1 files changed, 189 insertions(+), 11 deletions(-)

diff --git a/agent/src/com/cloud/agent/resource/HypervResource.java
b/agent/src/com/cloud/agent/resource/HypervResource.java
index 8b8e89d..e810ce4 100755
--- a/agent/src/com/cloud/agent/resource/HypervResource.java
+++ b/agent/src/com/cloud/agent/resource/HypervResource.java
@@ -20,14 +20,15 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;
+import java.util.Set;
import java.util.UUID;

2 个答案:

答案 0 :(得分:3)

在我有机会对上述问题提交之前,我找到了答案。由于答案不明显,我将在此处发布:

对于多提交补丁,请通过“审核后”而不是ReviewBoard GUI进行创建。

问题在于添加一个聚合了大量补丁的diff文件。就我而言,我有~97次提交。为每个提交git format-patch -s master生成一个补丁,可以查看97个不同的补丁,这是无法管理的。 Apache建议使用git format-patch master --stdout > ~/patch-name.patch将补丁转储到单个文件中(参见Contributing to Apache CloudStack as a Non-Committer)不幸的是,当一个补丁依赖另一个补丁时,这会导致问题。

要避免这些问题,请通过RBTools中的post-review命令将提交作为单个补丁提交(查看审核委员会工具,请参阅install instructions。安装RBTools后,请验证您的本地git repo的来源/主数据正在跟踪代码合并的目标。例如

$ git remote -v
origin  https://git-wip-us.apache.org/repos/asf/incubator-cloudstack.git (fetch)
origin  https://git-wip-us.apache.org/repos/asf/incubator-cloudstack.git (push)

另外,设置目标审核委员会。例如。要设置repo,请在repo的根文件夹中使用以下命令。

git config reviewboard.url https://reviews.apache.org

从您当地的git repo的根目录,只需致电post-review即可。它会粗略显示本地仓库中的HEAD与origin / master之间的更改,创建审阅并返回URL。然后,您使用浏览器充实评论/摘要/组。

享受!

答案 1 :(得分:0)

对于我的情况,可能是RB没有正确呈现真正的问题。您可以逐个解决这些fake问题。最后你会看到真正的问题。

就我而言,真正的问题是:

(1153, "Got a packet bigger than 'max_allowed_packet' bytes")

你不能将大文件(如6MB)发布到RB