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.