Ci sono un sacco di programmi là fuori che possono creare una patch di diff, ma ho un bel pò di tempo cercando di applicarne uno. Sto cercando di distribuire una patch e ho ricevuto una domanda da un utente su come applicarla. Così ho cercato di capirlo da solo e ho scoperto che non ne ho idea, e la maggior parte degli strumenti che riesco a trovare sono a riga di comando. (Posso gestire una riga di comando, ma molte persone andrebbero perse senza una GUI piacevole.)Come si applica una patch diff su Windows?
Ho provato a usare TortoiseSVN. Ho la patch che vorrei applicare. Ho fatto clic con il pulsante destro sulla patch e c'è un'opzione sotto il sottomenu TortoiseSVN che dice "Applica patch". Tutto ciò che fa è tirare su una finestra vuota.
Così ho provato a colpire Apri. Ha due opzioni: unire e applicare diff unificato. (La patch è in un formato diff unificato, per fortuna.) Ma l'opzione apply semplicemente non funziona: richiede la patch e una cartella. In qualche modo si è dimenticato di chiedere il file per applicare la patch! Quindi TortoiseSVN semplicemente non funziona. Esiste una utility basata su GUI di Windows che prenderà una patch e un file e la applicherà correttamente?
MODIFICA: guardando le risposte finora, sembra che Tortoise lo farà solo se è un file che è già in versione. Questo non è il caso qui. Devo essere in grado di applicare una patch a un file che non è uscito da un repository SVN. Ho appena provato a usare Tortoise, perché capisco che SVN usa diff e deve sapere come crearli e applicarli.
La risposta di WinMerge sembrava buona ma spiega solo come creare una patch, non come applicarla.TortoiseHG ha un ottimo modo per applicare le patch, ma solo per i file che sono in un repository hg, per quanto ne so. Se il TortoiseDiff esterno SVN non può farlo, mi chiedo se uno strumento GUI può. –
Wow, hai ragione la risposta breve è ancora no - almeno in WinMerge. Richiesta di funzionalità su WinMerge qui https://sourceforge.net/tracker/index.php?func=detail&aid=695741&group_id=13216&atid=363216 – KCD