Hezký přehled různých nástrojů, o wdiff a sdiff jsem ani netušil...
Nebylo by asi od věci zmínit další možnosti u jednotlivých nástrojů. Uznávám, že jít do detailů třeba u ViM by vydalo přinejmenším na samostatných článek (nebo možná i sérii). Ale aspoň zmínka, že podporuje rozdíly více souborů, 3-way merge, plugin pro integraci s Version Control Systems.
Ahoj Pavle
Take dekuji za prehled, take jsem nektere z nich neznal.
Rad bych se zeptal, zda jsou nejake takove nastroje specializujici se na hromadne porovnavani (archivy, slozky) ci binarni soubory. A potom se trochu rozepsat o praci s programem patch.
P.S. Tak me napada, neslo by sepsat opripadne nejake "lidstejsi" clanky o utilitach make a cmake? Nekde jsem cetl, ze make se da vyuzit i v jinych situacich, nez je jen automatizovany preklad zdrojaku. To by docela stalo za pokus, jen jsem proste neprisel jak na to. A cmake je mi docela sympaticke (a nejen proto, ze dokaze spolupracovat do jste miry s Code::Blocks), nicme mam dost gulas v tech jeho makrech ...
Dik
Ahoj, no na patch se urcite chystam (v souvislosti s timto clankem). Ad "make": popravde moc nevim, pouzivam ho uz urcite dve desetileti (nj. leti to) na ruzne veci a vzdycky me dokaze necim dalsim prekvapit :-) Tak bych si nebyl jisty, do jake miry by ten clanek byl podrobny. Popremyslim...
Jinak make se diky tomu, ze dokaze pravidla spoustet paralelne (a detekovat, kdy to jde), zkouselo pouzivat ruzne, i jako init system.
Ovšem ten funguje jenom pro plain text. Právník asi nebudechtít plain text, tam se špatně vkládá logo a malý písmenka v patičce. A nutit právníka dělat v TEXu místo nějakýho WISIWYG? Zajímavá představa... A WISWIG je na 99% binárka.
Binárce GIT nerozumí a ukládá jenom jednotlivý kopie pod jejich hashem, dovnitř nevidí. Takže víš, že byla změna a tu změnu musí někdo popsat do komentáře. Obě verze si tak stejně musíš porovnat jinak. Nebo se spolehnout na komentář, že cena byla snížena o 10% a nepodívat se, že byla naopak zvýšena o 20% nebo někdo zapommněl okomentovat, že zvednul smluvní pokutu a zkrátil dodací lhůtu.
Nezapomente na ultimatni a nejlepsi 3way merge/diff tool na svete: P4Merge
A svete div se je zdarma pro win/lin/mac. V novsich verzich uz umi diffovat dokonce i obrazky!
https://www.perforce.com/products/helix-core-apps/merge-diff-tool-p4merge
Spíš jsem to myslel tak, že je to standardní funkcionalita, kterou očekávám od nástroje pro řešení konfliktů a marně jsem se v tom krátkém videu snažil najít něco speciálního co konkurence nemá. Dost podobně to vypadá třeba i ve vimu a nejspíš i v meldu a dalších (viz http://www.sw-samuraj.cz/2017/11/vimdiff-nastroj-drsnaku.html).
Moj favorit v kombinacii s gitom je diffuse. Ma parameter -r <revision> a prakticky je mozne porovnat lubovolne 2 a viac suborov z roznych revizii. Takze ak niekto premenuje alebo skopiruje zdrojak, diffuse na to vie pohodlne posvietit. A samozrejme ma sikovny custom line alignment - medzerou.
clanek hodny vystaveni na wiki !
Doplnuji jeste vestaveny porovnavac adresaru/souboru v double commanderu. Urcite neni tak mocny jako nektere popsane nastroje, ale nekomu muze stacit. Pro me bylo objeveni double commanderu (funkcemi a ovladanim klon total Commanderu) zasadni pro uplny prechod z win na linux.
autor< Plánujete také zařadit nějaké představené diff nástrojů, které znají syntax souborů a tedy porovnávají se znalostí struktury? Klasické "diffy" jsou fajn,ale v podstatě jsou použitelné jen pro malé, "blízké" změny obecného textu. Klasická situace, kde začínají selhávat je přehazování bloků textu ve zdrojácích (např. změna pořadí metod ve třídě). Většinou stačí zpřeházet pořadí třech a více metod. Zatím jsem potkal (free) nástroj, který by si uměl elegantně poradit např. s diffem tříd rodiče a potomka (např. potomek má překrytou/přetíženou metodu a nějaký balast okolo a nesedí to blokově na rodiče). Strukturně-obsahové porovnání mají sice různé IDE, ale podle mě to nikde moc dobře nefunguje. Znáte nějaký free nástroj, který by to uměl pro Javu, C(++) a další?
Já ještě přihodím komerční multiplatformni stálici na diff-merge nebi: Beyond Compare
http://www.scootersoftware.com/features.php
Stojí sice kolem 60$ ale na to co umí (je to i file-folder syncer) jsou to dobře investované penízky.
Díky za článek. Neznal jsem idiff, naopak pro obarvení výstupů z diffu používám colordiff, který je normálně v repozirářích distribucí. Mimochodem umí obarvit i výstup wdiffu.
Zajímavý je git-diff, který funguje něco jako (diff -u | colordiff | less -R), což je rychlá a užiteční funkcionalita :)
(win10) Total cmd - U win pouzivam pro srovnani starsiho a novejsiho kodu. Neni to nic moc extra, ani barevne, ale staci to. Bohuzel tuto funkci neumi Far mng. Jinak Far uplne na vsechno :) A bohuzel linux nema Far. Vsechny jeho klavesove zkratky a tak.
(win10) Pspad - tusim to umi take srovnavat.
Mam pocit, ze TC ma verzi i pro linux, proto to zminuji. Pspad netusim.
[peter]
Mam pocit, ze TC ma verzi i pro linux, proto to zminuji. Pspad netusim.
TC je pro widle a mobile. Pro Mac je doporucen CrossOver. O Linuxu na strance dovnload ani pismenko.
PSPad jen Widle. A to me vede: nejsem si ted jist zda diff umel, ale v dobe kdy jsem v dual bootu pouzival jeste XPcka, jsem pro tento os mel v oblibe CodePad. Bohuzel uz asi skoncil :(