Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 09 Jun 2014 23:37:36 -0700] rev 22021
merge: refactor labels selection code
The code is simplified to prepare the future introduction of a third labels for
the merge base.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Jul 2014 23:08:17 +0200] rev 22020
push: include phase push in the unified bundle2 push
Phase push is now included in the same bundle2 push as changesets. We use
multiple pushkey parts to transmit the information. Note that phase moves are
still not part of the repository "transaction".
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Jul 2014 19:26:47 -0700] rev 22019
push: perform phases discovery before the push
This will allow including phase information in the same bundle2 as the
changesets.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Jul 2014 17:06:02 +0200] rev 22018
push: make discovery extensible
We need to gather all discovery before the unified bundle2 push. We
use the same pattern as bundle2 parts generation.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Jul 2014 19:04:50 -0700] rev 22017
push: rework the bundle2partsgenerators logic
Instead of a single list of functions, we now have a list of names and
a mapping of names to functions. This simplifies wrapping of steps
from extensions. In the same move, declaration becomes decorator-based
(syntax sugar, nom nom nom!).
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Jul 2014 17:27:22 +0200] rev 22016
push: move common heads computation into pushop
Now that both options (push succeed or fall back) live in pushop, we
can move the common heads computation there too. It is a very commonly
accessed attribute so it makes a lot of sense to have it in pushop.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Jul 2014 17:20:47 +0200] rev 22015
push: extract fallback heads computation into pushop
Similar motivation to `futureheads`, we extract the computation into pushop
to make it available early to all possibly interested parties.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Jul 2014 17:20:31 +0200] rev 22014
push: extract future heads computation into pushop
Bundle2 will allow pushing all different parts of the push in a single bundle.
This mean that the discovery for each part needs to be done before trying to
push. Currently we may have different behaviors for phases and obsolescence markers
when the push of changesets fails. For example, information may still be
exchanged for a part of the history where changesets are common but where
phases mismatch. So the preparation of the push need to determine what
information need to be pushed in both situations. And it needs a different set of
heads for this. Therefore we are moving heads computation within pushop for easy
access by all parties. We start with the simplest set of heads.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 02 Aug 2014 21:46:27 +0900] rev 22013
cmdutil: use '[committemplate]' section like as map file for style definition
Before this patch, each template definitions for 'changeset*' in
'[committemplate]' section have to be written fully from scratch,
even though many parts of them may be common.
This patch uses '[committemplate]' section like as the map file for
the style definition. All items other than 'changeset' can be referred
from others.
This can reduce total cost of template customization in
'[committemplate]' section.
When the commit template other than '[committemplate] changeset'
is chosen by 'editform', putting '[committemplate] changeset'
value into the cache of the templater causes unexpected result,
because the templater stores the specified (= chosen) template
definition into own cache as 'changeset' at construction time.
This is the reason why '[committemplate] changeset' can't be referred
from others.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 02 Aug 2014 21:46:27 +0900] rev 22012
cmdutil: look commit template definition up by specified 'editform'
Before this patch, '[committemplate] changeset' definition is shared
between all actions invoking 'commitforceeditor()'.
This prevents template definition from showing action specific
messages: for example, 'hg tag --remove' may need specific
message to call attention, but showing it may be redundant for
other actions.
This patch looks commit template definition up by specified
'editform' introduced by prior patches. 'editform' are
dot-separated list of names, and treated as hierarchical one.