(lange Geschichte ...)Was verursacht git-apply "korrupter Patch?"
ich in der Mitte bin eine gigantische PHP-Anwendung zu bringen, zu diesem Jahrhundert bis ... ;-) ... während andere Teams halten weiterhin an die bestehende Version davon.
Dies hat bisher zu etwa 275 Patches geführt. Das Problem ist, dass eine der Änderungen, die wir vorgenommen haben, darin besteht, <?
Tags in <?php
und einige ähnliche Änderungen im Code zu konvertieren. All dies verhindert natürlich die Anwendung von Patches, denn (tatsächlich ...) stimmt der Quellcode nicht mit überein.
Also, ich dachte, ein kleines Skript zu schreiben, um die Patch-Dateien zu bearbeiten: um die Tags im Patch zu ändern.
Was ich bekomme, ist jedoch corrupt patch
.
Also, was ich gerne wissen würde: was verursacht diese Nachricht? Das heißt, auf welche Art von Fehlern wartet Git, wenn es auf diese Nachricht kommt? Ich muss meinen Tweaker "zwicken" ... ahem ... damit die bearbeiteten Patches funktionieren. (NB die Original-Patch-Dateien, bevor ich sie zwicken, sind nicht „verdorben“, so dass es etwas sein, muss ich tue.)
Mein Skript versucht, die oben genannten PHP-Tag zu ändern, und <?php echo
, und ein Funktionsname. Nichts mehr als ein globales Preg-Replace. Ich sehe nicht leicht, was ich tun könnte, das wäre, sagen wir, "strukturelle Besorgnis" gegenüber Git. Aber offensichtlich ist etwas.
Beispiel Patch: corrupt patch at line 37
...
From 342c5939da8cf4cbe495be7d635cd627bd2a44ed Mon Sep 17 00:00:00 2001
From: xxx <[email protected]>
Date: Wed, 17 Feb 2016 03:45:31 +0000
Subject: [PATCH 001/275] Make it all work
---
catalog/includes/modules/shipping/upsFreeGround.php | 2 +-
catalog/product_info_v3.php | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/catalog/includes/modules/shipping/upsFreeGround.php b/catalog/includes/modules/shipping/upsFreeGround.php
index 45a6da4..55ccecb 100755
--- a/catalog/includes/modules/shipping/upsFreeGround.php
+++ b/catalog/includes/modules/shipping/upsFreeGround.php
@@ -194,7 +194,7 @@ function quote($method = '') {
// Can probably combine this with the above, eventually
$allFreeBW2016Plaques = false;
- if (STORES_ID == 10) {
+ if ((STORES_ID == 10) || (STORES_ID == 26)) {
$allFreeBW2016Plaques = true;
foreach ($order->products as $aProduct) {
$thisNote = $aProduct['product_specific_notes'];
diff --git a/catalog/product_info_v3.php b/catalog/product_info_v3.php
index 09d88de..10d9b76 100644
--- a/catalog/product_info_v3.php
+++ b/catalog/product_info_v3.php
@@ -186,7 +186,7 @@ function doRequestComplete() {
}
}
<?php -if ((STORES_ID == 10) && (in_array($products_id, $bwFreePlaqueIDList2016))) { ?>
+if (((STORES_ID == 10) || (STORES_ID == 26)) && (in_array($products_id, $bwFreePlaqueIDList2016))) { ?>
function doCheckBW2016PlaqueProperty() {
thePropertyNumber = document.getElementById('propertyToCheck');
if (thePropertyNumber.value == "") {
@@ -1426,7 +1426,7 @@ if($combo_count>0) { ?>
?>
</div> <!-- div_add_to_cart -->
</div> <!-- cart_info_row2 -->
- <?php if ((STORES_ID == 10) && (in_array($products_id, $bwFreePlaqueIDList2016))) {
+ <?php if (((STORES_ID == 10) || (STORES_ID == 26)) && (in_array($products_id, $bwFreePlaqueIDList2016))) {
// First, let's see if we are "sold out"
$query = "select bw_plaque_2016_id from bw_plaque_2016 where first_one_free='1' limit 1";
$bwpRes = tep_db_query($query);
@@ -1629,7 +1629,7 @@ DIVCONTAINER;
</table> <!--pageTable for sure -->
<script type='text/javascript'>
- <?php if ((STORES_ID == 10) && (in_array($products_id, $bwFreePlaqueIDList2016))) { ?>
+ <?php if (((STORES_ID == 10) || (STORES_ID == 26)) && (in_array($products_id, $bwFreePlaqueIDList2016))) { ?>
function doFreePlaquePriceChange() {
// Change the quantity to 1
$('quantityToAdd').setValue('1');
--
2.6.4 (Apple Git-63)
Haben die Patch-Dateien sha1-Hashes? – melpomene
Ich bin mir nicht sicher, wonach ich suchen würde. Kannst du mir sagen, wie so etwas in der Patch-Datei aussehen würde? Ist es möglich zu sagen, dass solche Hashes ignoriert werden sollen? (Ich verstehe, dass ein Patch eine Anti-Korruptions-Kontrolle enthalten könnte ... aber wenn es so ist, möchte ich es in diesem Fall ignorieren.) –
Können Sie ein Beispiel für einen beschädigten Patch veröffentlichen? – melpomene