sapling/eden
Michael Bolin 5a2246acbf Address a major outstanding TODO in Dirstate::hgGetDirstateTuple.
Summary:
Previously, `Dirstate::hgGetDirstateTuple()` was reporting a status of
`DirstateNonnormalFileStatus::NotTracked` even when the true status was
`Normal`.

Falsely reporting the status has serious consequences when running `hg log` on
an existing, tracked file. Specifically, it causes this `f not in wctx`
condition to be `True` here:

https://phab.mercurial-scm.org/diffusion/HG/browse/default/mercurial/cmdutil.py;da8bdeb1be28b976909a963c89e974264686e2bb$2316

which in turn causes the slow path to be selected:

https://phab.mercurial-scm.org/diffusion/HG/browse/default/mercurial/cmdutil.py;da8bdeb1be28b976909a963c89e974264686e2bb$2320

For large repositories like ours, this can be very, very slow.

There are still some TODOs in the new implementation, but this seems much more
faithful to the true implementation than what we had before.

Reviewed By: quark-zju

Differential Revision: D5655741

fbshipit-source-id: 07b953e23e4d74c480ac2d94dfc6a8df9df4fcbb
2017-08-18 21:49:59 -07:00
..
cli Add subcommand getpath to eden debug 2017-08-16 20:04:30 -07:00
docs update logging statements to use folly logging APIs 2017-06-22 13:50:13 -07:00
facebook codemod: format TARGETS with buildifier [4/5] (D5092623) 2017-06-01 17:52:40 -07:00
fs Address a major outstanding TODO in Dirstate::hgGetDirstateTuple. 2017-08-18 21:49:59 -07:00
hooks codemod: format TARGETS with buildifier [4/5] (D5092623) 2017-06-01 17:52:40 -07:00
integration Add subcommand getpath to eden debug 2017-08-16 20:04:30 -07:00
DEFS move eden/fs/cli to eden/cli 2017-04-14 11:39:01 -07:00