Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 23 Jun 2017 17:19:29 +0200] rev 33073
configitems: register 'ui.interactive'
That item default value is a bit special (None) so this adds a second proof
that everything is still working fine.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 25 Jun 2017 14:41:12 +0200] rev 33072
config: use '_config' within 'configbytes'
This will prevent bugs from using None as the sentinel value (eg:
'ui.interactive')
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 25 Jun 2017 14:38:56 +0200] rev 33071
config: use '_config' within 'configbool'
This will prevent bugs from using None as the sentinel value (eg:
'ui.interactive')
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 25 Jun 2017 14:34:34 +0200] rev 33070
config: extract the core config logic into a private method
This will make it easier for the other 'configxxx' function to detect unset
value.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 23 Jun 2017 01:38:10 +0200] rev 33069
debugrevlog: also display the largest delta chain span
Mercurial read all data between the base of the chain and the last delta when
restoring content (including unrelated delta). To monitor this, we add data
about the size of the "delta chain span" to debugrevlog.
Jun Wu <quark@fb.com> [Sat, 24 Jun 2017 21:13:48 -0700] rev 33068
rebase: clean up rebasestate from active transaction
Previously, rebase assumes the following pattern:
rebase:
with transaction as tr: # top-level
...
tr.__close__ writes rebasestate
unlink('rebasestate')
However it's possible that "rebase" was called inside a transaction:
with transaction as tr1:
rebase:
with transaction as tr2: # not top-level
...
tr2.__close__ does not write rebasestate
unlink('rebasestate')
tr1.__close__ writes rebasestate
That leaves a rebasestate on disk incorrectly.
This patch adds "removefilegenerator" to notify transaction code that the
state file is no longer needed therefore fixes the issue.
Jun Wu <quark@fb.com> [Sat, 24 Jun 2017 21:01:28 -0700] rev 33067
test-rebase: add a test showing rebasestate left behind
The test demonstrates that .hg/rebasestate is left behind if "rebase" was
called inside an existing transaction.
Matt Harbison <matt_harbison@yahoo.com> [Sun, 25 Jun 2017 17:46:35 -0400] rev 33066
identify: rename 'changed' keyword -> 'dirty'
I meant to do this before sending the initial templater support, but forgot.
I'm quite surprised that 'dirty' doesn't occur in more user facing contexts, but
there are a few, like the help for blackbox. It also more obviously mirrors the
'(clean)' state printed by the summary command. I also didn't like that it was
just one letter off from {changes} in the {latesttags} sub-keywords, which has a
totally different meaning.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Jun 2017 02:39:21 +0900] rev 33065
dispatch: remove unused _loaded
Now, there is no user for dispatch._loaded.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 24 Jun 2017 02:39:20 +0900] rev 33064
extensions: register functions always at loading extension (issue5601)
Before this patch, functions defined in extensions are registered via
extra loaders only in _dispatch(). Therefore, loading extensions in
other code paths like below omits registration of functions.
- WSGI service
- operation across repositories (e.g. subrepo)
- test-duplicateoptions.py, using extensions.loadall() directly
To register functions always at loading new extension, this patch
moves implementation for extra loading from dispatch._dispatch() to
extensions.loadall().
AFAIK, only commands module causes cyclic dependency between
extensions module, but this patch imports all related modules just
before extra loading in loadall(), in order to centralize them.
This patch makes extensions.py depend on many other modules, even
though extensions.py itself doesn't. It should be avoided if possible,
but I don't have any better idea. Some other places like below aren't
reasonable for extra loading, IMHO.
- specific function in newly added module:
existing callers of extensions.loadall() should invoke it, too
- hg.repository() or so:
no-repo commands aren't covered by this.
BTW, this patch removes _loaded.add(name) on relocation, because
dispatch._loaded is used only for extraloaders (for similar reason,
"exts" variable is removed, too).