Commit Graph

5 Commits

Author SHA1 Message Date
Jun Wu
8be07fec9a treestate: do not gc trees that are modified recently
Summary:
This could avoid issues where there are references to new trees. Trees
are written, but those references haven't been written to disk.

As we're here, also add `ui.log` to log what files are removed.

Reviewed By: markbt

Differential Revision: D8940827

fbshipit-source-id: fbe59a5d87b302c7074f618cbbae56fb1f3d4ff4
2018-07-25 18:21:11 -07:00
Jun Wu
13e84ecd84 test-import: use treestate
Summary:
This test exposes an issue that treestate does not respect HGPENDING. That
was fixed and the test is switched to run with treestate.

Reviewed By: DurhamG

Differential Revision: D8869844

fbshipit-source-id: 99583e68ccbabbe1ed8395012bf280fd5a7e98c3
2018-07-17 16:06:04 -07:00
Jun Wu
0cd76376ed tests: run watchman tests in CI
Summary: Run tests with watchman built from fbcode master. So we get signals about watchman/hg changes.

Reviewed By: DurhamG

Differential Revision: D8448187

fbshipit-source-id: 8643f139932057f326bc75b0b0c5cc616355eeed
2018-06-20 19:35:31 -07:00
Jun Wu
fd0ca23d39 treestate: implement gc
Summary:
Implement gc for treestate. Dirstate writes are protected by wlock. So it's
fine to do a gc inside the write method.

Reviewed By: markbt

Differential Revision: D8394736

fbshipit-source-id: 672087a2c14b855d1ca0449eb5b7d92d65bba418
2018-06-18 10:40:08 -07:00
Jun Wu
afc292c75c treestate: implement repack
Summary: Similar to treedirsate, if the file size exceeds configured limit, do a repack.

Reviewed By: markbt

Differential Revision: D8394735

fbshipit-source-id: 21a73cd32b33ed462bab8050c3d42a5e7545d3a4
2018-06-18 10:40:07 -07:00