Dela via


Differenskommando

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Kommandot Team Foundation Version Control (TFVC) difference jämför, och om möjligt visas skillnader mellan två filer, filer i två mappar eller en hyllor och en lokal eller en serverfil.

Förutsättningar

Om du vill använda difference kommandot måste du ha läsbehörigheten för alla angivna objekt som Tillåt. Mer information finns i TFVC-standardbehörigheter.

Syntax

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

Parametrar

Argument

Argument

Beskrivning

<itemspec>

Obligatoriskt. Anger det objekt som ska jämföras. Om ingen version eller sökväg har angetts antas den aktuella arbetsyteversionen. Accepterar både lokala och Azure DevOps-serversökvägar.

Mer information om hur TFVC parsar itemspec för att avgöra vilka objekt som finns inom omfånget finns i Använda Team Foundation-versionskontrollkommandon.

Kommandot difference stöder inte jokertecken.

Den här parametern kan inte kombineras med alternativet /shelveset .

<itemspec2>

Valfritt. Det objekt som itemspec ska jämföras med. Om du inte anger en sekund itemspecanvänds den senaste Azure DevOps-serverversionen av objektet.

<filetype>

Ger ett värde för /type alternativet. Du kan ange binary eller text och ett kodsidenummer eller ett eget namn för en kodsida.

<format>

Används med /format alternativet för att ange ett utdataformat för någon av följande typer:

  • Visual
  • Brief
  • Context
  • RCS
  • SS
  • SS_SideBySide
  • SS_Unix
  • Unified
  • Unix

Dessa utdataformat förklaras i avsnittet Kommentarer .

<versionspec>

Det användardefinierade värdet för /version alternativet. Mer information om hur TFVC parsar en versionsspecifikation för att avgöra vilka objekt som ligger inom dess omfång finns i Använda Team Foundation-versionskontrollkommandon.

<shelvesetowner>

Identifierar hyllornas ägare efter användarnamn. Om ett värde för den här parametern inte anges antas den aktuella användaren.

<shelvesetname>

Anger namnet på en hylloruppsättning. Du kan skapa fler än en hyllor med samma namn på servern som kör TFVC så länge en annan användare äger varje hyllor.

<shelveset_itemspec>

Anger namnet på en mapp eller fil i hyllorna som ska jämföras med bashylluppsättningsversionen.

<username>

Ger alternativet ett värde /login . Du kan ange ett användarnamnsvärde som antingen DOMAIN\username eller username.

Alternativ

Alternativ

Beskrivning

/type

Åsidosätter identifierade kodningar och använder den angivna kodningen för att presentera filerna för differentieringsmotorn.

/version

Anger vilken version av filen eller mappen som ska jämföras. Som standard använder TFVC arbetsyteversionen om du inte anger en versionspec.

I stället för att /version använda flaggan kan du ange versioner genom att lägga till ett semikolon och en versionsspecificerare i slutet av varje filnamn.

/format

Anger ett utdataformat som anges av format argumentet.

/ignorespace

Lyfter inte fram skillnader i blanksteg mellan de jämförde filerna.

/ignoreeol

Ignorerar skillnader mellan de nya radteckenen i två filer eller filversioner. /ignoreeol fungerar annorlunda än ignorespace, som behandlar åtta blanksteg identiskt med ett. Men om du använder /ignoreeol alternativet och Fil A har två nya radtecken mellan oförändrade textområden och fil B har ett, visas resultatet som en skillnad. Om båda filerna bara har en ny rad, men fil A används \r\n som en ny rad och fil B använder \n, /ignoreeol skulle alternativet ignorera det som en skillnad.

/ignorecase

Belyser inte skillnader i bokstavshölje mellan de jämförde filerna.

/recursive

Jämför skillnaderna mellan den aktuella mappen och alla dess undermappar.

/options

Anger en alternativsträng för verktyget som ska anropas av difference. Mer information finns i Associera en filtyp med ett skillnadsverktyg och Associera en filtyp med ett kopplingsverktyg.

/shelveset

Anger en hyllor som ska jämföras med den Azure DevOps-serverversion som hyllorna baseras på.

Det här alternativet kan inte kombineras med ett itemspec argument. Om du vill jämföra enskilda hyllor kan du ange en shelveset_itemspec.

/noprompt

Undertrycker alla dialogrutor som annars skulle visas under slutförandet av den här åtgärden.

/configure

Anropar dialogrutan Konfigurera användarverktyg från Visual Studio-användargränssnittet. Mer information finns i Associera en filtyp med ett skillnadsverktyg.

/login

Anger användarnamn och lösenord för att autentisera användaren med TFVC.

Kommentarer

Kommentar

Du kan skriva tf diff eller tf difference på kommandoraden för att köra det här kommandot.

Du kan använda difference kommandot för att jämföra och om möjligt visa skillnader mellan:

  • Två olika filer eller två versioner av samma fil.

  • Ett eller flera av objekten i en mapp.

  • En, några eller alla objekt i en hyllor på Azure DevOps-servern.

Du kan använda difference kommandot för att jämföra både versionerade och icke-versionerade filer.

TFVC kategoriserar alla filer efter typ. Textfiler kan sammanfogas och jämföras, sida vid sida och rad för rad, så länge båda filerna har samma kodning. Om du vill jämföra två filer vars kodningar inte är desamma kan du tillfälligt maskera eller åsidosätta kodningsegenskapen för en fil med hjälp /type av alternativet .

Binära filer kan jämföras men kan inte sammanfogas. När du skickar en eller flera binära filer till difference kommandot anger TFVC om det finns skillnader mellan den och det objekt som den jämförs med. Mer information om hur TFVC skiljer mellan och behandlar filer av olika typer finns i Hantera filtyper.

Om du anger två filnamn jämförs de två filerna. I stället för att använda flaggan /version kan du ange versioner genom att lägga till ett semikolon och en versionsspecificerare i slutet av varje filnamn.

Om du bara skickar en itemspec till differenskommandot:

  • Om du inte anger en versionspecjämförs den aktuella arbetsyteversionen av objektet som standard med basversionen av arbetsytan. Jämför till exempel tf difference header.h den aktuella versionen av header.h med den version som header.h baseras på.

  • Om du inkluderar en versionspec i , itemspectill exempel tf difference header.h;LBeta1, jämför TFVC den versionen med din aktuella arbetsyteversion på disken.

  • Om du anger ett intervall med versioner som /version:C1~C4, jämförs versionerna av filen vid de två slutpunkterna i intervallet.

Mer information om hur du använder tf kommandoradsverktyget finns i Använda Team Foundation-versionskontrollkommandon.

Formattyper för utdata

Parametern format , som används med /format alternativet, anger många olika utdataformat. Följande utdatatyper är tillgängliga:

  • Visual formattypen öppnar ett externt skillnadsprogram. Som standard startas diffmerge.exe .

  • Brief format skriver ut om de filer som jämförs skiljer sig åt.

  • Context format ger sammanhangslinjer för skillnaderna i filerna. Det här formatet härleds från DET UNIX-baserade diff -c utdataformatet.

  • RCS formatet liknar , förutom att /format:unixkontextrader inte tillhandahålls. Ingen särskild handing för en saknad radmarkör i slutet av filen tillhandahålls.

  • SSär standardutdataformatet för visuell källa Valv. Mer information finns i Diff (kommandorad).

  • SS_SideBySideär standardutdataformatet sida vid sida för Visual Source Valv.

  • SS_Unix liknar /format:unix utdataformatet, men /format:ss_unix innehåller kontextrader och /format:unix inte.

  • Unified format härleds från UNIX-baserat diff -u utdataformat. /format:context upprepar identiska kontextlinjer mellan differenssträngarna, men /format:unified gör det inte.

    Unified formatet skapar en ny enhetlig skillnadssträng (@@ ... @@) linje endast när avståndet till nästa skillnadssträng är större än antalet kontextrader.

  • Unix utdatatypen härleds från det UNIX-baserade diff kommandoutdataformatet.

    Utdataformatet Unix konstrueras på följande sätt:

    <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
    

Exempel

I följande exempel visas skillnaderna mellan den lokala versionen av 314.cs och arbetsyteversionen av 314.cs som är den version av filen som checkades ut från Azure DevOps-servern.

c:\projects>tf difference 314.cs

I följande exempel visas alla filer som har ändrats i src-mappen , men som inte visar filer som har ändrats i undermappar i src.

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

I följande exempel visas skillnaderna mellan ändringsuppsättning 3 och ändringsuppsättning 8 i 1254.cs.

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

I följande exempel visas skillnaderna mellan den version av 314.cs som tillhör etiketten release och den version som tillhör ändringsuppsättningen 3200.

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

-eller-

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

I följande exempel visas skillnaden mellan versionerna av e271.cs som en användare med namnet Pat lade på hyllan PeerCodeReview8 och den bashylluppsättningsversion som de baserade sina ändringar på. Utdata visar också de typer av ändringar som väntar på e271.cs när användaren lade på hyllan.

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

I följande exempel visas skillnaderna mellan alla filer i hyllorna PeerCodeReview2 och bashylluppsättningsversionen av dessa filer.

c:\projects> tf difference /shelveset:PeerCodeReview2