Rozdíl3 - Diff3
Vývojáři | AT&T Bell Laboratories |
---|---|
První vydání | Leden 1979 |
Operační systém | Unix a Unixový |
Typ | Příkaz |
diff3 je Unix nástroj pro porovnání tří souborů a zobrazení jakýchkoli rozdílů mezi nimi. diff3 může také spojit soubory, implementace a třícestné sloučení.
Historie a implementace
![]() | Tato sekce chybí informace o algoritmu a podobnosti s diff.Červen 2020) ( |
diff3
původně se objevil v Verze 7 Unix z roku 1979. Velmi podobná verze byla nalezena v Distribuce softwaru Berkeley (BSD) a pravděpodobně byl zděděn do OpenBSD Solaris.[1][2]
Na většině moderních unixových systémů, dokonce i na BSD, jako je FreeBSD a NetBSD, je poskytnutý diff3 GNU verze v systému Windows diffutils (dříve Nástroje GNU). Tato verze má schopnost sloučit soubory sama, aniž by se na ni spoléhala vyd
. Interně vyvolává rozdíl
provést srovnání, ale lze použít i jakýkoli jiný kompatibilní nástroj.[3]
„Diff3“ se také stal obecným názvem algoritmu třícestného sloučení, konkrétně jednoho založeného na sladění dvou různých rozdílů pocházejících z prvního zdroje.
Sloučení od společného předka
Když dva lidé provedli změny v kopiích stejného souboru, diff3 může vytvořit sloučený výstup, který obsahuje obě sady změn společně s varováním před konflikty. diff3 může sloučit tři nebo více sad změn do souboru sloučením dvou sad změn najednou.
diff3 může začlenit změny ze dvou upravených verzí do společné předchozí verze. To umožňuje uživatelům sloučit sady změn představované dvěma novějšími soubory. To lze povolit pomocí příkazu, jako je tento: diff3 důl starší tvůj
.
Je to jako odečíst soubor starší
ze souboru tvoje
a přidání výsledku do souboru těžit
, nebo jako sloučení do těžit
změny, které by se změnily starší
do tvoje
. Toto sloučení je dobře definované, pokud těžit
a starší
zápas v sousedství každé takové změny. To nemusí být pravda, když se všechny tři vstupní soubory liší, nebo pouze když starší
se liší; toto je konflikt. Když se všechny tři vstupní soubory liší, konflikt se překrývá.
diff3 má několik metod pro překrývání a konflikty. Může vynechat překrytí nebo konflikty, nebo vybrat pouze překrytí nebo označit konflikty zvláštním <<<<<<<
a >>>>>>>
řádky.
diff3 může výstup spojit výsledky jako vyd skript, který lze použít na první soubor za účelem získání sloučeného výstupu. Přímé generování sloučeného výstupu však obchází některé problémy s ed.
Reference
Viz také
externí odkazy
- Formální vyšetřování Diff3
- GNU diffutils manuální, „Porovnání tří souborů“ a "Sloučení od společného předka"