hg diff takes 30 seconds to find nothing.

Rob Landley rob at landley.net
Thu Dec 7 00:59:48 UTC 2006


Why does "hg diff" do the equivalent of a "find ." in the repository 
directory, rather than just looking at the manifest to get its file list?

My source directory has a "build" directory generated under it when I do test 
builds, and this has tens of thousands of files in it (extracted tarballs, 
etc), and doing an "hg diff" in this directory with a clean cache can take 
over 30 seconds to tell me that nothing it's tracking actually changed.

I did an strace -f of hg (0.9.1), and sure enough it's looking at files that 
have never been checked in.  Why is it even bothering to look at files that 
aren't in the manifest?  Can there possibly be differences between them?

Just wondering...

Rob
-- 
"Perfection is reached, not when there is no longer anything to add, but
when there is no longer anything to take away." - Antoine de Saint-Exupery



More information about the Mercurial mailing list