Delen via


Opdracht Verschil

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

De opdracht Team Foundation Version Control (TFVC) difference vergelijkt, en indien mogelijk worden er verschillen tussen twee bestanden, bestanden in twee mappen of een plankenset en een lokaal of een serverbestand weergegeven.

Vereisten

Als u de difference opdracht wilt gebruiken, moet u de machtiging Lezen hebben voor alle opgegeven items die zijn ingesteld op Toestaan. Zie Standaard TFVC-machtigingen voor meer informatie.

Syntaxis

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

Parameters

Argumenten

Argument

Beschrijving

<itemspec>

Vereist. Hiermee geeft u het te vergelijken item. Als er geen versie of pad is opgegeven, wordt uitgegaan van de huidige werkruimteversie. Accepteert zowel lokale als Azure DevOps-serverpaden.

Zie Team Foundation-opdrachten voor versiebeheer gebruiken voor meer informatie over hoe TFVC het itemspec parseert om te bepalen welke items binnen het bereik vallen.

De difference opdracht biedt geen ondersteuning voor jokertekens.

Deze parameter kan niet worden gecombineerd met de /shelveset optie.

<itemspec2>

Optioneel. Het item waarop het itemspec moet worden vergeleken. Als u geen seconde itemspecopgeeft, wordt de meest recente Versie van de Azure DevOps-server van het item gebruikt.

<filetype>

Biedt een waarde voor de /type optie. U kunt een codepaginanummer of text de beschrijvende naam voor een codepagina opgevenbinary.

<format>

Wordt gebruikt met de /format optie om een uitvoerindeling van een van de volgende typen op te geven:

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

Deze uitvoerindelingen worden uitgelegd in de sectie Opmerkingen .

<versionspec>

De door de gebruiker opgegeven waarde voor de /version optie. Zie Team Foundation-versiebeheeropdrachten gebruiken voor meer informatie over hoe TFVC een versiespecificatie parseert om te bepalen welke items binnen het bereik vallen.

<shelvesetowner>

Identificeert de eigenaar van de plankenset op gebruikersnaam. Als er geen waarde voor deze parameter wordt opgegeven, wordt ervan uitgegaan dat de huidige gebruiker.

<shelvesetname>

Hiermee geeft u de naam van een plankenset. U kunt meer dan één plankenset maken met dezelfde naam op de server waarop TFVC wordt uitgevoerd, zolang een andere gebruiker eigenaar is van elke plankenset.

<shelveset_itemspec>

Hiermee geeft u de naam van een map of bestand in de plankenset om te vergelijken met de basis plankensetversie.

<username>

Biedt een waarde voor de /login optie. U kunt een gebruikersnaamwaarde opgeven als of DOMAIN\username username.

Opties

Optie

Beschrijving

/type

Hiermee overschrijft u alle gedetecteerde coderingen en gebruikt u de opgegeven codering om de bestanden aan de differentiërende engine te presenteren.

/version

Hiermee geeft u de versie van het bestand of de map te vergelijken. TFVC gebruikt standaard de werkruimteversie als u geen versionspec.

In plaats van de /version vlag te gebruiken, kunt u versies opgeven door een puntkomma en versieaanduiding toe te voegen aan het einde van elke bestandsnaam.

/format

Hiermee geeft u een uitvoerindeling op die is opgegeven door het format argument.

/ignorespace

Markeert geen witruimteverschillen tussen de vergeleken bestanden.

/ignoreeol

Negeert verschillen tussen de nieuwe regeltekens in twee bestanden of bestandsversies. /ignoreeol werkt anders dan ignorespace, waarbij acht spaties identiek aan één worden behandeld. Als u echter de /ignoreeol optie gebruikt en Bestand A twee nieuwe regeltekens bevat tussen ongewijzigde tekstgebieden en Bestand B er een heeft, wordt het resultaat weergegeven als een verschil. Als beide bestanden slechts één nieuwe regel hebben, maar Bestand A als een nieuwe regel gebruikt \r\n en bestand B gebruikt \n, wordt dit /ignoreeol genegeerd als een verschil.

/ignorecase

Markeert geen verschillen in letterbehuizing tussen de vergeleken bestanden.

/recursive

Vergelijkt de verschillen tussen de huidige map en alle bijbehorende submappen.

/options

Hiermee geeft u een optietekenreeks op waarmee het hulpprogramma moet worden aangeroepen difference. Zie Een bestandstype koppelen aan een verschilhulpmiddel en een bestandstype koppelen aan een samenvoegprogramma voor meer informatie.

/shelveset

Hiermee geeft u een plankenset op die moet worden vergeleken met de Azure DevOps-serverversie waarop de plankenset is gebaseerd.

Deze optie kan niet worden gecombineerd met een itemspec argument. Als u afzonderlijke plankensetitems wilt vergelijken, kunt u een shelveset_itemspec.

/noprompt

Onderdrukt dialoogvensters die anders zouden worden weergegeven tijdens het voltooien van deze bewerking.

/configure

Hiermee wordt het dialoogvenster Gebruikershulpprogramma's configureren vanuit de Visual Studio-gebruikersinterface aangeroepen. Zie Een bestandstype koppelen aan een verschilhulpmiddel voor meer informatie.

/login

Hiermee geeft u de gebruikersnaam en het wachtwoord op om de gebruiker te verifiëren met TFVC.

Opmerkingen

Notitie

U kunt deze opdracht typen tf diff of tf difference op de opdrachtregel uitvoeren.

U kunt de difference opdracht gebruiken om verschillen te vergelijken en indien mogelijk weer te geven tussen:

  • Twee verschillende bestanden of twee versies van hetzelfde bestand.

  • Een of meer items in een map.

  • Een, sommige of alle items in een plankenset op de Azure DevOps-server.

U kunt de difference opdracht gebruiken om zowel versie- als niet-versiebestanden te vergelijken.

TFVC categoriseert alle bestanden per type. Tekstbestanden kunnen worden samengevoegd en vergeleken, naast elkaar en per regel, zolang beide bestanden dezelfde codering hebben. Als u twee bestanden wilt vergelijken waarvan de coderingen niet hetzelfde zijn, kunt u de coderingseigenschap voor een bestand tijdelijk maskeren of overschrijven met behulp van de /type optie.

Binaire bestanden kunnen worden vergeleken, maar kunnen niet worden samengevoegd. Wanneer u een of meer binaire bestanden doorgeeft aan de difference opdracht, geeft TFVC aan of er verschillen bestaan tussen het en het item waarop het wordt vergeleken. Zie Bestandstypen beheren voor meer informatie over hoe TFVC onderscheid maakt tussen en behandelt bestanden van verschillende typen.

Als u twee bestandsnamen opgeeft, worden de twee bestanden vergeleken. In plaats van de vlag /version te gebruiken, kunt u versies opgeven door een puntkomma en versieaanduiding toe te voegen aan het einde van elke bestandsnaam.

Als u slechts één itemspec aan de verschilopdracht doorgeeft:

  • Als u geen versie van de versionspecwerkruimte opgeeft, wordt uw huidige werkruimteversie van het item standaard vergeleken met de basiswerkruimteversie. Vergelijkt bijvoorbeeld tf difference header.h de huidige versie van header.h met de versie waarop header.h is gebaseerd.

  • Als u een versionspec in uw itemspec, zoals tf difference header.h;LBeta1TFVC, opneemt, vergelijkt die versie met uw huidige werkruimteversie op schijf.

  • Als u een reeks versies opgeeft, zoals /version:C1~C4, worden de versies van het bestand op de twee eindpunten van het bereik vergeleken.

Zie Team Foundation-versiebeheeropdrachten gebruiken voor meer informatie over het gebruik van het tf opdrachtregelprogramma.

Typen uitvoerindelingen

De format parameter, die wordt gebruikt met de /format optie, geeft veel verschillende uitvoerindelingen op. De volgende uitvoertypen zijn beschikbaar:

  • Visual het indelingstype opent een toepassing voor extern verschil. Standaard wordt diffmerge.exe gestart.

  • Brief -indeling wordt afgedrukt of de bestanden die worden vergeleken verschillen.

  • Context -indeling biedt lijnen met context voor de verschillen in de bestanden. Deze indeling is afgeleid van de uitvoerindeling op basis van diff -c UNIX.

  • RCS indeling is vergelijkbaar met /format:unix, behalve dat er geen contextlijnen worden opgegeven. Er is geen speciale handing voor een ontbrekend einde van de lijnmarkering aan het einde van het bestand opgegeven.

  • SS is de standaardverschiluitvoerindeling voor Visual SourceSafe. Zie Diff (opdrachtregel) voor meer informatie.

  • SS_SideBySide is de standaarduitvoerindeling naast elkaar voor Visual SourceSafe.

  • SS_Unix is vergelijkbaar met de /format:unix uitvoerindeling, maar /format:ss_unix bevat contextlijnen en /format:unix niet.

  • Unified de indeling is afgeleid van de uitvoerindeling op basis van diff -u UNIX. /format:context herhaalt identieke contextlijnen tussen de verschiltekenreeksen, maar /format:unified niet.

    Unified -indeling produceert alleen een nieuwe uniforme tekenreeks (@@ ... @@) als de afstand tot de volgende verschiltekenreeks groter is dan het aantal contextlijnen.

  • Unix uitvoertype is afgeleid van de uitvoerindeling van unix-opdrachten diff .

    De Unix uitvoerindeling wordt op de volgende manier samengesteld:

    <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
    

Voorbeelden

In het volgende voorbeeld ziet u de verschillen tussen de lokale versie van 314.cs en de werkruimteversie van 314.cs die de versie is van het bestand dat is uitgecheckt vanaf de Azure DevOps-server.

c:\projects>tf difference 314.cs

In het volgende voorbeeld worden alle bestanden weergegeven die zijn gewijzigd in de src-map , maar worden geen bestanden weergegeven die zijn gewijzigd in submappen van src.

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

In het volgende voorbeeld ziet u de verschillen tussen wijzigingenset 3 en wijzigingenset 8 van 1254.cs.

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

In de volgende voorbeelden worden de verschillen weergegeven tussen de versie van 314.cs die deel uitmaken van het label release en de versie die deel uitmaakt van de wijzigingenset 3200.

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

– of –

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

In het volgende voorbeeld ziet u het verschil tussen de versies van e271.cs dat een gebruiker met de naam Pat in plankenset PeerCodeReview8 en de basis plankensetversie waarop ze hun wijzigingen hebben gebaseerd. In de uitvoer ziet u ook de typen wijzigingen die in behandeling zijn wanneer e271.cs de gebruiker op de plank staat.

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

In het volgende voorbeeld ziet u de verschillen tussen alle bestanden in de PeerCodeReview2 plankenset en de basis-plankensetversie van die bestanden.

c:\projects> tf difference /shelveset:PeerCodeReview2