Wed, 28 Mar 2018 16:31:16 +0530 state: don't have a dict like interface for cmdstate class
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 16:31:16 +0530] rev 38137
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
Wed, 21 Feb 2018 17:20:22 +0530 state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Feb 2018 17:20:22 +0530] rev 38136
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
Mon, 14 May 2018 13:05:14 +0200 revlog: suggest other parent when a parent was refused for a delta (issue5481)
Paul Morelle <paul.morelle@octobus.net> [Mon, 14 May 2018 13:05:14 +0200] rev 38135
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.
Mon, 14 May 2018 22:02:44 -0400 status: add default of --terse=u to tweakdefaults (BC)
Augie Fackler <augie@google.com> [Mon, 14 May 2018 22:02:44 -0400] rev 38134
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
Mon, 14 May 2018 22:01:27 -0400 status: add a config knob for setting default of --terse
Augie Fackler <augie@google.com> [Mon, 14 May 2018 22:01:27 -0400] rev 38133
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
Sat, 19 May 2018 16:50:30 -0400 tests: port inline extensions in test-obsolete.t to Python 3
Augie Fackler <augie@google.com> [Sat, 19 May 2018 16:50:30 -0400] rev 38132
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
Sat, 19 May 2018 16:22:15 -0400 py3: consolidate down some (case ...) entries
Augie Fackler <augie@google.com> [Sat, 19 May 2018 16:22:15 -0400] rev 38131
py3: consolidate down some (case ...) entries Differential Revision: https://phab.mercurial-scm.org/D3625
Sat, 19 May 2018 16:21:53 -0400 py3: re-sort test whitelist
Augie Fackler <augie@google.com> [Sat, 19 May 2018 16:21:53 -0400] rev 38130
py3: re-sort test whitelist Differential Revision: https://phab.mercurial-scm.org/D3624
Sat, 19 May 2018 16:02:39 -0400 tests: fix test-subrepo-paths.t on Python 3
Augie Fackler <augie@google.com> [Sat, 19 May 2018 16:02:39 -0400] rev 38129
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
Sat, 19 May 2018 15:53:31 -0400 tests: fix test-parseindex2 on Python 3
Augie Fackler <augie@google.com> [Sat, 19 May 2018 15:53:31 -0400] rev 38128
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
Sat, 19 May 2018 15:47:32 -0400 tests: use [(] instead of \( to avoid warning on py3
Augie Fackler <augie@google.com> [Sat, 19 May 2018 15:47:32 -0400] rev 38127
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
Sat, 19 May 2018 15:15:51 -0400 tests: fix test-patch.t on pickier /bin/sh implementations
Augie Fackler <augie@google.com> [Sat, 19 May 2018 15:15:51 -0400] rev 38126
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
Sat, 19 May 2018 15:14:56 -0400 patch: add debug message to show external patch tool invocation
Augie Fackler <augie@google.com> [Sat, 19 May 2018 15:14:56 -0400] rev 38125
patch: add debug message to show external patch tool invocation Differential Revision: https://phab.mercurial-scm.org/D3619
Sat, 19 May 2018 20:04:54 +0530 py3: add 13 new passing tests to whitelist
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 20:04:54 +0530] rev 38124
py3: add 13 new passing tests to whitelist Differential Revision: https://phab.mercurial-scm.org/D3615
Sat, 19 May 2018 18:59:21 +0530 py3: check for None before comparing with integers
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:59:21 +0530] rev 38123
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
Sat, 19 May 2018 18:58:35 +0530 py3: use `except error as e` instead of `except error, e`
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:58:35 +0530] rev 38122
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
Sat, 19 May 2018 18:56:00 +0530 py3: use pycompat.fsencode() to convert tempfile name to bytes
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:56:00 +0530] rev 38121
py3: use pycompat.fsencode() to convert tempfile name to bytes Differential Revision: https://phab.mercurial-scm.org/D3612
Sat, 19 May 2018 18:55:30 +0530 py3: add b'' prefixes in tests/test-parseindex.t
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:55:30 +0530] rev 38120
py3: add b'' prefixes in tests/test-parseindex.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3611
Sat, 19 May 2018 18:52:56 +0530 py3: fix .write() calls in few tests
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:52:56 +0530] rev 38119
py3: fix .write() calls in few tests This patch adds b'' prefixes to make sure we write bytes and add `and None` in the end to suppress the output by .write() calls. Differential Revision: https://phab.mercurial-scm.org/D3610
Sat, 19 May 2018 18:51:14 +0530 py3: bytestr() bytes to get bytechar while iterating on it
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:51:14 +0530] rev 38118
py3: bytestr() bytes to get bytechar while iterating on it Iterating on bytes give you ascii values instead of bytechr so we need to wrap the bytes in pycompat.bytestr() to get bytechr while iterating. Differential Revision: https://phab.mercurial-scm.org/D3609
Sat, 19 May 2018 18:49:07 +0530 py3: slice over bytes to prevent getting the ascii values
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:49:07 +0530] rev 38117
py3: slice over bytes to prevent getting the ascii values Differential Revision: https://phab.mercurial-scm.org/D3608
Sat, 19 May 2018 18:48:26 +0530 py3: use utils.stringutil.forcebytestr to convert error to bytes
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:48:26 +0530] rev 38116
py3: use utils.stringutil.forcebytestr to convert error to bytes Differential Revision: https://phab.mercurial-scm.org/D3607
Sat, 19 May 2018 18:47:20 +0530 py3: make sure we open files in bytes mode
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:47:20 +0530] rev 38115
py3: make sure we open files in bytes mode we internally deal with bytes and should read files in bytes mode. Differential Revision: https://phab.mercurial-scm.org/D3606
Sat, 19 May 2018 18:45:53 +0530 py3: add b'' prefix in test/test-fileset.t
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:45:53 +0530] rev 38114
py3: add b'' prefix in test/test-fileset.t # skip-blame because just a b'' prefix Differential Revision: https://phab.mercurial-scm.org/D3605
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -24 +24 +50 +100 +300 +1000 +3000 +10000 tip