Comment créer et appliquer correctement .fichier de correctif pour un seul .rpc fichier à l'aide de diff?

J'essaye d'appliquer un .patch fichier à un seul .rpc fichier à l'aide de git diff.

Ce sont mes fichiers: old.cpp , new.cpp et correctif.patch.

old.cpp est original non modifié code source, new.cpp est la source modifié et correctif.patch est le patch je veux créer qui lorsqu'il est appliqué à old.cpp doit appliquer les modifications de new.cpp. Les deux old.cpp et new.cpp sont avec Windows (CR LF) les fins de ligne, les deux fichiers sont 918 KO grande, une seule ligne est en cours de modification dans la source.

J'ai créer le patch par mettre les deux fichiers old.cpp et new.cpp dans le même dossier et à l'aide de Git Bash invite de commandes avec la commande:

git diff -u old.cpp new.cpp > fix.patch

La correctif.patch fichier avec succès s'affiche mais quand je fait le test et l'appliquer à old.cpp avec Git Bash en tapant:

patch old.cpp fix.patch

le patch est appliqué avec succès, mais la taille de old.cpp réduit de 918 KO à 894 KO. Après quelques recherches avec kdiff3 j'ai trouvé que mes nouvellement créé correctif.patch fichier est avec Unix (LF) les fins de ligne et après l'appliquer à old.cpp, le patché old.cpp est l'adoption de Unix (LF) les fins de ligne trop. Je suppose que c'est la raison pour laquelle la taille du fichier de old.cpp réduit trop.

Ma question est ce que commande dois-je utiliser dans git ou quoi d'autre que je dois faire pour mes nouvellement créé correctif.patch fichier reste avec Windows (CR LF) les fins de ligne et après l'application du patch à old.cpp nouvellement corrigé old.cpp fichier est avec Windows (CR LF) les fins de ligne trop et la taille de fichier ne permet pas de réduire de manière drastique. J'ai reçu une suggestion ici pour utiliser git apply au lieu de patch mais je ne sais pas ce qu'est exactement le type après git apply de sorte qu'il fonctionne la façon dont je le veux pour ma situation. 🙁

Je suis en utilisant Windows XP SP2, Git 1.7.6, Git Extensions 2.24 et Microsoft Visual C++ 2010.

D'un côté la question: pourquoi avez-vous des fichiers sources qui sont près de 1 mo?
La source n'est pas écrit par moi. Aussi comment est-ce par rapport à ma question?
J'ai essayé de modifier manuellement les fins de ligne fixe.patch formulaire d'Unix vers Windows avant de l'appliquer, mais même après l'application le fichier patché est dans le style Unix fins de ligne. S'il vous plaît aider.
Il n'est pas. C'est pourquoi je l'ai posté dans un commentaire, et préfixé par "côté de la question"!
Je viens de vérifier git config core.autocrlf, il revint vers moi true. Je suis à l'aide de patch dans le "Git Bash" invite de commandes.

OriginalL'auteur Placeholder | 2011-08-21

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *