mozilla
Risultati di ricerca

    Creare patch

    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.

    Etichette del documento e nomi di chi ha collaborato alla sua stesura

    Contributors to this page: tregagnon, Giovanni 92, Federico
    Ultima modifica di: tregagnon,