aboutsummaryrefslogtreecommitdiff
path: root/zucchini_gen.cc
diff options
context:
space:
mode:
authorSamuel Huang <huangs@chromium.org>2018-03-28 22:20:09 +0000
committerEdward Lesmes <ehmaldonado@google.com>2021-07-23 22:00:41 +0000
commit1a73d78bea5b940a8f5499e31ad9794d9aa7d475 (patch)
tree08744f9e46995c6b109993b8264ce3f46bbde0ef /zucchini_gen.cc
parent4feab7d1a15a2aaa51f34f24c68ec80d285948ee (diff)
downloadzucchini-1a73d78bea5b940a8f5499e31ad9794d9aa7d475.tar.gz
[Zucchini] Format change: Remove PatchType.
Previously, Zucchini patches store a uint32_t PatchType enum that distinguishes among (0) raw patch, (1) single executable patch, and (2) ensemble patch. However, ever since every element (and gap) stores ExecutableType, this PatchType field has become a vestige. This CL simplifies Zucchini by removing PatchType, including in README.md and tests. This CL alters Zucchini patch format (removes 4 bytes); patches created across this change are incompatible. Bug: 729154 Change-Id: Ia5f467ba5e01720f5085ce87a5de88f678a64930 Reviewed-on: https://chromium-review.googlesource.com/981789 Commit-Queue: Samuel Huang <huangs@chromium.org> Reviewed-by: Greg Thompson <grt@chromium.org> Cr-Commit-Position: refs/heads/master@{#546621} NOKEYCHECK=True GitOrigin-RevId: 325bcee07f3eb9e3604c8aa0367ae7145025ddb6
Diffstat (limited to 'zucchini_gen.cc')
-rw-r--r--zucchini_gen.cc18
1 files changed, 0 insertions, 18 deletions
diff --git a/zucchini_gen.cc b/zucchini_gen.cc
index de0e7d9..af7c7dd 100644
--- a/zucchini_gen.cc
+++ b/zucchini_gen.cc
@@ -311,18 +311,6 @@ status::Code GenerateEnsemble(ConstBufferView old_image,
return GenerateRaw(old_image, new_image, patch_writer);
}
- PatchType patch_type = PatchType::kRawPatch;
- if (num_elements == 1 && matches[0].old_element.size == old_image.size() &&
- matches[0].new_element.size == new_image.size()) {
- // If |old_image| matches |new_image| entirely then we have single patch.
- LOG(INFO) << "Old and new files are executables, "
- << "generating single-file patch.";
- patch_type = PatchType::kSinglePatch;
- } else {
- LOG(INFO) << "Generating ensemble patch.";
- patch_type = PatchType::kEnsemblePatch;
- }
-
// "Gaps" are |new_image| bytes not covered by new_elements in |matches|.
// These are treated as raw data, and patched against the entire |old_image|.
@@ -359,9 +347,6 @@ status::Code GenerateEnsemble(ConstBufferView old_image,
}
}
- if (covered_new_bytes == 0)
- patch_type = PatchType::kRawPatch;
-
if (covered_new_bytes < new_image.size()) {
// Process all "gaps", which are patched against the entire "old" image. To
// compute equivalence maps, "gaps" share a common suffix array
@@ -400,7 +385,6 @@ status::Code GenerateEnsemble(ConstBufferView old_image,
}
}
- patch_writer->SetPatchType(patch_type);
// Write all PatchElementWriter sorted by "new" offset.
for (auto& new_lo_and_patch_element : patch_element_map)
patch_writer->AddElement(std::move(new_lo_and_patch_element.second));
@@ -411,8 +395,6 @@ status::Code GenerateEnsemble(ConstBufferView old_image,
status::Code GenerateRaw(ConstBufferView old_image,
ConstBufferView new_image,
EnsemblePatchWriter* patch_writer) {
- patch_writer->SetPatchType(PatchType::kRawPatch);
-
ImageIndex old_image_index(old_image);
EncodedView old_view(old_image_index);
std::vector<offset_t> old_sa =