Propagate file list through dodiff
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Propagate file list through dodiff
This speeds up operations like 'hg diff Makefile'. Previously it would
walk the entire directory tree looking for changes. Now it will only
stat Makefile. Further, if Makefile appears untouched, it will skip
reading the manifest.
manifest hash: ab22a70a5511ed2d7a647f2cd15d129a88dccabf
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxNRyywK+sNU5EO8RAgb6AKC2TzWmRjNsWq0Q9Pa+ppCZ6Y+pdwCfdHUA
UHu024/2Wt6C6WZ5vcWfPbo=
=E35L
-----END PGP SIGNATURE-----
#!/bin/sh -x
hg -d init
echo this is a1 > a
hg -d add a
hg -d commit -t0 -d "0 0" -u user
echo this is b1 > b
hg -d add b
hg -d commit -t1 -d "0 0" -u user
hg -d manifest 1
echo this is c1 > c
hg -d rawcommit -p 1 -d "0 0" -u user -t2 c
hg -d manifest 2
hg -d parents
rm b
hg -d rawcommit -p 2 -d "0 0" -u user -t3 b
hg -d manifest 3
hg -d parents
echo this is a22 > a
hg -d rawcommit -p 3 -d "0 0" -u user -t4 a
hg -d manifest 4
hg -d parents
echo this is c22 > c
hg -d rawcommit -p 1 -d "0 0" -u user -t5 c
hg -d manifest 5
hg -d parents
# merge, but no files changed
hg -d rawcommit -p 4 -p 5 -d "0 0" -u user -t6
hg -d manifest 6
hg -d parents
# no changes what-so-ever
hg -d rawcommit -p 6 -d "0 0" -u user -t7
hg -d manifest 7
hg -d parents