Pulkit Goyal <7895pulkit@gmail.com> [Thu, 09 Jul 2020 17:05:41 +0530] rev 45163
mergestate: document mergestate records in an organized way
This makes clear which mergestate record is used for what and group them based
on how they are used right now.
Differential Revision: https://phab.mercurial-scm.org/D8719
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 09 Jul 2020 16:39:42 +0530] rev 45162
mergestate: remove unused unsupported related mergestate records
I tried to find users of this but was unable to find. Seems like RECORD_OVERRIDE
is doing for what they were used before.
Differential Revision: https://phab.mercurial-scm.org/D8718
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 09 Jul 2020 16:38:24 +0530] rev 45161
mergestate: add comments about couple of record types and minor reorder
I am trying to divide the records into certain groups and then have dedicated
objects for them. Taking baby steps in that direction.
Differential Revision: https://phab.mercurial-scm.org/D8717
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 09 Jul 2020 15:50:02 +0530] rev 45160
mergestate: remove unrequired RECORD_RESOLVED_OTHER record
This was introduced in last cycle however while working on refactoring
mergestate, I realized it's unncessary.
This will break users who did a merge using previous version, did this kind of
storage and before commiting updated the mercurial version.
Differential Revision: https://phab.mercurial-scm.org/D8716
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 09 Jul 2020 14:44:58 +0530] rev 45159
mergestate: rename addpath() -> addpathonflict() to prevent confusion
addpath() seems to imply that we are adding a new path/entry to the mergestate.
Differential Revision: https://phab.mercurial-scm.org/D8715
Manuel Jacob <me@manueljacob.de> [Sat, 18 Jul 2020 12:35:55 +0200] rev 45158
windows: don’t set `softspace` attribute in `winstdout`
Python 2 file objects have the `softspace` attribute
(https://docs.python.org/2/library/stdtypes.html#file.softspace), which is used
by the print statement to track its internal state. The documentation demands
from file-like objects only that the attribute is writable and initialized to
0. Method `file.write()` sets it to 0, but this is not documented.
Historically, sys.stdout was replaced by an instance of the `winstdout` class,
so it needed to behave exactly the same (the softspace fix was introduced in
705278e70457). Nowadays we don’t replace sys.stdout and don’t use the print
statement on `winstdout` instances, so we can safely drop it.
Manuel Jacob <me@manueljacob.de> [Fri, 17 Jul 2020 14:58:22 +0200] rev 45157
windows: handle file-like objects without isatty() method
Copying the function is not nice, but moving around stuff to avoid the
circular import didn’t seem to be worth the effort.
Manuel Jacob <me@manueljacob.de> [Fri, 17 Jul 2020 08:21:31 +0200] rev 45156
exchange: check actually missing revs for obsolete / unstable revs (issue6372)
The previous code was using `outgoing.ancestorsof`, which was originally called
`outgoing.missingheads` although not containing the missing heads. This
confusion was probably the reason why the buggy code was written.
The actually outgoing changesets are stored in `outgoing.missing`. By checking
all outgoing changesets, we avoid the problem and can show the list of all
obsolete or unstable changesets, which is more helpful for the user.
Manuel Jacob <me@manueljacob.de> [Fri, 17 Jul 2020 07:59:20 +0200] rev 45155
tests: test that push doesn’t complain about unstable changesets if no changes
When there’re no outgoing changes, push doesn’t complain about unstable
changesets.
There is currently a bug (see issue6372) that causes that there is an abort on
push when the outgoing changes contain another changeset even if that is not
obsolete or unstable. A test case and fix for that is sent in the next patch.
Rodrigo Damazio Bovendorp <rdamazio@google.com> [Fri, 17 Jul 2020 03:53:19 -0700] rev 45154
diff: move no-eol text constant to a common location
Differential Revision: https://phab.mercurial-scm.org/D8763