Sdílet prostřednictvím


Příkaz Rozdíl

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

Visual Studio 2019 | Visual Studio 2022

Příkaz TFVC (Team Foundation Version Control) difference porovnává a pokud je to možné, rozdíly mezi dvěma soubory, soubory ve dvou složkách nebo sada odložených změn a místní nebo serverový soubor.

Požadavky

Pokud chcete použít příkaz difference, musí mít oprávnění Číst pro všechny zadané položky nastavené na Povolit. Další informace najdete v tématu Výchozí oprávnění TFVC.

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

Parametry

Argumenty

argumentu

popis

<itemspec>

Požadovaný. Určuje položku, která se má porovnat. Pokud není zadána žádná verze nebo cesta, předpokládá se aktuální verze pracovního prostoru. Přijímá místní i cesty k serveru Azure DevOps.

Další informace o tom, jak TFVC analyzuje itemspec určit, které položky jsou v oboru, najdete v tématu Použití příkazů správy verzí Team Foundation.

Příkaz difference nepodporuje zástupné znaky.

Tento parametr nelze kombinovat s možností /shelveset.

<itemspec2>

Volitelný. Položka, na kterou se má porovnat itemspec. Pokud nezadáte druhou itemspec, použije se nejnovější verze serveru Azure DevOps položky.

<filetype>

Poskytuje hodnotu pro možnost /type. Můžete zadat binary nebo text a číslo znakové stránky nebo popisný název znakové stránky.

<format>

Používá se s možností /format k určení výstupního formátu jednoho z následujících typů:

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

Tyto formáty výstupu jsou vysvětleny v části Poznámky.

<versionspec>

Hodnota zadaná uživatelem pro možnost /version. Další informace o tom, jak TFVC parsuje specifikaci verze k určení položek v jeho oboru, najdete v tématu Použití příkazů správy verzí Team Foundation.

<shelvesetowner>

Identifikuje vlastníka sady odložených polí podle uživatelského jména. Pokud není zadaná hodnota tohoto parametru, předpokládá se aktuální uživatel.

<shelvesetname>

Určuje název sady odložených odložených polí. Na serveru, na kterém běží TFVC, můžete vytvořit více než jednu sadu odložených odložených polí, pokud každý z nich vlastní jiný uživatel.

<shelveset_itemspec>

Určuje název složky nebo souboru v sadě odložených složek, které se mají porovnat s verzí sady odložených odložených polí.

<username>

Poskytuje hodnotu /login možnosti. Hodnotu uživatelského jména můžete zadat buď jako DOMAIN\username, nebo username.

Volby

možnost

popis

/type

Přepíše všechna zjištěná kódování a použije zadané kódování k prezentaci souborů rozdílového modulu.

/version

Určuje verzi souboru nebo složky, která se má porovnat. TfVC ve výchozím nastavení používá verzi pracovního prostoru, pokud nezadáte versionspec.

Místo použití příznaku /version můžete zadat verze připojením specifikátoru středníku a verze na konec každého názvu souboru.

/format

Určuje výstupní formát určený argumentem format.

/ignorespace

Nezvýrazňuje mezery mezi porovnávané soubory.

/ignoreeol

Ignoruje rozdíly mezi znaky nového řádku ve dvou souborech nebo verzích souborů. /ignoreeol funguje odlišně od ignorespace, což zachází s osmi mezerami stejně jako s jedním. Pokud ale použijete možnost /ignoreeol a Soubor A má dva znaky nového řádku mezi nezměněnými oblastmi textu a soubor B jeden, výsledek se zobrazí jako rozdíl. Pokud oba soubory mají jenom jeden nový řádek, ale Soubor A používá \r\n jako nový řádek a Soubor B používá \n, možnost /ignoreeol by tuto možnost ignorovala jako rozdíl.

/ignorecase

Nezvýrazňuje rozdíly v písmenech mezi porovnávané soubory.

/recursive

Porovná rozdíly mezi aktuální složkou a všemi jejími podsložkami.

/options

Určuje řetězec možnosti, který má nástroj vyvolat difference. Další informace naleznete v tématu Přidružení typu souboru k nástroji rozdíl a Přidružení typu souboru k nástroji pro sloučení.

/shelveset

Určuje sadu odložených odložených dat, která se má porovnat s verzí serveru Azure DevOps, na které je sada odložených odložených.

Tuto možnost nelze kombinovat s argumentem itemspec. Chcete-li porovnat jednotlivé položky sady odložených položek, můžete poskytnout shelveset_itemspec.

/noprompt

Potlačí všechna dialogová okna, která by se jinak zobrazovala během dokončení této operace.

/configure

Vyvolá dialogové okno Konfigurovat uživatelské nástroje z uživatelského rozhraní sady Visual Studio. Další informace naleznete v tématu Přidružení typu souboru k nástroji rozdíl.

/login

Určuje uživatelské jméno a heslo pro ověření uživatele pomocí TFVC.

Poznámky

Poznámka

Tento příkaz spustíte zadáním tf diff nebo tf difference na příkazovém řádku.

Příkaz difference můžete použít k porovnání a pokud je to možné, můžete zobrazit rozdíly mezi:

  • Dva různé soubory nebo dvě verze stejného souboru.

  • Jedna nebo více položek ve složce

  • Jedna, některá nebo všechny položky v sadě odložených položek na serveru Azure DevOps.

Pomocí příkazu difference můžete porovnat soubory s verzemi i soubory, které nejsou verze.

TFVC kategorizuje všechny soubory podle typu. Textové soubory lze sloučit a porovnávat vedle sebe i řádek po řádci, pokud oba soubory mají stejné kódování. Pokud chcete porovnat dva soubory, jejichž kódování není stejné, můžete dočasně maskovat nebo přepsat vlastnost kódování souboru pomocí možnosti /type.

Binární soubory je možné porovnat, ale nelze je sloučit. Když předáte jeden nebo více binárních souborů příkazu difference, TFVC označuje, jestli mezi ním existují rozdíly a položku, se kterou se porovnává. Další informace o tom, jak TFVC rozlišuje a zpracovává soubory různých typů, naleznete v tématu Správa typů souborů.

Pokud zadáte dva názvy souborů, porovnají se dva soubory. Místo použití příznaku /version můžete určit verze připojením specifikátoru středníku a verze na konec každého názvu souboru.

Pokud předáte rozdílu pouze jeden itemspec:

  • Pokud nezadáte versionspec, vaše aktuální verze pracovního prostoru položky se ve výchozím nastavení porovná se základní verzí pracovního prostoru. Například tf difference header.h porovná aktuální verzi header.h s verzí, na které header.h je založen.

  • Pokud do itemspeczahrnete versionspec, například tf difference header.h;LBeta1, TFVC porovná tuto verzi s vaší aktuální verzí pracovního prostoru na disku.

  • Pokud zadáte rozsah verzí, jako je /version:C1~C4, porovná se verze souboru na dvou koncových bodech rozsahu.

Další informace o použití nástroje příkazového řádku tf naleznete v tématu Použití příkazů správy verzí Team Foundation.

Typy výstupních formátů

Parametr format použitý s možností /format určuje mnoho různých formátů výstupu. K dispozici jsou následující typy výstupu:

  • Visual typ formátu otevře aplikaci externího rozdílu. Ve výchozím nastavení se spustí diffmerge.exe.

  • Brief formát vytiskne, zda se porovnávané soubory liší.

  • Context formát poskytuje řádky kontextu pro rozdíly v souborech. Tento formát je odvozen od diff -c výstupního formátu založeného na systému UNIX.

  • RCS formát je podobný /format:unix, s výjimkou kontextových řádků nejsou zadány. Není k dispozici žádné speciální předání chybějícího konce značky řádku na konci souboru.

  • SS je výchozí výstupní formát výstupu pro Visual SourceSafe. Další informace naleznete v tématu Diff (příkazový řádek).

  • SS_SideBySide je výchozí souběžný výstupní formát pro Visual SourceSafe.

  • SS_Unix se podobá výstupnímu formátu /format:unix, ale /format:ss_unix obsahuje kontextové čáry a /format:unix ne.

  • formát Unified je odvozen z výstupního formátu diff -u založeného na systému UNIX. /format:context opakuje stejné kontextové čáry mezi řetězci rozdílů, ale /format:unified ne.

    Unified formát vytvoří nový řetězec sjednoceného rozdílu (@@ ... @@), pouze pokud je vzdálenost k dalšímu řetězci rozdílu větší než počet kontextových řádků.

  • Unix výstupní typ je odvozen z výstupního formátu příkazu založeného na systému UNIX diff.

    Výstupní formát Unix je vytvořen následujícím způsobem:

    <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
    

Příklady

Následující příklad zobrazuje rozdíly mezi místní verzí 314.cs a verzí pracovního prostoru 314.cs, která je verzí souboru rezervovaného ze serveru Azure DevOps.

c:\projects>tf difference 314.cs

Následující příklad zobrazí všechny soubory, které byly změněny ve složce src, ale nezobrazuje soubory, které byly změněny v podsložkách src.

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

Následující příklad zobrazuje rozdíly mezi sadou změn 3 a sadou změn 8 1254.cs.

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

Následující příklady zobrazují rozdíly mezi verzí 314.cs, která patří do release popisku, a verzí, která patří do sady změn 3200.

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

-nebo-

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

Následující příklad zobrazuje rozdíl mezi verzemi e271.cs, že uživatel s názvem Pat shelved v sadě odložených PeerCodeReview8 a základní verze sady odložených změn. Výstup také ukazuje typy změn čekajících na e271.cs, když uživatel přeloží.

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

Následující příklad zobrazuje rozdíly mezi všemi soubory v sadě odložených PeerCodeReview2 a základní verzí sady odložených odložených souborů.

c:\projects> tf difference /shelveset:PeerCodeReview2