Comando Differenza
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Il controllo della versione di Team Foundation (TFVC) difference
comando confronta e, se possibile, visualizza le differenze tra due file, file in due cartelle o un insieme di scaffali e un file locale o di un server.
Prerequisiti
Per usare il comando
Sintassi
tf diff[erence] itemspec [/version:versionspec] [/type:filetype]
[/format:format [/ignorespace] [/ignoreeol] [/ignorecase] [/recursive]
[/options][/noprompt][/login:username,[password]]
tf diff[erence] itemspec itemspec2 [/type:filetype] [/format: format]
[/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] [/options] [/noprompt][/login:username,[password]]
tf diff[erence] [/shelveset:shelvesetname[;shelvesetowner]]
shelveset_itemspec [/type:filetype]
[/format: format] [/ignorespace] [/ignoreeol] [/ignorecase]
[/recursive] [/options] [/noprompt][/login:username,[password]]
tf diff[erence] /configure
Parametri
Argomenti
argomento
Descrizione
<itemspec>
Obbligatorio. Specifica l'elemento da confrontare. Se non viene specificata alcuna versione o percorso, viene usata la versione corrente dell'area di lavoro. Accetta sia percorsi del server locale che di Azure DevOps.
Per altre informazioni su come TFVC analizza il itemspec
per determinare quali elementi si trovano nell'ambito, vedere Usare i comandi di controllo della versione di Team Foundation.
Il comando difference
non supporta caratteri jolly.
Questo parametro non può essere combinato con l'opzione /shelveset
.
<itemspec2>
Opzionale. Elemento a cui confrontare il itemspec
. Se non si specifica un secondo itemspec
, viene usata la versione più recente del server Azure DevOps dell'elemento.
<filetype>
Fornisce un valore per l'opzione /type
. È possibile specificare binary
o text
e un numero di tabella codici o il nome descrittivo per una tabella codici.
<format>
Usato con l'opzione /format
per specificare un formato di output di uno dei tipi seguenti:
Visual
Brief
Context
RCS
SS
SS_SideBySide
SS_Unix
Unified
Unix
Questi formati di output sono illustrati nella sezione osservazioni
<versionspec>
Valore fornito dall'utente per l'opzione /version
. Per altre informazioni su come TFVC analizza una specifica di versione per determinare quali elementi si trovano all'interno del relativo ambito, vedere Usare i comandi di controllo della versione di Team Foundation.
<shelvesetowner>
Identifica il proprietario del set di scaffali in base al nome utente. Se non viene specificato un valore per questo parametro, si presuppone che l'utente corrente.
<shelvesetname>
Specifica il nome di un set di scaffali. È possibile creare più scaffali con lo stesso nome nel server che esegue TFVC, purché un utente diverso sia proprietario di ogni scaffale.
<shelveset_itemspec>
Specifica il nome di una cartella o di un file nell'insieme di scaffali da confrontare con la versione degli scaffali di base.
<username>
Fornisce un valore all'opzione /login
. È possibile specificare un valore di nome utente come DOMAIN\username
o username
.
Opzioni
di opzione
Descrizione
/type
Esegue l'override delle codifiche rilevate e usa la codifica specificata per presentare i file al motore di differenze.
/version
Specifica la versione del file o della cartella da confrontare. Per impostazione predefinita, TFVC usa la versione dell'area di lavoro se non si specifica un versionspec
.
Anziché usare il flag /version
, è possibile specificare le versioni aggiungendo un punto e virgola e un identificatore di versione alla fine di ogni nome file.
/format
Specifica un formato di output specificato dall'argomento format
.
/ignorespace
Non evidenzia le differenze tra gli spazi vuoti tra i file confrontati.
/ignoreeol
Ignora le differenze tra i nuovi caratteri di riga in due file o versioni di file.
/ignoreeol
funziona in modo diverso da ignorespace
, che tratta otto spazi in modo identico a uno. Tuttavia, se si utilizza l'opzione /ignoreeol
e File A ha due nuovi caratteri di riga tra aree di testo invariate e File B ha uno, il risultato viene visualizzato come differenza. Se entrambi i file hanno una sola nuova riga, ma file A usa \r\n
come nuova riga e file B usa \n
, l'opzione /ignoreeol
ignorerebbe tale differenza.
/ignorecase
Non evidenzia le differenze nella combinazione di maiuscole e minuscole tra i file confrontati.
/recursive
Confronta le differenze tra la cartella corrente e tutte le relative sottocartelle.
/options
Specifica una stringa di opzione per lo strumento da richiamare difference
. Per altre informazioni, vedere Associare un tipo di file a uno strumento di differenza e Associare un tipo di file a uno strumento di unione.
/shelveset
Specifica un insieme di scaffali da confrontare con la versione del server Azure DevOps su cui si basa l'insieme di scaffali.
Questa opzione non può essere combinata con un argomento itemspec
. Per confrontare singoli elementi degli scaffali, è possibile fornire un shelveset_itemspec
.
/noprompt
Elimina tutte le finestre di dialogo che altrimenti verrebbero visualizzate durante il completamento di questa operazione.
/configure
Richiama la finestra di dialogo Configura strumenti utente
/login
Specifica il nome utente e la password per autenticare l'utente con TFVC.
Osservazioni
Nota
È possibile digitare tf diff
o tf difference
nella riga di comando per eseguire questo comando.
È possibile usare il comando difference
per confrontare e, se possibile, visualizzare le differenze tra:
Due file diversi o due versioni dello stesso file.
Uno o più elementi in una cartella.
Uno, alcuni o tutti gli elementi in un insieme di scaffali nel server Azure DevOps.
È possibile usare il comando difference
per confrontare i file con controllo delle versioni e non con controllo delle versioni.
TFVC classifica tutti i file in base al tipo. I file di testo possono essere uniti e confrontati, affiancati e riga per riga, purché entrambi i file abbiano la stessa codifica. Se si desidera confrontare due file le cui codifiche non sono uguali, è possibile mascherare temporaneamente o eseguire l'override della proprietà di codifica per un file usando l'opzione /type
.
I file binari possono essere confrontati ma non possono essere uniti. Quando si passa uno o più file binari al comando difference
, TFVC indica se esistono differenze tra di esso e l'elemento a cui viene confrontato. Per altre informazioni su come TFVC distingue e tratta i file di tipi diversi, vedere Gestione dei tipi di file.
Se si specificano due nomi di file, vengono confrontati i due file. Anziché usare il flag /version, è possibile specificare le versioni aggiungendo un punto e virgola e un identificatore di versione alla fine di ogni nome file.
Se si passa un solo itemspec
al comando di differenza:
Se non si specifica un
versionspec
, la versione corrente dell'area di lavoro dell'elemento viene confrontata con la versione dell'area di lavoro di base, per impostazione predefinita. Ad esempio,tf difference header.h
confronta la versione corrente di header.h alla versione su cui si basa header.h.Se si include un
versionspec
nellaitemspec
, ad esempiotf difference header.h;LBeta1
, il controllo della versione di Team Foundation confronta tale versione con la versione corrente dell'area di lavoro su disco.Se si specifica un intervallo di versioni, ad esempio
/version:C1~C4
, vengono confrontate le versioni del file nei due endpoint dell'intervallo.
Per altre informazioni su come usare l'utilità della riga di comando tf
, vedere Usare i comandi di controllo della versione di Team Foundation.
Tipi di formato di output
Il parametro format
utilizzato con l'opzione /format
specifica molti formati di output diversi. Sono disponibili i tipi di output seguenti:
Visual
tipo di formato apre un'applicazione di differenza esterna. Per impostazione predefinita, diffmerge.exe viene avviato.Brief
formato stampa se i file confrontati differiscono.Context
formato fornisce righe di contesto per le differenze nei file. Questo formato è derivato dal formato di outputdiff -c
basato su UNIX.RCS
formato è simile a/format:unix
, ad eccezione delle righe di contesto non fornite. Non viene fornita alcuna mano speciale per un indicatore di fine riga mancante alla fine del file.SS
è il formato di output di differenza predefinito per Visual SourceSafe. Per altre informazioni, vedere Diff (riga di comando).SS_SideBySide
è il formato di output side-by-side predefinito per Visual SourceSafe.SS_Unix
è simile al formato di output/format:unix
, ma/format:ss_unix
include righe di contesto e/format:unix
non lo è.Unified
formato deriva dal formato di outputdiff -u
basato su UNIX./format:context
ripete linee di contesto identiche tra le stringhe di differenza, ma non/format:unified
.Unified
formato produce una nuova stringa di differenza unificata (@@ ... @@
) riga solo quando la distanza alla stringa di differenza successiva è maggiore del numero di righe di contesto.Unix
tipo di output è derivato dal formato di output del comando basato su UNIXdiff
.Il formato di output
Unix
viene costruito nel modo seguente:<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 separated by commas indicate a line range. # signs before the character indicate line numbers in the first file. # signs after the character indicate line numbers in the second file. /// No end of line marker at the end of the file: /// \ No newline at end of file
Esempi
Nell'esempio seguente vengono visualizzate le differenze tra la versione locale di 314.cs e la versione dell'area di lavoro di 314.cs che rappresenta la versione del file estratto dal server Azure DevOps.
c:\projects>tf difference 314.cs
Nell'esempio seguente vengono visualizzati tutti i file modificati nella cartella
c:\projects>tf difference src /format:visual
Nell'esempio seguente vengono visualizzate le differenze tra il set di modifiche 3 e l'insieme di modifiche 8 di 1254.cs.
c:\projects>tf difference /version:C3~C8 1254.cs
Negli esempi seguenti vengono visualizzate le differenze tra la versione di 314.cs che appartengono all'etichetta release
e la versione che appartiene al set di modifiche 3200.
c:\projects>tf difference 314.cs;Lrelease 314.cs;C3200
-o-
c:\projects>tf difference 314.cs;Lrelease~C3200
Nell'esempio seguente viene visualizzata la differenza tra le versioni di e271.cs che un utente denominato Pat shelved in shelveset PeerCodeReview8
e la versione degli scaffali di base su cui si basano le modifiche. L'output mostra anche i tipi di modifiche in sospeso rispetto a e271.cs
quando l'utente è stato interrotto.
c:\projects> tf difference /shelveset:PeerCodeReview8;Pat e271.cs
Nell'esempio seguente vengono visualizzate le differenze tra tutti i file nell'insieme di scaffali PeerCodeReview2
e la versione degli scaffali di base di tali file.
c:\projects> tf difference /shelveset:PeerCodeReview2