dirstate: make dir collision logic faster
- shortcircuit decpath if we haven't built the _dirs map
- increment only for leafnodes of directory tree
(this should make construction more like O(nlog n) than O(n^2))
#!/bin/sh
hg init
touch a
hg add a
hg ci -m "a" -d "1000000 0"
echo 123 > b
hg add b
hg diff --nodates
hg diff --nodates -r tip
echo foo > a
hg diff --nodates
hg diff -r ""
hg diff -r tip -r ""
true