Je crée un correctif DIFF SVN, mais il semble que les fichiers image ne soient pas inclus. Le correctif contient des lignes similaires pour chaque fichier image, comme indiqué ci-dessous:
svn diff > test.diff
4 Réponses :
Malheureusement, SVN DIFF ne traite pas les données binaires. P>
Cochez certaines des réponses de: Subversion Diff comprenant de nouveaux fichiers P >
en particulier: https://stackoverflow.com/a/2255846/9822 p>
Les fichiers d'image sont inclus dans votre diff, comme indiqué par les lignes avec --- et +++, mais elles sont incluses comme des fichiers entiers dans le patch - ceci est dû en partie le problème de la manière de montrer de manière significative les modifications Dans des données binaires telles que des images dans un format texte uniquement - sauf si vous souhaitez que les pages de différences hexagonales, (telles que Vous êtes donc dit que les fichiers ont changé et que vous devez décider comment vous souhaitez les comparer - pour les fichiers image L'une des meilleures comparaisons des différences significatives est l'œil humain - vous ne vous attendriez pas à un Système de contrôle de révision Pour pouvoir vous dire "C'était une photo d'un homme chauve fronçant les sourcils, mais c'est maintenant une jolie pom-pom girl pom-pom girl souriant" EM> Voulez-vous? P> FC -B A.gif b.gif code> produiraient). P>
SVN ne peut actuellement créer de fichiers de correctifs unifiés avec des données binaires. Si vous inspectez le fichier de patch, comme dans Visual Studio, il n'y a pas de données binaires là-bas. Il y a une discussion sur cette fonctionnalité manquante sur le site Subversion Dev Site: SUBVERSION.1072662.N5.NEBBABLE.COM/...
@Ron Il n'est pas précisément que SVN ne peut pas produire de fichiers de diff de fichiers binaires unifiés tels que le fichier image, mais plutôt que le format DIFF unifié n'inclut aucune méthode de représentation des différences entre deux fichiers binaires. En général, le delta, en format texte, sera probablement supérieur à une nouvelle copie du fichier, à moins que le changement ne soit très petit et localisé, et même pour les formats comprimés tels que JPEG, le delta entre les fichiers peut être élevé, même pour une mineure. monnaie. MPEG se déplace par a) à l'aide d'un format très spécifique pour les cadres clés et B) à l'aide de format binaire pour les Deltas.
SVN ne prend pas en charge pour inclure des fichiers binaires dans DIFFS. En tant que note latérale: GIT prend en charge les fichiers binaires. Le fichier de patch résultant ressemble à ceci: si techniquement est possible em> est possible, cela ne fonctionne tout simplement pas avec SVN. Donc, si vous avez désespérément besoin d'un fichier de correctif comprenant des fichiers binaires, envisagez de vérifier SVN à l'aide de GIT. C'est facile: git svn clone http: // chemin / à / svn code>. Fonctionne également similaire avec
svn: // ... code>. Vous pouvez ensuite créer un DIFF GIT et appliquer ce diff sur n'importe quelle cible. La cible n'a pas besoin d'être un référentiel git.
git appliquer mon.patch code> p> p>
Subversion 1.9 permet de générer de telles patchs si vous utilisez svn diff -git code> au lieu d'un fichier
svn diff code>
@Berthuijben Même avec - git code> Il refuse de diffuser des fichiers binaires.
avec Subversion 1.9 Vous pouvez utiliser --git drapeau pour inclure le contenu binaire au fichier de correctif, par exemple:
Il imprime des chemins absolus à la patch.