Je vais produire des deltas binaires de fichiers de plusieurs gigaoctets.Existe-t-il un format populaire Linux/Unix pour les diffs binaires?
Naïvement, je l'intention d'utiliser le format suivant:
struct chunk {
uint64_t offset;
uint64_t length;
uint8_t data[];
};
struct delta {
uint8_t file_a_checksum[32]; // These are calculated while the
uint8_t file_b_checksum[32]; // gzipped chunks are being written
uint8_t chunks_checksum[32]; // at the 96 octet offset.
uint8_t gzipped_chunks[];
};
J'ai besoin que d'appliquer ces deltas à l'file_a
d'origine qui a été utilisé pour générer un delta.
Y at-il quelque chose qui me manque ici?
Existe-t-il un format delta binaire existant qui possède les fonctionnalités que je recherche, mais qui n'est pas trop complexe?
[VCDIFF] (https://fr.wikipedia.org/wiki/VCDIFF)? – hvd
Merci, mais cela peut être exagéré car 99% des données sont inchangées et ne déplace jamais l'emplacement dans le fichier. – fadedbee
Cela sera probablement le cas pour tout format delta binaire existant: s'il s'agit d'un format général, il ne sera pas optimisé pour votre cas d'utilisation particulier. Et si c'est un format très spécifique, vous aurez besoin d'un peu de chance pour quelqu'un d'expérimenté pour voir votre question. – hvd