dirstate-item: add a `set_possibly_dirty` method
See inline documentation for details.
The pushes the AMBIGUOUS_TIME implementation further down the line within the
DirstateItem only. When this cleanup is done we will be able to stop using this
representation internally.
Differential Revision: https://phab.mercurial-scm.org/D11119
dirstate-item: add a `from_v1_data` constructor
This class method is dedicated to building a DirstateItem from the data
available in the "dirstate-v1" format. Since that format is frozen, this
constructor will never change (unlike the `__init__` one).
Differential Revision: https://phab.mercurial-scm.org/D11118
dirstate-item: use an explicit __init__ function instead of the attrs one
For now, this is not doing anything special, however we plan to make it different in the future. So we start simple.
Differential Revision: https://phab.mercurial-scm.org/D11117
dirstate: deprecated `drop` outside of `update/merge`
All core users have been migrated.
Differential Revision: https://phab.mercurial-scm.org/D11116
dirstate: deprecated `remove` outside of `update/merge`
All core users have been migrated.
Differential Revision: https://phab.mercurial-scm.org/D11115
dirstate: deprecate the `add` method outside of update/merge context
All core users have been updated.
Differential Revision: https://phab.mercurial-scm.org/D11114
upgrade: avoid a traceback in case of unrecognized revlog
Without this, in case of revlog name not matching any know pattern we would get
a traceback. Raising a clear error seems simpler.
Differential Revision: https://phab.mercurial-scm.org/D11202
walk: no longer ignore revlogs of files starting with `undo.` (
issue6542)
Changeset
0b569c75d180 introduced new code in store.walk to filter out undo
files left behind by the transaction. However doing so is also filtering out
legitimate revlog file starting with `undo.`
So this changeset is mostly rolling back that change and adding tests tests to
catch this kind of error in the future.
As a result we the transaction undo files a considered again by various code (in
practice mostly persistent nodemap related). We either live with it (low
inconvenient) or explicitly work around it for now.
This should be good enough to no longer block the 5.9rc release with this issue.
We shall build something cleaner within the 6.0 cycle.
Differential Revision: https://phab.mercurial-scm.org/D11201
largefiles: replace use of synclfdirstate with drop
Replace calling a complex function with a simple dedicated one
Differential Revision: https://phab.mercurial-scm.org/D11113
testing: do not stop waiting if timeout is 0 (
issue6541)
Differential Revision: https://phab.mercurial-scm.org/D11102