Condividi tramite


Comando Difference

Confronta e, se possibile, visualizza le differenze tra due file, tra file in due cartelle o tra un'area di sospensione e un file locale o del server.

tf diff[erence] itemspec [/version:versionspec] [/type:filetype] 
[/format:format [/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] 
[/options]

tf diff[erence] itemspec itemspec2 [/type:filetype] [/format: format] 
[/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] [/options]

tf diff[erence] [/shelveset:shelvesetname[;shelvesetowner]] 
shelveset_itemspec [/server: servername] [/type:filetype] 
[/format: format] [/ignorespace] [/ignoreeol] [/ignorecase] 
[/recursive] [/options]

tf diff[erence] /configure

Parametri

Argomento Descrizione

itemspec

Parametro obbligatorio. Indica l'elemento da confrontare. Se non viene specificata una versione o un percorso, verrà utilizzata la versione corrente dell'area di lavoro. Accetta sia percorsi locali che percorsi del server Controllo del codice sorgente Team Foundation.

Per ulteriori informazioni sul tipo di analisi eseguito da Team Foundation sui parametri itemspec per determinare gli elementi all'interno dell'ambito, vedere Sintassi della riga di comando.

Con il comando difference non sono supportati i caratteri jolly.

Non è possibile combinare questo parametro con l'opzione /shelveset.

Itemspec2

Parametro facoltativo. Elemento con cui confrontare itemspec. Se non si specifica un secondo itemspec, verrà utilizzata la versione più recente del server Controllo del codice sorgente Team Foundation.

Filetype

Fornisce un valore per l'opzione /type. È possibile specificare il formato "binary" o "text", nonché un numero di tabella codici o il nome descrittivo di una tabella codici.

Format

Viene utilizzato con l'opzione /format per specificare uno dei seguenti tipi di formato di output:

  • Visual

  • Brief

  • Context

  • RCS

  • SS

  • SS_SideBySide

  • SS_Unix

  • Unified

  • Unix

Questi formati di output sono descritti nella sezione Note di questo argomento.

Versionspec

Valore fornito dall'utente per l'opzione /version. Per ulteriori informazioni sul tipo di analisi eseguito da Team Foundation sulla specifica di una versione per determinare gli elementi all'interno dell'ambito, vedere Sintassi della riga di comando.

servername

Valore fornito dall'utente per l'opzione /server. Esempio: teamfoundation2.

Shelvesetowner

Identifica il proprietario dell'area di sospensione in base al nome utente. Se non viene fornito un valore per questo parametro, verrà utilizzato l'utente corrente.

Shelvesetname

Indica il nome di un'area di sospensione. Si noti che in Team Foundation Server può esistere più di un'area di sospensione con lo stesso nome, purché ciascuna appartenga a un utente diverso.

Shelveset_itemspec

Indica il nome di una cartella o di un file dell'area di sospensione da confrontare con la versione di base dell'area di sospensione.

Opzione Descrizione

/type

Esegue l'override di eventuali codifiche rilevate e utilizza la codifica specificata per la presentazione dei file al modulo di gestione delle differenze.

/version

Indica la versione del file o della cartella da confrontare. Per impostazione predefinita, in Team Foundation viene utilizzata la versione dell'area di lavoro a meno che non venga specificato un valore per versionspec.

/format

Indica un formato di output specificato mediante l'argomento format.

/ignorespace

Non evidenzia le differenze dovute agli spazi vuoti tra i file confrontati.

/ignoreeol

Ignora le differenze dovute ai caratteri di nuova riga in due file o versioni di file. Il funzionamento di /ignoreeol è diverso da quello di /ignoreSpace. Con l'opzione /ignorespace otto spazi vengono considerati come un unico spazio. Se tuttavia si utilizza l'opzione /ignoreeol e il file A presenta due caratteri di nuova riga tra aree di testo invariate, mentre il file B ne presenta una sola, il risultato verrà visualizzato come differenza. Se in entrambi i file è presente un solo carattere di nuova riga, ma per indicare la nuova riga nel file A viene utilizzato il codice \r\n, mentre nel file B il codice \n, la differenza verrà ignorata con l'opzione /ignoreEOL.

/ignorecase

Non evidenzia le differenze dovute all'utilizzo di maiuscole/minuscole tra i file confrontati.

/recursive

Confronta le differenze tra la cartella corrente e tutte le relative sottocartelle.

/options

Indica una stringa di opzione per lo strumento da chiamare tramite diff. Per ulteriori informazioni, vedere Procedura: associare un tipo di file con uno strumento di rilevamento delle differenze e Procedura: associare un tipo di file a uno strumento di unione.

/server

Identifica Team Foundation Server. Questa opzione è necessaria se il comando viene richiamato da una directory che non è mappata a un'area di lavoro.

/shelveset

Indica un'area di sospensione da confrontare con la versione del server Controllo del codice sorgente Team Foundation su cui si basa l'area di sospensione.

Non è possibile combinare questa opzione con un argomento itemspec. Per confrontare singoli elementi dell'area di sospensione, è possibile specificare un parametro shelveset_itemspec.

/noprompt

Disattiva la visualizzazione di tutte le finestre di dialogo che verrebbero in caso contrario visualizzate durante il completamento di questa operazione.

/configure

Richiama la finestra di dialogo Configura strumenti utente. Questo strumento è disponibile dall'interfaccia utente di Visual Studio. Per ulteriori informazioni, vedere Procedura: associare un tipo di file con uno strumento di rilevamento delle differenze.

Note

Nota

Per eseguire questo comando, è possibile digitare tf diff o tf difference sulla riga di comando.

Utilizzare il comando difference per confrontare e, se possibile, visualizzare le differenze tra:

  • Due file distinti o due versioni dello stesso file.

  • Uno o più elementi disponibili in una cartella.

  • Uno, alcuni o tutti gli elementi disponibili in un'area di sospensione di Team Foundation Server.

Utilizzare il comando difference per confrontare file soggetti e non soggetti al controllo delle versioni.

In Team Foundation tutti i file sono suddivisi in categorie in base al tipo. È possibile unire e confrontare file di testo, affiancati e riga per riga, purché siano caratterizzati dalla stessa codifica. Se si desidera confrontare due file con codifiche diverse, è possibile mascherare temporaneamente o eseguire l'override della proprietà di codifica per un file tramite l'opzione /type. È possibile confrontare ma non unire file binari. Quando si passano uno o più file binari al comando difference, in Team Foundation vengono indicate le eventuali differenze esistenti tra i file e l'elemento con cui vengono confrontati. Per ulteriori informazioni sul modo in cui vengono distinti e considerati file di tipi diversi in Team Foundation, vedere Tipi di file.

Se si specificano due nomi di file, verrà eseguito il confronto tra i due file. Anziché utilizzare il flag /version, è possibile specificare le versioni aggiungendo un punto e virgola e un identificatore di versione alla fine del nome di ciascun file.

Se si passa un solo parametro itemspec al comando difference:

  • Se non viene fornito un parametro versionspec, per impostazione predefinita, la versione corrente dell'area di lavoro viene confrontata con la versione di base dell'area di lavoro. Il comando tf difference header.h consente ad esempio di confrontare la versione corrente del file header.h con quella su cui è basato il file header.h.

  • Se nel parametro itemspec si include un parametro versionspec, ad esempio tf difference header.h;LBeta1, in Team Foundation tale versione verrà confrontata con quella dell'area di lavoro presente sul disco.

  • Se si specifica un intervallo di versioni, ad esempio /version:C1~C4, verranno confrontate le versioni del file all'inizio e alla fine dell'intervallo.

Tipi di formati di output

Il parametro format, utilizzato con l'opzione /format, consente di specificare molti formati di output diversi. I tipi di output disponibili sono:

  • Visual

    Il tipo di formato Visual consente di aprire un'applicazione esterna per la gestione delle differenze. Per impostazione predefinita, viene avviato diffmerge.exe.

  • Brief

    Il formato Brief consente di visualizzare se tra i file confrontati esistono differenze.

  • Context

    Il formato Context consente di visualizzare righe di contesto per le differenze esistenti tra i file. Questo formato deriva dal formato di output diff –c basato su UNIX.

  • RCS

    Il formato RCS è simile a /format:unix, ma non consente di visualizzare righe di contesto.

    Non sono incluse funzioni per la gestione speciale di un indicatore mancante di fine riga alla fine del file.

  • SS

    SS rappresenta il formato di output predefinito per la gestione delle differenze in Visual SourceSafe. Per ulteriori informazioni, vedere Diff (riga di comando).

  • SS_SideBySide

    SS_SideBySide rappresenta il formato di output affiancato predefinito in Visual SourceSafe.

  • SS_Unix

    SS_Unix è simile al formato di output /format:unix, tuttavia /format:ss_unix consente di includere righe di contesto.

  • Unified

    Il formato Unified deriva dal formato di output diff –u basato su UNIX. A differenza di /format:unified, tuttavia, /format:context consente di ripetere righe di contesto identiche tra stringhe di differenze.

    Il formato Unified consente di ottenere una nuova riga di stringa di differenze unificata (@@ ... @@) solo quando la distanza con la successiva stringa di differenze è superiore al numero di righe di contesto.

  • Unix

    Questo tipo di output deriva dal formato di output del comando diff basato su UNIX.

    La costruzione del formato di output Unix è illustrata di seguito:

    <metadataline>
    "< " line prefix for lines from the first file
    "---" line
    "> " line prefix for lines from the second file
    
    <metadataline> can be one of these possibilities:
    #a#,# -- add lines from line # in file1 into file2 at lines #->#
    #,#d# -- delete lines from line # -> # in file 1 from file2 at line #
    #,#c#,# -- change lines from line # -> # in file1 into the lines in file2 at line # -> #
    
    # signs seprated by commas indicate a line range.
    # signs before the character indicate line numbers in the first file
    # signs after the character indidicate line numbers in the second file
    
    /// No end of line marker at the end of the file:
    /// \ No newline at end of file
    

Esempi

L'esempio riportato di seguito consente di visualizzare le differenze tra la versione locale e la versione dell'area di lavoro del file 314.cs. Quest'ultima corrisponde alla versione del file estratta dal server Controllo del codice sorgente Team Foundation.

c:\projects>tf difference 314.cs

L'esempio riportato di seguito consente di visualizzare tutti i file che sono stati modificati nella cartella src. I file modificati nelle sottocartelle di src non vengono visualizzati.

c:\projects>tf difference src /format:visual

Nell'esempio riportato di seguito vengono visualizzate le differenze tra l'insieme di modifiche 3 e l'insieme di modifiche 8 del file 1254.cs.

c:\projects>tf difference /version:C3~C8 1254.cs

L'esempio riportato di seguito consente di visualizzare le differenze tra la versione del file 314.cs appartenente all'etichetta "release" e la versione appartenente all'insieme di modifiche 3200.

c:\projects>tf difference 314.cs;Lrelease 314.cs;C3200

oppure

c:\projects>tf difference 314.cs;Lrelease~C3200

L'esempio riportato di seguito consente di visualizzare la differenza tra le versioni del file e271.cs sospese da un utente denominata Nadia nell'area di sospensione PeerCodeReview8 e la versione di base dell'area di sospensione su cui tale utente ha basato le proprie modifiche. Vengono inoltre visualizzati i tipi di modifiche in sospeso sul file e271.cs nel momento in cui l'utente Nadia ha eseguito la sospensione.

c:\projects> tf difference /shelveset:PeerCodeReview8;Nadia e271.cs

L'esempio riportato di seguito consente di visualizzare le differenze tra tutti i file nell'area di sospensione PeerCodeReview2 e la versione di base dell'area di sospensione di tali file.

c:\projects> tf difference /shelveset:PeerCodeReview2

Sicurezza

Per utilizzare il comando difference, è necessario disporre dell'autorizzazione Lettura impostata su Consenti per tutti gli elementi specificati. Per ulteriori informazioni, vedere Autorizzazioni per Team Foundation Server.

Vedere anche

Attività

Procedura: visualizzare le differenze tra due file o versioni di file

Riferimenti

Comando Merge
Comando Checkin
Comando Shelvesets

Concetti

Tipi di file
Confronto tra file

Altre risorse

Comandi dell'utilità della riga di comando Tf
Confronto tra file nel controllo del codice sorgente