11
votes

Comment créer un fichier de correctif pour le fichier de sortie de différence binaire

Je veux savoir comment créer un correctif pour le fichier de différence que j'ai obtenu en comparant deux fichiers binaires. $ CMP -L> Nom du fichier de sortie

J'ai vérifié les fichiers texte 'DIFF "peut être utilisé pour comparer et générer un fichier de patch $ DIFF -U OLDFILE NEUVEFILE> MODS.DIFF # -U dit DIFF pour produire un format DIFF unifié

Je veux appliquer le patch sur l'ancien fichier image binaire pour obtenir mon nouveau fichier d'image binaire.


2 commentaires

Dupliqué possible de outil Diffrarge binaire pour de très grands fichiers?


@Evancarroll La page que vous avez mentionnée est peut être supprimée.


4 Réponses :


10
votes

Diff et patch sont conçus pour fonctionner avec des fichiers texte et non des données binaires arbitraires. Vous devez utiliser quelque chose comme bsdiff à la place.


0 commentaires

3
votes

JDIff est un programme qui génère les différences entre deux fichiers (binaires).
Vous pouvez également utiliser la commande rdiiff .


0 commentaires

-2
votes

Si vous souhaitez toujours utiliser DIFF & PATCH. Voici un moyen ... Écrivez un programme C Programmez-vous à insérer un nouveau caractère à la fin de tous les octets 512/1024 / Your_choice (il s'agit simplement de tromper le diff car il compare la ligne de fichiers par ligne). Exécutez ce script sur vos deux fichiers d'entrée.

Puis exécutez 'diff -au File1 File2> mod.diff (vous obtiendrez le patch ici)'

Patching est simple 'patch

Écrivez à nouveau un programme pour supprimer les nouvelles lignes du fichier binaire. C'est tout ...


1 commentaires

Est-ce que ce coffre-fort binaire ou conseillé?



4
votes

si votre référentiel ou votre colis utilise git vous pouvez faire diffamer des diffusions binaires avec Git Diff --Patch --Binary Old_Dir patchéd_dir Bien sûr, vous pouvez également l'utiliser avec des commits GIT DIFF --Patch -Bina Commit1 commit2


0 commentaires