Mon diff contient des espaces - comment s'en débarrasser?

J'ai essayé de l'édition d'un fichier php dans TextWrangler avec des fins de ligne jeu sous Unix, dans NetBeans, et dans vim. Quand j'ai enregistrer le diff à un patch, puis essayer de les appliquer, il donne les espaces erreurs. Quand je tape git diff je peux voir ^M à la fin de mes lignes, mais si je supprimer manuellement ces dans vim, il me dit que mon patch fichier est corrompu, et puis le patch ne s'applique pas à tous.

J'ai créer un patch avec la commande suivante:

git diff > patchname.patch

Et je l'applique par la vérification d'une version propre du fichier à patcher et en tapant

git apply patchname.patch

Comment puis-je créer ce patch sans les espaces erreurs? J'ai créé des correctifs avant et de ne jamais rencontrer ce genre de problème.

  • Vous pourriez vouloir donner plus de détails au sujet de votre processus de création d'un patch.
  • J'ai ajouté des détails. Vous ne savez pas comment utile qui va être, mais il ne peut pas nuire.
  • Je suis confronté au même problème et l'ont fait de la recherche. Il ressemble à git ajoute ces espaces automatiquement à git diff et fit show, de sorte que toute la pièce a fait avec un tel code de fuite d'espaces. Si vous avez noyau linux dépôt git local (linus arborescence du noyau), vous pouvez exécuter git show 402bae597e. Il va vous montrer une fuite d'espace avant statique DEVICE_ATTR_RO(drapeaux); et la fermeture des accolades dans la ligne précédente, même si elles ne sont pas présentes dans le code.
  • Ce problème peut être reproduit par l'ajout d'une ligne de départ ou de début d'une méthode (où vous avez quelque chose d'écrit dans le début d'une ligne par exemple l'ouverture/la fermeture de corset ou de prototype de fonction). Ensuite, exécutez git diff. Vous pouvez voir les espaces avant les fichiers inchangés. Ces ensuite être présenté à la pièce quand git format-patch est utilisé
InformationsquelleAutor beth | 2013-01-24