Ho provato a modificare un file php in TextWrangler con terminazioni di riga impostate su Unix, in NetBeans e in vim. Quando salgo il diff in una patch e poi provo ad applicarlo, danno degli errori di spazio bianco. Quando digito git diff
posso vedere ^M
all'estremità delle mie linee, ma se li rimuovo manualmente in vim, si dice che il mio file di correzione è corrotto, e quindi la patch non si applica affatto.Il mio diff contiene spazi bianchi finali - come sbarazzarsi di esso?
posso creare una patch con il seguente comando:
git diff > patchname.patch
e applico lo verificando una versione pulita del file di una patch e digitando
git apply patchname.patch
Come posso creare questa patch senza errori di spazi bianchi? Ho creato patch prima e non ho mai incontrato questo problema.
Si potrebbe voler dare maggiori dettagli sul processo di creazione di una patch. – Chronial
Ho aggiunto i dettagli. Non sei sicuro di quanto sarà utile, ma non può ferire. – beth
Sto affrontando lo stesso problema e ho fatto qualche ricerca. Sembra che git aggiunga automaticamente questi spazi bianchi a 'git diff' e' fit show', quindi ogni patch creata con tale codice avrà degli spazi bianchi finali. Se si dispone del repository git del kernel Linux localmente (linus kernel tree), è possibile eseguire 'git show 402bae597e'. Ti mostrerà uno spazio bianco finale prima di DEVICE_ATTR_RO statico (flag); e le parentesi graffe di chiusura nella riga precedente, anche se non sono presenti nel codice. – Hamzahfrq