Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jun 2017 13:25:33 +0200] rev 33165
config: register the 'devel.bundle2.debug' config
Existing explicit default are dropped now that the default is centralised.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jun 2017 13:19:40 +0200] rev 33164
config: register the 'devel.all-warnings' config
Let us start registering the existing option. I'm starting with the 'devel'
section because it is full of useful things that are poorly documented. So
registering these will more than other section.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 28 Jun 2017 14:53:54 -0700] rev 33163
rebase: always pass destination as revnum to _handleskippingobsolete()
We were passing it as a revision number in one place and as a context
in another. It worked because the only use was in "repo[dest].rev()",
but it was confusing. By always passing a revision number, we can also
remove that unnecessary lookup.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 29 Jun 2017 23:04:47 -0700] rev 33162
patch: remove unused fsbackend._join()
The function lost its last caller in 2a095d3442e0 (patch: replace
functions in fsbackend to use vfs, 2014-06-05) when the callers
started relying on the opener to do the join.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 30 Jun 2017 09:07:24 -0700] rev 33161
patch: add close() to abstractbackend
patchbackend() seems to call it on an arbitrary backend, so it seems
to be part of the API. Since all subclasses do something in their
close() methods, I decided to let this one raise an exception rather
than just pass.
Boris Feld <boris.feld@octobus.net> [Mon, 26 Jun 2017 15:46:24 +0200] rev 33160
log: add an extension hook-point in changeset_printer
Extensions sometimes wants to add other information in the default log output
format (when no templating is used).
Add an empty function named '_exthook' for easing the extension life.
Extensions will be able to wrap this function and collaborate to display
additional information.
Exthook is called after displaying troubles and just before displaying the
files, extra and description.
Add a new test file to test it and not pollute other test files.
Jun Wu <quark@fb.com> [Tue, 27 Jun 2017 00:01:17 -0700] rev 33159
drawdag: support obsmarker creation in comments
This patch adds special comment handling so one can create obsmarkers in
drawdag comments like "# replace: A -> B -> C", "# prune: X, Y, Z",
"split: P -> M, N" and they are just self-explained.
Jun Wu <quark@fb.com> [Mon, 26 Jun 2017 23:31:53 -0700] rev 33158
test-drawdag: add a test for drawdag.py
The drawdag script is useful but does not have a formal test. This patch
adds it.
Phil Cohen <phillco@fb.com> [Mon, 26 Jun 2017 22:52:15 -0700] rev 33157
filemerge: convert a couple of wvfs calls in internal mergetools to contexts
One hitch is that sometimes fcd is actually an absentfilectx which does not
expose any mutator functions. In order to still use the context functions,
we look up the underlying workingfilectx to perform the write there.
One alternate way would be to put the write functions on the absentfilectx and
have them pass-through. While this makes the callsites cleaner, we would need
to decide what its getter functions would return after this point, since
returning None for `data` (and True for `isabsent()`) might no longer be
correct after a write. I discussed with Sidd about just having the getters
raise RuntimeErrors after a mutator has been called, but we actually call
isabsent() in merge.py after running the internal merge tools.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 28 Jun 2017 13:50:20 +0200] rev 33156
configitems: support callable as a default value
Yuya pointed out that using mutable value as the default could be problematic.
To work around this we now support callable object as default value. This
allows for creating new mutable objects on demand when needed.