patch - 如何解决错误“Hunk #2 FAILED at 456. 1 out of 2 hunks FAILED”
问题描述
我正在尝试在 ubuntu 终端中运行以下命令
patch -p0 -i adjustmentFile.patch
这是给出以下错误
patching file ./src/helpStructures/CastaliaModule.cc
patching file ./src/node/communication/mac/tunableMac/TunableMAC.cc
Hunk #2 FAILED at 456.
1 out of 2 hunks FAILED -- saving rejects to file ./src/node/communication/mac/tunableMac/TunableMAC.cc.rej
我尝试了链接Hunk #1 FAILED at 1 中建议的几乎所有方法。这是什么意思?. 但是,没有任何效果。
这是我的版本详细信息
VIM - Vi IMproved 8.0(2016 年 9 月 12 日,2019 年 6 月 6 日 17:31:41 编译)包含的补丁:1-1453
补丁文件:
diff -r -u ./src/helpStructures/CastaliaModule.cc ./src/helpStructures/CastaliaModule.cc
--- ./src/helpStructures/CastaliaModule.cc 2010-12-09 09:56:47.000000000 -0300
+++ ./src/helpStructures/CastaliaModule.cc 2011-12-20 00:16:39.944320051 -0300
@@ -180,6 +180,8 @@
classPointers.resourceManager = getParentModule()->getParentModule()->getSubmodule("ResourceManager");
else if (name.compare("SensorManager") == 0)
classPointers.resourceManager = getParentModule()->getSubmodule("ResourceManager");
+ else if (name.compare("Routing") == 0)
+ classPointers.resourceManager = getParentModule()->getParentModule()->getSubmodule("ResourceManager");
else
opp_error("%s module has no rights to call drawPower() function", getFullPath().c_str());
if (!classPointers.resourceManager)
Only in ./src/helpStructures: CastaliaModule.cc~
diff -r -u ./src/node/communication/mac/tunableMac/TunableMAC.cc ./src/node/communication/mac/tunableMac/TunableMAC.cc
--- ./src/node/communication/mac/tunableMac/TunableMAC.cc 2011-03-30 02:14:34.000000000 -0300
+++ ./src/node/communication/mac/tunableMac/TunableMAC.cc 2011-12-19 23:57:43.894686687 -0300
@@ -405,6 +405,8 @@
void TunableMAC::fromRadioLayer(cPacket * pkt, double rssi, double lqi)
{
TunableMacPacket *macFrame = dynamic_cast <TunableMacPacket*>(pkt);
+ macFrame->getMacRadioInfoExchange().RSSI = rssi;
+ macFrame->getMacRadioInfoExchange().LQI = lqi;
if (macFrame == NULL){
collectOutput("TunableMAC packet breakdown", "filtered, other MAC");
return;
@@ -454,7 +456,8 @@
}
case DATA_FRAME:{
- toNetworkLayer(macFrame->decapsulate());
+ cPacket *netPkt = decapsulatePacket(macFrame);
+ toNetworkLayer(netPkt);
collectOutput("TunableMAC packet breakdown", "received data pkts");
if (macState == MAC_STATE_RX) {
cancelTimer(ATTEMPT_TX);
Only in ./src/node/communication/mac/tunableMac: TunableMAC.cc~
解决方案
修补程序对文件 X 进行了一些更改,并将它们应用于文件 X 的不同实例。也就是说,假设您从文件 X 的第 1 代开始;您进行更改以获得第 2-a 代,而其他人从第 1 代开始制作第 2-b 代。现在您想要获取创建他的第 2-b 代的编辑,并将它们应用到您的第 2-a 代。
如果“他的”更改与“您的”更改发生冲突,则无法自动修补它们。
您需要查看在 hunk 2 中所做的更改。
- toNetworkLayer(macFrame->decapsulate());
+ cPacket *netPkt = decapsulatePacket(macFrame);
+ toNetworkLayer(netPkt);
并弄清楚你想要的结果是什么样的。有人需要知道结果应该是什么。如果不了解意图,就无法解决冲突。
推荐阅读
- jquery - Laravel:单个数据未显示:Ajax
- plsql - 页面项目中带有问号的菱形
- python - 按关键字对 2d numpy 字符串数组进行排序
- r - 仅引用 R 中 str_extract_all 中的最后一个匹配项
- reactjs - 无法使用 amqplib 库在 ReactJs 中连接 rabbitMQ
- bash - 1>/dev/null 和 >/dev/null 和 &>/dev/null
- javascript - 某些节点具有多个父节点的垂直图
- specflow - 两个给定步骤之间的规范流挂钩
- shell - 以下 shell 脚本行是什么意思?
- docker - Docker 容器无法启动 > FATA 008 无法初始化本地 MSP