2010-10-31 19 views
5

Attualmente sto giocando con l'analisi dei file diff e non ho ancora trovato una solida documentazione sui file diff.Qual è la sintassi del file Diff

Sono particolarmente interessato alle specifiche. Per esempio. Io non capisco le linee simili a questo (all'inizio di ogni blocco di codice modificato):

@@ -296,7 +296,8 @@ 

so che hanno a che fare con i numeri di riga, e quanto le linee sono cambiati, ma non ero Sono davvero in grado di capire i dettagli finora.

Qual è la sintassi dei file di uscita diff (almeno le parti principali)?

risposta

6

Controllare lo documentation per le diffuse GNU. Lì troverai questa sezione:

Avanti vengono uno o più pezzi di differenze; ogni pezzo mostra un'area in cui i file differiscono. Hunk formato unificato simile a questa:

@@ from-file-line-numbers to-file-line-numbers @@ 
    line-from-either-file 
    line-from-either-file... 

Se un pezzo contiene una sola riga, appare solo il suo numero di linea di partenza. Altrimenti i suoi numeri di riga sembrano "start, count". Si considera che un pezzo vuoto inizi sulla linea che segue il fusto.

Se un hunk e il suo contesto contengono due o più righe, i suoi numeri di riga sembrano "start, count". Altrimenti appare solo il numero di fine linea. Si considera che un pezzo vuoto finisca alla linea che precede il pezzo.

Le righe comuni a entrambi i file iniziano con un carattere di spazio. Le linee che in realtà differiscono tra i due file hanno uno dei seguenti caratteri indicatore nella colonna di stampa sinistra:

'+' Una riga è stata aggiunta qui al primo file.

'-' Una riga è stata rimossa dal primo file.

Problemi correlati