Manuel Jacob <me@manueljacob.de> [Tue, 28 Jul 2020 20:07:05 +0200] rev 45199
context: re-add `overlayworkingctx._compact()` removed in 6a5dcd754842
This partially backs out 6a5dcd754842. The method was and is unused, but a call
to it is introduced in the next patch.
Differential Revision: https://phab.mercurial-scm.org/D8842
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Jul 2020 16:30:30 +0200] rev 45198
push: test for checks preventing publishing obsolete changeset
The main difference from the previous test is how the changeset was obsoleted.
In this case it is an amend so publishing the orphan would also create phase
divergence. This must not go unnoticed.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Jul 2020 16:29:15 +0200] rev 45197
push: test for checks preventing publishing obsolete changeset
This introduce a simple example, more are coming. See inline documentation
for details.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Jul 2020 16:26:29 +0200] rev 45196
push: another test for checks preventing pushing orphaness to a server
In this one, orphan was create with and amend instead of a prune.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Jul 2020 16:23:43 +0200] rev 45195
push: test the checks preventing pushing orphaness to a server
This is introduce a simple example, more are coming. See inline documentation
for details.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Jul 2020 16:57:56 +0200] rev 45194
exchange: backout changeset c26335fa4225
Changeset c26335fa4225 has good intends but introduce significant behavior
regressions for multiple important cases. In short there are many case where
push would have caught instability creation/propagation that are no longer
covered. These behavior have been covered for many years and even if some
related case are not currently caught, the covered one should not be regressed.
The next four changesets introduce tests for some of these cases. However we
could produce many more tests cases since the area is wide and they are many
possible combination. (And we should cover them when getting back to this issue)
Since 5.5 is one week away, the most reasonable approach seems to back this out
while we devise a new way to move forward that preserve the current behavior,
catch more issues and also improves the situation that c26335fa4225 target.
In addition to the behavior change, c26335fa4225 also introduced output
changes. These output changes does not requires a backout per-se, but are part of
the same changeset. However they come with a couple of issues that also requires
attention:
1) the bulk of the error message have been shoehorned into a multiple line abort
message. This seems quite different from what we usually do. The abort message
should be a compact and efficient message, with extra details being issued as
normal error output beforehand. (with --verbose/--quiet) support.
2) the current output is unbounded, so if there is many (tens, hundreds,
thousands, …) of unstable/obsolete changeset involved in the push, the output
can quickly become a scary and un-usuable wall of text. So we need some
limitation here (same as we have with the remote head list that says A, B , C
and # others).
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 24 Jul 2020 00:50:57 +0530] rev 45193
tests: glob 'mercurial.error' in test-phases.t
On python 2 with chg, `mercurial.error` is omitted while printing error. On
other cases it's there in error message.
I did tried to understand what might be the cause was unable to find one on
quick skim through the code.