##// END OF EJS Templates
templater: switch to lower-level config.parse() in _readmapfile()...
templater: switch to lower-level config.parse() in _readmapfile() I hope to modify this code to also work with resources loaded from memory (for PyOxidizer support). For that, we'll need to handle the lookup of relative `%include` path (not joined with the base directory of the containing file). This patch prepares for that by using `config.parse()` instead of `config.read()`, since the latter expects a file in the file system. As it happens, this change also lets us clean up the `config` class to not need the `_includepaths` field. That will happen next. Differential Revision: https://phab.mercurial-scm.org/D8791

File last commit:

r45111:c5653cf2 default
r45769:8ec3062b default
Show More
TODO.md
30 lines | 1.1 KiB | text/x-minidsrc | MarkdownLexer

Octopus Merge Support

This will be moderately complicated, as we'll need to synthesize phony
changeset entries to explode the octopus into "revisions" that only
have two parents each. For today, we can probably just do something like

aaaaaaaaaaaaaaaaaaXX{20 bytes of exploded node's hex sha}

where XX is a counter (so we could have as many as 255 parents in a
git commit - more than I think we'd ever see.) That means that we can
install some check in this extension to disallow checking out or
otherwise interacting with the aaaaaaaaaaaaaaaaaa revisions.

Interface Creation

We at least need an interface definition for changelog in core that
this extension can satisfy, and again for basicstore.

Reason About Locking

We should spend some time thinking hard about locking, especially on
.git/index etc. We're probably adequately locking the git
repository, but may not have enough locking correctness in places
where hg does locking that git isn't aware of (notably the working
copy, which I believe Git does not lock.)