[Commented On] D9274: internals: start to document how .hg/ works
joerg.sonnenberger (Joerg Sonnenberger)
phabricator at mercurial-scm.org
Sat Nov 7 20:56:17 UTC 2020
joerg.sonnenberger added inline comments.
INLINE COMMENTS
> locks.txt:51
> +may assume that there aren't multiple threads operating independently and
> +any lock held by that process is valid.
> +
We try to read the content of the symlink? Not sure if documenting the reason for a symlink (atomic creation including content) makes sense here.
> repolayout.txt:5
> +maintains all its internal data and state) is the non user-facing
> +component.
> +
.hg/hgrc is an exception here. Any others?
> repolayout.txt:18
> +entry in this file, it should fail fast and refuse to continue, as any
> +unknown value represents undefined behavior to that client.
> +
Maybe "unknown properties of the repository encoding" instead of UB?
> repolayout.txt:69
> +See :hg:`help internals.store-revlog` for details about the revlog-based
> +store, which is the default store used by Mercurial.
Mention cache and wcache as placeholders at least? Any other important items?
> store-revlog.txt:43
> +
> +Both ``00changelog.i`` and ``00manifest.d`` can have a corresponding
> +``.d`` file if the revlog is not *inline*. See :hg:`help internals.revlogs`
00manifest.i?
> store-revlog.txt:44
> +Both ``00changelog.i`` and ``00manifest.d`` can have a corresponding
> +``.d`` file if the revlog is not *inline*. See :hg:`help internals.revlogs`
> +for more.
using inline storage?
> store-revlog.txt:131
> +
> +* Byte values 0-31, 34, 42, 58, 60, 62, 63, 92, 124, and 126-255 are encoded
> + to ``~xx``, where ``xx`` represents the lowercase hexidecimal encoding of
Byte value of 0 is not possible?
> store-revlog.txt:191
> +
> +* Byte values 0-31, 34, 42, 58, 60, 62, 63, 92, 124, and 126-255 are encoded
> + to ``~xx``, where ``xx`` represents the lowercase hexidecimal encoding of
See above.
> store-revlog.txt:330
> +original content. ``is_cache`` is a ``0`` or ``1`` boolean flag indicating if
> +the changed file is a special *cache* file.
> +
As discussed earlier on IRC, I think the "cache" file property is currently hard-wired to 0 with no interface to set it to 1?
> store-revlog.txt:339
> +appended to. If no original file exists, its ``<offset>`` is recorded as
> +``0``.
> +
The inline -> external storage for revlog files should be documented as a special case here. I'm not even sure if the current logic is fully correct for that...
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D9274/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D9274
To: indygreg, #hg-reviewers
Cc: joerg.sonnenberger, mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20201107/c3cb8649/attachment-0002.html>
More information about the Mercurial-patches
mailing list