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 kommandot difference har du behörigheten Läs 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>

Krävs. 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>

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

<filetype>

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

<format>

Används med alternativet /format för att ange ett utdataformat av 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 alternativet /version. 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 ett värde till alternativet /login. Du kan ange ett användarnamn 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 använda flaggan /version 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 argumentet format.

/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 alternativet /ignoreeol 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änder \r\n som en ny rad och Fil B använder \n, skulle alternativet /ignoreeol 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.

Anmärkningar

Not

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

Du kan använda kommandot difference 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 kommandot difference 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 av alternativet /type.

Binära filer kan jämföras men kan inte sammanfogas. När du skickar en eller flera binära filer till kommandot difference 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 någon versionspecjämförs den aktuella arbetsyteversionen av objektet som standard med basversionen av arbetsytan. tf difference header.h jämför till exempel den aktuella versionen av header.h med den version som header.h baseras på.

  • Om du inkluderar en versionspec i din itemspec, till 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~C4jämförs filversionerna i intervallets två slutpunkter.

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

Formattyper för utdata

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

  • Visual formattyp ö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 innehåller kontextrader för skillnaderna i filerna. Det här formatet härleds från UNIX-baserat diff -c utdataformat.

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

  • SS är standardutdataformatet för skillnad för Visual SourceSafe. Mer information finns i Diff (kommandorad).

  • SS_SideBySide är standardutdataformatet sida vid sida för Visual SourceSafe.

  • SS_Unix liknar utdataformatet /format:unix, 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 format ger endast en ny enhetlig skillnadssträng (@@ ... @@) när avståndet till nästa skillnadssträng är större än antalet kontextlinjer.

  • Unix utdatatyp härleds från UNIX-baserat diff kommandoutdataformat.

    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 mappen src, men som inte visar filer som har ändrats i undermappar för 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 de versioner av e271.cs som en användare med namnet Pat lade på hyllan PeerCodeReview8 och den basversion av hyllor som de baserade sina ändringar på. Utdata visar också de typer av ändringar som väntar mot 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 PeerCodeReview2-hyllorna och bashyllornas version av dessa filer.

c:\projects> tf difference /shelveset:PeerCodeReview2