Jak porównać dwa drzewa źródłowe w Linuksie? [zamknięte]
Mam dwa katalogi zawierające pliki źródłowe do projektu, który odziedziczyłem z niewielką ilością dokumentacji. Jak porównać oba katalogi, aby zobaczyć, jakie są różnice. Dzięki.
5 answers
Możesz spróbować MELD : http://meld.sourceforge.net/ co jest wspaniałym wizualnym narzędziem diff; -)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-22 12:01:27
Spróbuj tego:
diff -Naur dir1/ dir2/
- Opcja
-u
sprawia, że wyjście trochę łatwiejsze do odczytania. - Opcja
-r
rekursuje wszystkie podkatalogi - Opcje
-N
i-a
są naprawdę konieczne tylko wtedy, gdy chcesz stworzyć Plik z patchem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-22 12:25:38
diff -u -r dirA dirB
Pokaże Ci zunifikowane rekurencyjne różnice pomiędzy Plikami w dirA i dirB
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-22 14:37:32
Możesz użyć polecenia diff w powłoce. Lub zainstalować narzędzie jak kdiff3
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-22 12:01:45
Polecenie diff do porównywania katalogów mówiło mi, że nie mam różnic, kiedy wiedziałem, że są różnice.
Zamiast używać Diffa bezpośrednio, użyłem posortowanej listy sum MD5, a następnie porównałem te pliki z diffem:
find /path1/dir/ -type f -exec md5sum {} + | awk '{print $2 $1}' | sort >! path1.log
find /path2/dir/ -type f -exec md5sum {} + | awk '{print $2 $1}' | sort >! path2.log
gvimdiff path1.log path2.log
Jeśli początkowa część ścieżki powoduje bóle głowy, zmień ją. Wybierz Okno Path1 i wpisz:
:%s|path1|path2|g
To zastąpi wszystkie instancje path1 z path2 w pierwszym pliku, a teraz twój diff powinien tylko pokazywać różnice.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-21 17:17:17