[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