Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 16:31:16 +0530] rev 38104
state: don't have a dict like interface for cmdstate class
This patch changes the cmdstate class to stop having a dict like interface and
delete the __nonzero__ function. After this patch, the save fuction takes a dict
to store the data and read function returns a dict of the data stored.
Differential Revision: https://phab.mercurial-scm.org/D3572
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Feb 2018 17:20:22 +0530] rev 38103
state: import the file to write state files from evolve extension
The current way of writing state files is very obscure with each state file
having it's own format to store state files. There is no centralized way to
write state files in a good format. Moreover the current state files are not
extensible, you cannot add more data to store in state files in reliable ways.
To solve the problem, I wrote my own serialization and deserialization format,
looked into existing formats like Protobuf, MessagePack, JSON but CBOR looks
very promising and is suggested by people in the community.
The current interface to store state files is to directly write data in files
when things abort. Using the class imported by this commit, we can create
objects which has a dict like interface and can store data on the object and
store it on the file when things abort.
The evolve extension is using the state file for `evolve`, `grab` commands and
using it for resolution of orphaness, phase-divergence and content-divergence.
The file is moved from changeset
e4ac2e2c2086f977afa35e23a62f849e9305a225 of the
evolve extension which is also tagged as 7.3.0.
The following changes are made to the file while moving to core:
* import util from current directory as this file in mercurial/ now
* make cmdstate class extend object
* removed mutable default value for opts in cmdstate.__init__
* some doc changes to replace out of core things with in-core ones
evolve extension can be found at https://bitbucket.org/marmoute/mutable-history
Differential Revision: https://phab.mercurial-scm.org/D2591
Paul Morelle <paul.morelle@octobus.net> [Mon, 14 May 2018 13:05:14 +0200] rev 38102
revlog: suggest other parent when a parent was refused for a delta (
issue5481)
Without aggressivemergedeltas, ensure that when we decline the closest parent
(by revision number), the other parent is examined too.
Augie Fackler <augie@google.com> [Mon, 14 May 2018 22:02:44 -0400] rev 38101
status: add default of --terse=u to tweakdefaults (BC)
This is in line with both Git and Subversion, and strikes me as a more
humane behavior.
Test output changes are expected once you read test-status.t, and I
feel like we've still got adequate coverage on things.
Differential Revision: https://phab.mercurial-scm.org/D3628
Augie Fackler <augie@google.com> [Mon, 14 May 2018 22:01:27 -0400] rev 38100
status: add a config knob for setting default of --terse
I want --terse=u basically 100% of the time, but there's not a good
way to do that before this patch.
I'm very unhappy with how the default value for --terse looks rigt
now, but it does *work*. The alternative would be to define an
"optional string" flag type using fancyopts.customopt and then use
that, leaving the default as None. Does anyone have a strong
preference for that, or a better idea?
Differential Revision: https://phab.mercurial-scm.org/D3627
Augie Fackler <augie@google.com> [Sat, 19 May 2018 16:50:30 -0400] rev 38099
tests: port inline extensions in test-obsolete.t to Python 3
Still some lingering failure in here, but it's much better.
Differential Revision: https://phab.mercurial-scm.org/D3626
Augie Fackler <augie@google.com> [Sat, 19 May 2018 16:22:15 -0400] rev 38098
py3: consolidate down some (case ...) entries
Differential Revision: https://phab.mercurial-scm.org/D3625
Augie Fackler <augie@google.com> [Sat, 19 May 2018 16:21:53 -0400] rev 38097
py3: re-sort test whitelist
Differential Revision: https://phab.mercurial-scm.org/D3624
Augie Fackler <augie@google.com> [Sat, 19 May 2018 16:02:39 -0400] rev 38096
tests: fix test-subrepo-paths.t on Python 3
The Python 3 group reference error message is a little more helpful,
so we'll allow the extra output. I tried matching this with an (re)
line, but decided it wasn't worth the effort.
Differential Revision: https://phab.mercurial-scm.org/D3623
Augie Fackler <augie@google.com> [Sat, 19 May 2018 15:53:31 -0400] rev 38095
tests: fix test-parseindex2 on Python 3
parsers.versionerrortext is a sysstr, but it's only ever used in this
test on the Python side, so I'm okay to just handle it like this.
Differential Revision: https://phab.mercurial-scm.org/D3622
Augie Fackler <augie@google.com> [Sat, 19 May 2018 15:47:32 -0400] rev 38094
tests: use [(] instead of \( to avoid warning on py3
From a recent test run of mine:
run-tests.py:1633: DeprecationWarning: invalid escape sequence '\('
This lets us encode the expectation without the badness.
Differential Revision: https://phab.mercurial-scm.org/D3621
Augie Fackler <augie@google.com> [Sat, 19 May 2018 15:15:51 -0400] rev 38093
tests: fix test-patch.t on pickier /bin/sh implementations
FreeBSD sh(1) doesn't accept -d, so we weren't testing what we
expected there. Let's just use a simple Python script instead.
Differential Revision: https://phab.mercurial-scm.org/D3620
Augie Fackler <augie@google.com> [Sat, 19 May 2018 15:14:56 -0400] rev 38092
patch: add debug message to show external patch tool invocation
Differential Revision: https://phab.mercurial-scm.org/D3619
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 20:04:54 +0530] rev 38091
py3: add 13 new passing tests to whitelist
Differential Revision: https://phab.mercurial-scm.org/D3615
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:59:21 +0530] rev 38090
py3: check for None before comparing with integers
Comparing None and integers on Python 3 is not allowed and raise error.
Differential Revision: https://phab.mercurial-scm.org/D3614
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:58:35 +0530] rev 38089
py3: use `except error as e` instead of `except error, e`
The latter throws SyntaxError on Python 3.
Differential Revision: https://phab.mercurial-scm.org/D3613