From da78a9e329e272dedb2400b79a3bdeebff387d47 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:17 -0500 Subject: initial commit --- files/it/creare_patch/index.html | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 files/it/creare_patch/index.html (limited to 'files/it/creare_patch') diff --git a/files/it/creare_patch/index.html b/files/it/creare_patch/index.html new file mode 100644 index 0000000000..3498767037 --- /dev/null +++ b/files/it/creare_patch/index.html @@ -0,0 +1,37 @@ +--- +title: Creare patch +slug: Creare_patch +translation_of: Mercurial/Using_Mercurial +--- +

Dopo aver avuto accesso al codice, dopo aver apportato ad esso delle modifiche, una volta costruito e testato, può darsi che si desideri che queste modifiche vengano riviste e accettate. Per far ciò, occorre creare una lista dei file che sono stati modificati, che chiameremo + + patch + o + + diff file + .

+

Creare il diff di un singolo file == Per creare il diff di un singolo file locale rispetto al file attualmente nel repository, si utilizzi:

+
$ cvs diff -u8p Winning eleven 11 by Tony Montana
+
+

Questo comando crea un diff nel cosiddetto formato 'unificato' (opzione <tt>-u</tt>), con 8 righe di contesto. Il diff è inviato per default allo stdout. Per ridirigere l'output su un file, si utilizzi qualcosa come:

+
$ cvs diff -u8p Winning eleven 11 by Tony Montana >
+
+

Creare un diff su più file

+

Se, invece di utilizzare un normale file per NOMEFILE, si fornisce una directory, questa directory e tutte le sue sottodirectory verranno lette in modo ricorsivo. Per esempio

+
$ cvs diff -u8p . > FILE_DI_OUTPUT
+
+

compara tutti i file nella directory corrente e nelle sue subdirectory con tutte le versioni nel repository, e scrive le differenze combinate in un file chiamato FILE_DI_OUTPUT, utilizzando 8 righe di contesto.

+

Vi dovrebbe essere sufficiente contesto nella patch perchè venga compreso senza aprire il file sorgente. Le linee guida di default utilizzano 8 righe di contesto; se non sono sufficienti, verrà richiesto di rendere la patch comprensibile, si rimpiazzi 8 con un numero più elevato. Inoltre si noti che più contesto si include, più probabilità vi sono che il file venga incluso, se esso differisce pesantemente dal sorgente originale.

+

Includere i nuovi file in una patch

+

Per includere i nuovi file in una patch, si utilizzi l'opzione <tt>-N</tt>:

+
$ cvs diff -u8pN . > FILE_DI_OUTPUT
+
+

Un problema comune è che + + cvs diff' + non include i nuovi file su cui non è stato eseguito un cvs add, e questo comando richiede accesso al repository.

+

La soluzione è utilizzare la utility cvsdo (), che modifica <tt>CVS/Entries</tt> per far credere al cvs che il file sia stato aggiunto al repository:

+
$ cvsdo add NUOVOFILE
+$ cvs diff -u8pN NEWFILE > FILE_DI_OUTPUT
+
+

Si noti che questo trucco non funziona per le nuove directory; per queste, cvs add deve realmente modificare il repository immediatamente, il chè richiede un accesso in scrittura.

-- cgit v1.2.3-54-g00ecf