|
From: Bruno <bon...@in...> - 2006-05-28 08:23:52
|
KDiff3 is very slow to compare two (or 3) directory trees where most of the files are hardlinked between the trees. KDiff3 should detect such hardlinks and skip content comparison in such cases as diff does. Sample tree setup (only the first level shown) linux.orig/ linux.mine/ arch/ arch/ COPYING <hardlink> COPYING crypto/ crypto/ drivers/ driver/ include/ include/ ipc/ ipc/ kernel/ kernel/ MAINTAINERS <hardlink> MAINTAINERS mm/ mm/ README <hardlink> README scripts/ scripts/ sound/ sound/ block/ block/ CREDITS <hardlink> CREDITS Documentation/ Documentation/ fs/ fs/ init/ init/ Kbuild <hardlink> Kbuild lib/ lib/ Makefile Makefile (different) net/ net/ REPORTING-BUGS <hardlink> REPORTING-BUGS security/ security/ usr/ usr/ As you can see all files which are equal are hardlinked together. When comparing two files kdiff3 should first check if the files are on same device and have same inode; if so mark files as equal WITHOUT looking at the content, otherwise proceed as usual. Without such a check it takes an eternity to compare two trees as big as kernel tree with only a few changes... Regards, Bruno |