patch默认给哪个文件打补丁?
diff -uN foo bar > patch
创建了一个补丁文件
执行 patch -p0 < patch
时发现patch行为不一致
下面的patch文件默认给 core/restservices.class.inc.php打补丁
--- core/restservices.class.inc.php 2017-05-24 19:10:31.156456256 +0800
+++ /tmp/restservices.class.inc.php 2017-05-24 19:10:46.933503094 +0800
@@ -102,6 +102,10 @@
$value[] = $aLnkValues;
}
}
+ elseif($oAttDef instanceof AttributeCustomFields)
+ {
+ $value = $oObject->Get($sAttCode)->GetValues();
+ }
else
{
$value = $oAttDef->GetForJSON($oObject->Get($sAttCode));
下面是同样方法生成的补丁文件,却默认给 /tmp/applicationextension.inc.php打补丁
--- application/applicationextension.inc.php 2017-06-01 19:24:54.292262420 +0800
+++ /tmp/applicationextension.inc.php 2017-06-01 19:36:55.882773607 +0800
@@ -944,6 +944,10 @@
}
$value = DBObjectSet::FromArray($sLnkClass, $aLinks);
}
+ elseif($oAttDef instanceof AttributeCustomFields)
+ {
+ $value = json_decode(json_encode($value), true);
+ }
else
{
$value = $oAttDef->FromJSONToValue($value);
当明确的指定了 patch application/applicationextension.inc.php时,第二个patch才能正确工作,这是什么情况?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论