Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 02 Mar 2021 00:05:22 +0100] rev 46795
test-copies: add a test updating file content while merging a pure overwrite
As the current test misbehavior show, this confuse various part of the code:
- the committed file is different depending of the commit source,
- the upgrade code compute the wrong information on this changeset.
This will be fixed in upcoming patches.
Differential Revision: https://phab.mercurial-scm.org/D10087
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 10 Mar 2021 13:08:41 +0530] rev 46794
mergestate: don't pop stateextras when there are no conflicts on filemerge
Even if `filemerge.filemerge()` didn't result in conflicts, we should not remove
stateextras for a file since we now use that for more things than just merge
time information. We use stateextras to store information which is required to
be used by commit.
I tracked this down while finding why a patch of mine which adds more commit
related information does not work as expected and looses the extras in
mergestate.
Differential Revision: https://phab.mercurial-scm.org/D10148
Joerg Sonnenberger <joerg@bec.de> [Wed, 13 Jan 2021 16:14:58 +0100] rev 46793
node: introduce nodeconstants class
In preparing for moving from SHA1 hashes to a modern hash function,
place nullid and other constant magic vules in a class. Provide the
active set of constants in the repository and push it down. Provide
nullid directly in strategic places like the repository as it is
accessed very often. This changeset introduces the API change, but not
the mechanical replacement of the node.py attributes itself.
Differential Revision: https://phab.mercurial-scm.org/D9750
Joerg Sonnenberger <joerg@bec.de> [Wed, 10 Mar 2021 18:09:21 +0100] rev 46792
revlog: guarantee that p1 != null if a non-null parent exists
This change does not affect the hashing (which already did this
transformation), but can change the log output in the rare case where
this behavior was observed in repositories. The change can simplify
iteration code where regular changesets and merges are distinct
branches.
Differential Revision: https://phab.mercurial-scm.org/D10150
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Mar 2021 05:50:20 +0100] rev 46791
push: allow to specify multiple destinations
I end up needing that on a regular basis and it turn out to be very simple to
implement. See documentation and test for details.
Differential Revision: https://phab.mercurial-scm.org/D10161
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Mar 2021 15:20:45 +0100] rev 46790
push: indent the some part of the command
That code will be put in a loop in the next changeset, pre-indenting make the
next change clearer.
Differential Revision: https://phab.mercurial-scm.org/D10160