Zobrazit Rozdíly

Jeden z nejčastějších požadavků ve vývoji projektu je vidět, co se změnilo. Možná se budete chtít podívat na rozdíly mezi dvěma revizemi stejného souboru, nebo rozdíly mezi dvouma samostatnými soubory. TortoiseSVN nabízí vestavěný nástroj s názvem TortoiseMerge k prohlížení rozdílů textových souborů. K prohlížení rozdílů obrázků, TortoiseSVN má také nástroj s názvem TortoiseIDiff. Samozřejmě, že můžete používat svůj vlastní oblíbený program pro porovnání, pokud se Vám líbí.

Rozdíly souboru

Místní změny

Pokud chcete vidět, jaké změny jste Vy provedli ve Vaší pracovní kopii, stačí použít kontextové menu průzkumníka a zvolte TortoiseSVNPorovnat.

Porovnat s jinou větví/značkou

Pokud chcete vidět, co se změnilo v kmeni (pokud pracujete ve větvi), nebo v konkrétní větvi (pokud pracujete v kmeni), můžete použít kontextového menu Průzkumníka. Podržte klávesu Shift, při klepnutí pravým tlačítkem myši na soubor. Pak vyberte TortoiseSVNPorovnat s URL. V následujícím dialogovém okně zadejte adresu URL v úložišti, se kterou chcete místní soubor porovnat.

Můžete také použít průzkumníka úložiště a vybrat dva stromy k porovnání, třeba dvě značky, nebo větev/značku a kmen. Kontextové menu Vám je umožňuje porovnat s použitím Porovnat revize. Přečtěte si více v „Porovnávání adresářů“.

Rozdíl od předchozí revize

Pokud chcete vidět rozdíl mezi konkrétní revizí a Vaší pracovní kopie, použijte dialogové okno Záznamu Revizí, vyberte revizi, kterou chcete porovnat, pak z kontextového menu zvolte Porovnat s pracovní kopií.

Pokud chcete vidět rozdíl mezi poslední odevzdanou revizí a Vaší pracovní kopií, za předpokladu, že pracovní kopie nebyla změněna, stačí kliknout pravým tlačítkem myši na soubor. Pak vyberte TortoiseSVNPorovnat s předchozí verzí. Tímto provedete porovnání mezi revizí před posledním datem odevzdání (který byl zaznamenán ve Vaší pracovní kopii) a pracovním originálem. Zde můžete vidět poslední změny v tomto souboru, které ho přivedly do stavu, který vidíte ve Vaší pracovní kopii. Nikdy nezobrazí změny novější než ty ve Vaší pracovní kopii.

Rozdíl mezi dvěma předchozími revizemi

Pokud chcete vidět rozdíly mezi dvěma revizemi, které jsou již odevzdané, použijte dialogové okno Záznam Revizí a vyberte dvě revize, které chcete porovnat (za použití obvyklých Ctrl-Modifikátor). Pak vyberte z kontextového menu Porovnat revize.

Pokud jste toto provedli ze záznamu revize pro adresář, zobrazí se dialogové okno Porovnat Revize, zobrazující seznam změněných souborů v tomto adresáři. Přečtěte si více na „Porovnávání adresářů“.

Všechny změny provedené v odevzdání

Pokud chcete vidět změny provedené ve všech souborech v určité revizi zobrazené najednou, můžete použít výstup sjednoceného rozdílu (záplata formátu GNU). Ukazuje pouze rozdíly s několika řádky kontextu. Je těžší číst než vizuální porovnání souborů, ale zobrazí všechny změny dohromady. V dialogovém okně Záznam Revizí vyberte revizi, kterou chcete a zvolte Zobrazit Rozdíly jako Jednotnou změnu v kontextovém menu.

Rozdíl mezi soubory

Pokud chcete vidět rozdíly mezi dvěma různými soubory, můžete to udělat přímo v Průzkumníku výběrem obou souborů (pomocí obvyklých Ctrl-Modifikátor). Pak z kontextové nabídky Průzkumníka zvolte TortoiseSVNPorovnat.

Pokud soubory pro porovnání se nenacházejí ve stejné složce, použijte příkaz TortoiseSVNPorovnat později pro označení prvního souboru pro porovnání, pak přejděte k druhému souboru a použijte TortoiseSVNPorovnat s "cesta/k/označenému/souboru". Pro odstranění označení souboru použijte znovu příkaz TortoiseSVNPorovnat později, ale nyní spolu s kliknutím podržte klávesu Ctrl.

Rozdíl mezi souborem/adresářem pracovní kopie a URL

Pokud chcete vidět rozdíly mezi souborem ve Vaší pracovní kopii a souborem v jakémkoli Subversion úložišti, můžete to provést přímo v Průzkumníkovi vybráním souboru a přidržením klávesy Shift při kliknutí pravým tlačítkem myši pro získání kontextového menu. Vybrerte TortoiseSVNPorovnat s URL. Toto můžete udělat i pro adresář pracovní kopii. TortoiseMerge zobrazí tyto rozdíly stejným způsobem, jako zobrazuje soubor záplaty - seznam změněných souborů které si můžete prohlédnout jeden po druhém.

Rozdíl v informacích o obvinění

Pokud chcete vidět nejenom rozdíly ale také autory, revize a data, kdy byly změny provedeny, můžete spojit hlášení o porovnání a obvinění v rámci dialogového okna záznamu revizí. Přečtěte si „Obvinit Rozdíly“ pro další podrobnosti.

Rozdíl mezi adresáři

Vestavěné nástroje dodávané s TortoiseSVN nepodporují porovnávání rozdílů mezi hierarchií adresářů. Ale pokud máte externí nástroj, který podporuje tuto funkci, můžete ho místo něj použít. V „Externí Nástroje Porovnání/Sloučení“ Vám řekneme o některé nástroje, které jsme používali.

Pokud máte nastaven porovnávací nástroj třetí osoby, můžete použít Shift při výběru příkazu Porovnat pro použití jiného nástroje. Přečtěte si „Nastavení Externího Programu“ k zjištění ke konfiguraci dalších nástrojů porovnání.

Možnosti konců řádků a mezer

Někdy v životě projektu byste mohli změnit konce řádků z CRLF na LF, nebo můžete změnit odsazení sekce. Bohužel to bude znamenat velký počet změněných řádků, i když nedojde k žádné změně ve významu tohoto kódu. Možnosti zde Vám pomůžou zvládnout tyto změny, pokud jde o srovnání a použití rozdílů. Tato nastavení jsou v dialogových oknech Sloučit a Obvinit, stejně jako v nastavení TortoiseMerge.

Ignorovat konce řádků vyřadí změny, které jsou pouze z důvodu rozdílu stylu v konci řádků.

Porovnat mezery zahrnuje všechny změny v odsazení a mezer za sebou jako přidané/odstraněné řádky.

Ignorovat změny mezer vyřadí změny, které jsou pouze z důvodu změny množství nebo druhu mezer, např. změna odsazení nebo změna tabulátorů na mezery. Přidání mezery tam, kde předtím nebyla nebo úplné odstranění mezery se stále zobrazí jako změna.

Ignorovat všechny mezery vyřadí všechny změny způsobené mezerami.

Samozřejmě, že jakýkoli řádek se změněným obsah je vždy zahrnut v porovnání.

Porovnávání adresářů

Obrázek 4.29. Dialogové okno Porovnání Revizí

Dialogové okno Porovnání Revizí


Když vyberete dva stromy v průzkumníku úložiště, nebo pokud zvolíte dvě revize adresáře v dialogovém okně záznamů můžete Kontextové menu Porovnat revize.

Toto dialogové okno zobrazí seznam všech souborů, které se změnily, a umožňuje Vám je individuálně porovnat nebo obvinit pomocí kontextového menu.

Můžete exportovat Změny Stromu, což je užitečné, pokud potřebujete poslat někomu jinému Vaši strukturu stromu projektu, obsahující pouze soubory, které se změnily. Tato operace funguje pouze ve vybraných souborech, takže musíte zájmové soubory vybrat - obvykle to znamená, že všechny - a pak Kontextové menuExportovat výběr do.... Budete vyzváni k zadání umístění pro uložení změn stromu.

Můžete také exportovat Seznam změněných souborů do textového souboru pomocí Kontextové menuUložit seznam vybraných souborů do....

Pokud chcete exportovat seznam souborů a činnosti (změněno, přidáno, smazáno), toto můžete také udělat pomocí Kontextové menuVýběr kopírovat do schránky.

Tlačítko v horní části Vám umožní změnit směr srovnání. Můžete ukázat změnám, že se musí dostat z A do B, nebo chcete-li, z B do A.

Tlačítek s čísly revizí lze použít pro změnu na jiný rozsah revize. Když změníte rozsah, seznam položek, které se liší mezi dvěma revizemi, bude automaticky aktualizován.

Pokud je seznam souborů velmi dlouhý, můžete použít vyhledávací pole k snížení seznamu souborů obsahujících určitý text. Nezapomeňte, že se používá jednoduché textové vyhledávání, takže pokud chcete omezit seznam na zdrojové souborů C, měli byste zadat .c raději než *.c.

Porovnávání snímků pomocí TortoiseIDiff

Je k dispozici mnoho nástrojů k porovnání textových souborů, včetně našeho TortoiseMerge, ale my se často ocitáme v pozici, kdy chceme vidět, jak se také obrázkový soubor změnil. To je důvod, proč jsme vytvořili TortoiseIDiff.

Obrázek 4.30. Prohlížeč porovnání obrázku

Prohlížeč porovnání obrázku


TortoiseSVN Porovnat některý z běžných formátů obrázkového souboru spustí TortoiseIDiff zobrazující grafické rozdíly. Ve výchozím nastavení jsou obrázky zobrazeny vedle sebe, ale můžete použít menu Zobrazení nebo panelu nástrojů a místo toho přejít na zobrazení pod sebou nebo pokud chcete, můžete obrázky překrýt a předstírat, že používáte lightbox.

Samozřejmě můžete také přibližovat a oddalovat a posouvat obraz. Můžete také posunout obraz jednoduše táhnutím. Pokud zvolíte volbu Spojit obrázky dohromady, pak ovládání posunutí (posuvníky, kolečko myši) jsou na obou obrazcích propojeny.

Okno informací o obrázku zobrazuje detaily o obrázkovém souboru, jako je velikost v pixelech, rozlišení a barevná hloubka. Pokud Vám tento rámeček překáží, použijte ZobrazitInformace o obrázku pro jeho skrýtí. Stejné informace můžete získat v popisku, pokud podržíte myš nad záhlavím názvu obrázku.

Když jsou překryty obrázky, je relativní intenzita obrazů (částečná průhlednost) kontrolovaná posuvníky na levé straně. Můžete kliknout na libovolné místo v posuvník pro nastavení průhlednosti přímo, nebo můžete táhnutím posuvníku změnit průhlednost interaktivně. Ctrl+Shift-Kolečko k změnění průhlednosti.

Tlačítko nad posuvníkem přepíná mezi 0% a 100% průhledností, a pokud dvakrát kliknete na tlačítko, průhlednost se automaticky bude přepínat každou sekundu, dokud na tlačítko znovu nekliknete. To může být užitečné, když hledáte více malých změn.

Někdy chcete vidět rozdíly spíše než průhlednost. Možná máte dvě revize obrazovkových souborů vytištěné obvodové desky a chcete vidět, které spoje se změnily. Pokud zakážete prolnutí částečné průhlednosti, rozdíl bude zobrazena jako XOR barevných hodnot pixelu. Nezměněné oblasti budou čistě bílé a změny budou vybarvené.

Porovnávání Dokumentů Office

Když chcete porovnat netextové dokumenty, normálně musíte použít software sloužící k vytvoření dokumentu protože rozumí formátu souboru. Pro běžně používané sady Microsoft Office a Open Office skutečně existuje nějaká podpora pro zobrazování rozdílů a TortoiseSVN obsahuje skripty k jejich vyvolání se správným nastavením při porovnání souborů se známými příponami souborů. Můžete zkontrolovat, které přípony souborů jsou podporovány a přidat vlastní tím, že půjdete do TortoiseSVNguimenu>Nastavenguimenuitem>menuchoice> a kliknutPokroguibutton> v sekci Externguilabel> sekci.

Problémy s Office 2010

Pokud jste nainstalovali verzi Klikněte pro Spuštěníemphasis> Office 2010 a pokusSouquote> Zd

Externí Nástroje Porovnání/Sloučení

Pokud nástroje, které Vám poskytujeme, nedělají to, co potřebujete, zkuste některý z mnoha open-source nebo komerčních programů, které jsou k dispozici. Každý má své oblíbence a tento seznam není v žádném případě úplný, ale tady je několik, které byste mohli brát v úvahu:

WinMerge

WinMerge is a great open-source diff tool which can also handle directories.

Perforce Merge

Perforce is a commercial RCS, but you can download the diff/merge tool for free. Get more information from Perforce.

KDiff3

KDiff3 je bezplatný nástroj pro porovnání, který pracuje i s adresáři. Můžete si jej stáhnout zde.

Sloučení/Rozdíl SourceGear

SourceGear Vault is a commercial RCS, but you can download the diff/merge tool for free. Get more information from SourceGear.

ExamDiff

ExamDiff Standard je freeware. Je možné pracovat se soubory, ale i s adresáři. ExamDiff Pro je shareware a přidává řadu lahůdek včetně porovnání adresářů a editační funkce. V obou příchutích, verze 3.2 a vyšší zvládne unicode. Můžete si je stáhnout z PrestoSoft.

Beyond Compare

Similar to ExamDiff Pro, this is an excellent shareware diff tool which can handle directory diffs and unicode. Download it from Scooter Software.

Araxis Merge

Araxis Merge is a useful commercial tool for diff and merging both files and folders. It does three-way comparison in merges and has synchronization links to use if you've changed the order of functions. Download it from Araxis.

Přečtěte si „Nastavení Externího Programu“ pro Informace o tom, jak nastavit TortoiseSVN k používání těchto nástrojů.