Thu, 30 Jan 2020 14:32:11 +0700 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:11 +0700] rev 5105
test-compat: merge mercurial-4.6 into mercurial-4.5
Thu, 30 Jan 2020 14:32:10 +0700 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:10 +0700] rev 5104
test-compat: merge mercurial-4.7 into mercurial-4.6
Thu, 30 Jan 2020 14:32:09 +0700 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:09 +0700] rev 5103
test-compat: merge mercurial-4.8 into mercurial-4.7
Thu, 30 Jan 2020 14:32:08 +0700 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:08 +0700] rev 5102
test-compat: merge mercurial-4.9 into mercurial-4.8
Thu, 30 Jan 2020 14:32:06 +0700 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:06 +0700] rev 5101
test-compat: merge mercurial-5.0 into mercurial-4.9
Thu, 30 Jan 2020 14:32:05 +0700 test-compat: merge mercurial-5.1 into mercurial-5.0 mercurial-5.0
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:05 +0700] rev 5100
test-compat: merge mercurial-5.1 into mercurial-5.0
Thu, 30 Jan 2020 14:32:04 +0700 test-compat: merge mercurial-5.2 into mercurial-5.1 mercurial-5.1
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:04 +0700] rev 5099
test-compat: merge mercurial-5.2 into mercurial-5.1
Thu, 30 Jan 2020 14:32:03 +0700 test-compat: merge stable into mercurial-5.2 mercurial-5.2
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Jan 2020 14:32:03 +0700] rev 5098
test-compat: merge stable into mercurial-5.2
Mon, 27 Jan 2020 14:55:35 +0700 tests: allow an empty merge commit to have tests pass without too many changes stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 27 Jan 2020 14:55:35 +0700] rev 5097
tests: allow an empty merge commit to have tests pass without too many changes Not the greatest fix, but this allows us to have the same test case for all versions of Mercurial. Hash of 29 changes because instead of both parents only one is set in hg 5.3.
Tue, 28 Jan 2020 20:12:04 +0700 compat: add a context manager that calls _quick_access_changeid_invalidate() stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 28 Jan 2020 20:12:04 +0700] rev 5096
compat: add a context manager that calls _quick_access_changeid_invalidate()
Fri, 17 Jan 2020 20:40:24 +0700 evolve: provide branch argument to overlayworkingctx.tomemctx() stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 17 Jan 2020 20:40:24 +0700] rev 5095
evolve: provide branch argument to overlayworkingctx.tomemctx() This is related to upstream 2ecbc4ec87d8 and fixes test-evolve.t.
Thu, 23 Jan 2020 19:33:40 +0700 evolve: compatibility with copies.graftcopies() from hg 5.3 stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 19:33:40 +0700] rev 5094
evolve: compatibility with copies.graftcopies() from hg 5.3
Fri, 15 Nov 2019 08:14:06 -0800 cmdrewrite: avoid accessing scmutil.status fields by index stable
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 08:14:06 -0800] rev 5093
cmdrewrite: avoid accessing scmutil.status fields by index Support for indexed access is going away in Mercurial. Accessing the fields by name is clearer anyway.
Thu, 23 Jan 2020 17:41:00 +0700 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 17:41:00 +0700] rev 5092
test-compat: merge mercurial-4.6 into mercurial-4.5
Thu, 23 Jan 2020 17:40:59 +0700 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 17:40:59 +0700] rev 5091
test-compat: merge mercurial-4.7 into mercurial-4.6
Thu, 23 Jan 2020 17:40:57 +0700 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 17:40:57 +0700] rev 5090
test-compat: merge mercurial-4.8 into mercurial-4.7
Thu, 23 Jan 2020 17:40:56 +0700 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 17:40:56 +0700] rev 5089
test-compat: merge mercurial-4.9 into mercurial-4.8
Thu, 23 Jan 2020 17:40:54 +0700 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 17:40:54 +0700] rev 5088
test-compat: merge mercurial-5.0 into mercurial-4.9
Thu, 23 Jan 2020 17:40:52 +0700 test-compat: merge mercurial-5.1 into mercurial-5.0 mercurial-5.0
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 17:40:52 +0700] rev 5087
test-compat: merge mercurial-5.1 into mercurial-5.0
Thu, 23 Jan 2020 17:40:51 +0700 test-compat: merge mercurial-5.2 into mercurial-5.1 mercurial-5.1
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 17:40:51 +0700] rev 5086
test-compat: merge mercurial-5.2 into mercurial-5.1
Thu, 23 Jan 2020 18:22:47 +0700 test-compat: merge stable into mercurial-5.2 mercurial-5.2
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 18:22:47 +0700] rev 5085
test-compat: merge stable into mercurial-5.2
Thu, 23 Jan 2020 18:19:36 +0700 tests: use --tool flag instead of --config ui.merge stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 18:19:36 +0700] rev 5084
tests: use --tool flag instead of --config ui.merge Makes this test not fail on older hg versions.
Mon, 04 Nov 2019 00:18:55 +0530 evolve: remove a check which is already done by rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 04 Nov 2019 00:18:55 +0530] rev 5083
evolve: remove a check which is already done by rewriteutil.precheck() We have tests to check if fold is being performed on public cset. There is no changes in test files because testing that never touched the part this patch removes, and already caught in rewriteutil.precheck()
Thu, 23 Jan 2020 11:05:38 +0100 test-compat: create a compatibility branch for Mercurial 5.2 mercurial-5.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Jan 2020 11:05:38 +0100] rev 5082
test-compat: create a compatibility branch for Mercurial 5.2 Mercurial 5.3rc have been released, so the stable branch is no longer about 5.2.
Thu, 23 Jan 2020 11:01:46 +0100 contrib: make merge-test-compat.sh more topic-friendly stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 23 Jan 2020 11:01:46 +0100] rev 5081
contrib: make merge-test-compat.sh more topic-friendly
Mon, 20 Jan 2020 22:43:11 +0700 contrib: shellcheck merge-test-compat.sh stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 20 Jan 2020 22:43:11 +0700] rev 5080
contrib: shellcheck merge-test-compat.sh
Mon, 04 Nov 2019 01:30:50 +0530 evolve: add pre-check logic for content-divergence in rewriteutil.precheck()
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 04 Nov 2019 01:30:50 +0530] rev 5079
evolve: add pre-check logic for content-divergence in rewriteutil.precheck() For now, pre-check will abort if rewriting a rev create divergence (and config experimental.evolution.allowdivergence is not set to True). But this behaviour can be improved where instead of abort maybe we can confirm the user to either proceed with divergence or some other options depends on what command user is running. Changes in test file are used to overrides the pre-check for testing purpose (using experimental.evolution.allowdivergence=yes).
Wed, 01 Jan 2020 21:36:21 +0530 evolve: rename a function to make it explicit
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 01 Jan 2020 21:36:21 +0530] rev 5078
evolve: rename a function to make it explicit
Tue, 21 Jan 2020 23:48:41 +0700 obsdiscovery: compatibility when importing forcebytestr() stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 21 Jan 2020 23:48:41 +0700] rev 5077
obsdiscovery: compatibility when importing forcebytestr()
Tue, 03 Dec 2019 14:56:25 +0700 heptapod-ci: add pytype job, allow it to fail for now
Anton Shestakov <av6@dwimlabs.net> [Tue, 03 Dec 2019 14:56:25 +0700] rev 5076
heptapod-ci: add pytype job, allow it to fail for now
Sun, 08 Dec 2019 02:17:11 +0530 evolve: add a new method picksplitsuccessor() in utility.py
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 08 Dec 2019 02:17:11 +0530] rev 5075
evolve: add a new method picksplitsuccessor() in utility.py This patch adds the logic to return a single successor of a rev which was split. If split revisions are on a single topological branch then we return highest one; otherwise prompt user to choose an evolve destination.
Mon, 20 Jan 2020 22:52:05 +0700 changelog: add missing entries stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 20 Jan 2020 22:52:05 +0700] rev 5074
changelog: add missing entries
Wed, 15 Jan 2020 15:28:44 +0700 compat: also import datestr from dateutil
Anton Shestakov <av6@dwimlabs.net> [Wed, 15 Jan 2020 15:28:44 +0700] rev 5073
compat: also import datestr from dateutil
Mon, 13 Jan 2020 15:36:24 +0700 obshistory: remove unused ismetablacklisted()
Anton Shestakov <av6@dwimlabs.net> [Mon, 13 Jan 2020 15:36:24 +0700] rev 5072
obshistory: remove unused ismetablacklisted() Code that used this function was removed in 461b9a91b662. But we still need to add one item currently missing from METABLACKLIST in core: touch noise.
Mon, 13 Jan 2020 15:05:34 +0700 obshistory: remove unused successorsetallmarkers()
Anton Shestakov <av6@dwimlabs.net> [Mon, 13 Jan 2020 15:05:34 +0700] rev 5071
obshistory: remove unused successorsetallmarkers() This function was used in code that was removed in 901186e1fe05.
Mon, 13 Jan 2020 15:04:02 +0700 obshistory: remove unused _successorsetdates() and _successorsetusers()
Anton Shestakov <av6@dwimlabs.net> [Mon, 13 Jan 2020 15:04:02 +0700] rev 5070
obshistory: remove unused _successorsetdates() and _successorsetusers() They were used by preparesuccessorset() that was removed in the previous patch.
Mon, 13 Jan 2020 14:59:08 +0700 obshistory: remove unused preparesuccessorset()
Anton Shestakov <av6@dwimlabs.net> [Mon, 13 Jan 2020 14:59:08 +0700] rev 5069
obshistory: remove unused preparesuccessorset() It was used in code that was removed in 901186e1fe05.
Sat, 11 Jan 2020 20:10:06 +0700 obshistory: use effect flags from obsutil
Anton Shestakov <av6@dwimlabs.net> [Sat, 11 Jan 2020 20:10:06 +0700] rev 5068
obshistory: use effect flags from obsutil They were added there in 51aadc0d0da2::187bc224554a (hg 4.4).
Sat, 11 Jan 2020 20:06:26 +0700 obshistory: make a {flag value: description} dict for _markerseffects()
Anton Shestakov <av6@dwimlabs.net> [Sat, 11 Jan 2020 20:06:26 +0700] rev 5067
obshistory: make a {flag value: description} dict for _markerseffects()
Sat, 11 Jan 2020 19:49:45 +0700 obshistory: factor out _markerseffects()
Anton Shestakov <av6@dwimlabs.net> [Sat, 11 Jan 2020 19:49:45 +0700] rev 5066
obshistory: factor out _markerseffects()
Sat, 11 Jan 2020 19:24:21 +0700 obshistory: factor out _markerspreciseverb()
Anton Shestakov <av6@dwimlabs.net> [Sat, 11 Jan 2020 19:24:21 +0700] rev 5065
obshistory: factor out _markerspreciseverb()
Fri, 17 Jan 2020 20:40:24 +0700 evolve: provide branch argument to overlayworkingctx.tomemctx()
Anton Shestakov <av6@dwimlabs.net> [Fri, 17 Jan 2020 20:40:24 +0700] rev 5064
evolve: provide branch argument to overlayworkingctx.tomemctx() This is related to upstream 2ecbc4ec87d8 and fixes test-evolve.t.
Wed, 08 Jan 2020 18:44:18 +0700 changelog: mention all the cleanups as one item
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Jan 2020 18:44:18 +0700] rev 5063
changelog: mention all the cleanups as one item
Wed, 08 Jan 2020 15:34:34 +0700 templatekw: drop obsfatedata and related code
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 Jan 2020 15:34:34 +0700] rev 5062
templatekw: drop obsfatedata and related code AFAIU, this function exists so that people could hack together a replacement template for {obsfate} if they weren't satisfied with the default, but only on older versions. It seems that 3d0f8918351b::d0f1e3d3ef4d was the series introducing obsfate* functions that can show specific obsmarker properties, and that was included in hg 4.4. obsfatedata was already claimed to be removed in 35ffd7a4b339 and then more of its usage was removed in 9882fed37ea9. There are no users in evolve and in core hg, no tests and nothing else mentions obsfatedata.
Tue, 07 Jan 2020 16:33:37 +0700 templatekw: drop obsfateprinter() and obsfatelineprinter()
Anton Shestakov <av6@dwimlabs.net> [Tue, 07 Jan 2020 16:33:37 +0700] rev 5061
templatekw: drop obsfateprinter() and obsfatelineprinter() They were unused (probably because their versions were already pushed to hg 4.4).
Tue, 07 Jan 2020 16:30:18 +0700 compat: drop isobsnotesupported() that checks if storing notes is supported
Anton Shestakov <av6@dwimlabs.net> [Tue, 07 Jan 2020 16:30:18 +0700] rev 5060
compat: drop isobsnotesupported() that checks if storing notes is supported The check is identical to checking if core has e27f1f04c2cf (hg 4.4).
Tue, 07 Jan 2020 16:05:44 +0700 templatekw: use literal set syntax
Anton Shestakov <av6@dwimlabs.net> [Tue, 07 Jan 2020 16:05:44 +0700] rev 5059
templatekw: use literal set syntax According to https://www.mercurial-scm.org/wiki/SupportedPythonVersions, we don't support Python 2.6 since 4.3.
Sat, 04 Jan 2020 21:07:38 +0700 obshistory: remove obsfateverb/obsfateprinter patching compatibility
Anton Shestakov <av6@dwimlabs.net> [Sat, 04 Jan 2020 21:07:38 +0700] rev 5058
obshistory: remove obsfateverb/obsfateprinter patching compatibility obsutil.obsfateverb() was introduced in 3d0f8918351b (hg 4.4) and renamed in b81ad5b78a81 (hg 4.5). Considering the supported evolve versions, the first check is unnecessary (the condition is always True) obsutil.obsfateprinter() was introduced in e27f1f04c2cf (hg 4.4).
Fri, 03 Jan 2020 23:32:48 +0700 obshistory: drop unused keyword argument to _getobsfateandsuccs()
Anton Shestakov <av6@dwimlabs.net> [Fri, 03 Jan 2020 23:32:48 +0700] rev 5057
obshistory: drop unused keyword argument to _getobsfateandsuccs()
Thu, 02 Jan 2020 01:16:18 +0700 obshistory: use successorsandmarkers() from obsutil, drop local variant
Anton Shestakov <av6@dwimlabs.net> [Thu, 02 Jan 2020 01:16:18 +0700] rev 5056
obshistory: use successorsandmarkers() from obsutil, drop local variant It's been in core since 4.4 and is identical to the version removed by this patch, except it returns None if ctx is not obsolete.
Tue, 31 Dec 2019 21:41:22 +0700 compat: drop code from 35b2d201eb71 (compatibility with hg 4.3)
Anton Shestakov <av6@dwimlabs.net> [Tue, 31 Dec 2019 21:41:22 +0700] rev 5055
compat: drop code from 35b2d201eb71 (compatibility with hg 4.3)
Thu, 26 Dec 2019 22:32:44 +0700 tests: rename precursors to predecessors in test-evolve-templates.t
Anton Shestakov <av6@dwimlabs.net> [Thu, 26 Dec 2019 22:32:44 +0700] rev 5054
tests: rename precursors to predecessors in test-evolve-templates.t
Thu, 28 Nov 2019 11:41:17 +0700 evolve: correct spelling of superseded everywhere else
Anton Shestakov <av6@dwimlabs.net> [Thu, 28 Nov 2019 11:41:17 +0700] rev 5053
evolve: correct spelling of superseded everywhere else
Thu, 28 Nov 2019 11:37:56 +0700 evolve: use obsutil._getobsfate() directly
Anton Shestakov <av6@dwimlabs.net> [Thu, 28 Nov 2019 11:37:56 +0700] rev 5052
evolve: use obsutil._getobsfate() directly It's been there since 4.5 (265cd9e19d26), we can safely rely on it. It's necessary though to use the correct spelling of superseded.
Sat, 28 Dec 2019 23:20:05 +0530 evolve: remove dead code
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 28 Dec 2019 23:20:05 +0530] rev 5051
evolve: remove dead code
Sat, 07 Dec 2019 23:13:40 +0530 evolve: use utility._singlesuccessor() in _solveunstable()
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 07 Dec 2019 23:13:40 +0530] rev 5050
evolve: use utility._singlesuccessor() in _solveunstable()
Wed, 18 Dec 2019 16:21:37 +0100 evolve: preliminary indentation
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 18 Dec 2019 16:21:37 +0100] rev 5049
evolve: preliminary indentation The whole code will end up in a try/except clause. We pre-indent the code to clarify the next patch.
Fri, 03 Jan 2020 23:12:19 +0700 evolve: provide cache argument to obsutil.successorssets() correctly stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 03 Jan 2020 23:12:19 +0700] rev 5048
evolve: provide cache argument to obsutil.successorssets() correctly After 68f3e819d41d (4.3) the 3rd argument to that function is `closest`.
Fri, 20 Dec 2019 14:08:37 +0700 pullbundle: random.sample() chokes on a spanset, turn it into a list instead
Anton Shestakov <av6@dwimlabs.net> [Fri, 20 Dec 2019 14:08:37 +0700] rev 5047
pullbundle: random.sample() chokes on a spanset, turn it into a list instead On Python 3.
Fri, 20 Dec 2019 13:50:31 +0700 pullbundle: use % instead of .format() because % exists for bytes
Anton Shestakov <av6@dwimlabs.net> [Fri, 20 Dec 2019 13:50:31 +0700] rev 5046
pullbundle: use % instead of .format() because % exists for bytes
Thu, 19 Dec 2019 18:16:18 +0700 tests: test that debugpullbundlecacheoverlap command works
Anton Shestakov <av6@dwimlabs.net> [Thu, 19 Dec 2019 18:16:18 +0700] rev 5045
tests: test that debugpullbundlecacheoverlap command works
Thu, 19 Dec 2019 18:02:31 +0700 pullbundle: compatibility for progress in hg <= 4.6
Anton Shestakov <av6@dwimlabs.net> [Thu, 19 Dec 2019 18:02:31 +0700] rev 5044
pullbundle: compatibility for progress in hg <= 4.6
Thu, 19 Dec 2019 18:01:15 +0700 compat: add hg version to progress compatibility code
Anton Shestakov <av6@dwimlabs.net> [Thu, 19 Dec 2019 18:01:15 +0700] rev 5043
compat: add hg version to progress compatibility code
Mon, 09 Dec 2019 19:59:51 +0700 serverminitopic: ask pytype to disable import-error on a block handling hg 4.5
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Dec 2019 19:59:51 +0700] rev 5042
serverminitopic: ask pytype to disable import-error on a block handling hg 4.5
Mon, 09 Dec 2019 19:58:58 +0700 topic: ask pytype to disable import-error on a block handling hg 4.5
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Dec 2019 19:58:58 +0700] rev 5041
topic: ask pytype to disable import-error on a block handling hg 4.5
Mon, 09 Dec 2019 16:40:53 +0700 evolve: remove unused struct import
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Dec 2019 16:40:53 +0700] rev 5040
evolve: remove unused struct import
Mon, 09 Dec 2019 19:44:10 +0700 compat: ask pytype to ignore some warnings
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Dec 2019 19:44:10 +0700] rev 5039
compat: ask pytype to ignore some warnings It's expected to have a bunch of import and attribute errors in this module because it's for compatibility with different versions of hg and Python. Although it doesn't explain why a function wouldn't have __code__ attribute? So far I think it's a quirk of pytype.
Wed, 06 Nov 2019 18:15:00 +0530 evolve: extract logic of pre-checking divergence risk to its own function
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 06 Nov 2019 18:15:00 +0530] rev 5038
evolve: extract logic of pre-checking divergence risk to its own function Extracting the logic (which is used to check if rewriting an obsolete revision will create divergence) to a function. This function will be used in upcoming patches of pre-checking. This is how we check if rewriting an obsolete revision will create divergence. We need to check two cases: If there is any 1) non-obsolete successor. -> easily done by `obsutil.successorssets()` 2) precursor with non-obsolete successor. -> using `evolvecmd.divergentsets()`
Tue, 24 Dec 2019 23:31:42 +0700 heptapod-ci: skip test-evolve.t in tests-py2-pure job mercurial-4.5
Anton Shestakov <av6@dwimlabs.net> [Tue, 24 Dec 2019 23:31:42 +0700] rev 5037
heptapod-ci: skip test-evolve.t in tests-py2-pure job It seems pure mode on Mercurial 4.5 was broken in case of this test. The error was: Traceback (most recent call last): File "/tmp/hgtests.YoK65c/install/bin/hg", line 41, in <module> dispatch.run() File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 88, in run status = (dispatch(req) or 0) & 255 File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 183, in dispatch ret = _runcatch(req) File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 324, in _runcatch return _callcatch(ui, _runcatchfunc) File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 332, in _callcatch return scmutil.callcatch(ui, func) File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/scmutil.py", line 154, in callcatch return func() File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 314, in _runcatchfunc return _dispatch(req) File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 918, in _dispatch cmdpats, cmdoptions) File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 673, in runcommand ret = _runcommand(ui, options, cmd, d) File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 926, in _runcommand return cmdfunc() File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/dispatch.py", line 915, in <lambda> d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) File "/tmp/hgtests.YoK65c/install/lib/python/mercurial/util.py", line 1195, in check return func(*args, **kwargs) File "/builds/mercurial/evolve/hgext3rd/evolve/evolvecmd.py", line 1603, in evolve return _performevolve(ui, repo, **opts) File "/builds/mercurial/evolve/hgext3rd/evolve/evolvecmd.py", line 1726, in _performevolve targetcat, lastsolved) File "/builds/mercurial/evolve/hgext3rd/evolve/evolvecmd.py", line 1752, in _solveonerev lastsolved=lastsolved, stacktmplt=stacktmplt) File "/builds/mercurial/evolve/hgext3rd/evolve/evolvecmd.py", line 80, in _solveone lastsolved=lastsolved) File "/builds/mercurial/evolve/hgext3rd/evolve/evolvecmd.py", line 183, in _solveunstable keepbranch, b'orphan') File "/builds/mercurial/evolve/hgext3rd/evolve/evolvecmd.py", line 952, in relocate fullnode = unfi.changelog.index.partialmatch(sha1) AttributeError: 'InlinedIndexObject' object has no attribute 'partialmatch'
Tue, 10 Dec 2019 00:05:23 +0100 heptapod-ci: test python 4.5 with the pure version of Mercurial mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 00:05:23 +0100] rev 5036
heptapod-ci: test python 4.5 with the pure version of Mercurial the evolve extension is currently broken on 4.5-pure. So we get it in its own commit.
Thu, 26 Dec 2019 21:23:30 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Dec 2019 21:23:30 +0100] rev 5035
branching: merge with stable
Thu, 26 Dec 2019 12:22:49 +0700 pullbundle: kwarg to changegroup.makestream() is called matcher stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 26 Dec 2019 12:22:49 +0700] rev 5034
pullbundle: kwarg to changegroup.makestream() is called matcher Caught by pytype.
Sun, 01 Dec 2019 12:41:20 +0530 evolve: extract pre merging content-div csets logic to its own function
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 01 Dec 2019 12:41:20 +0530] rev 5033
evolve: extract pre merging content-div csets logic to its own function
Thu, 26 Dec 2019 20:28:21 +0100 evolve: further simplify a conditional
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Dec 2019 20:28:21 +0100] rev 5032
evolve: further simplify a conditional The case is simple enough to be handled on its own.
Thu, 26 Dec 2019 20:23:27 +0100 evolve: simplify some conditional
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Dec 2019 20:23:27 +0100] rev 5031
evolve: simplify some conditional extracted from a changeset of Sushil khanchi <sushilkhanchi97@gmail.com>
Thu, 26 Dec 2019 20:17:01 +0100 evolve: rename some variable ahead of time
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Dec 2019 20:17:01 +0100] rev 5030
evolve: rename some variable ahead of time A refactoring of the content divergence resolution in on its way. use a distinctive name for some variable early to make the change easier to read later.
Thu, 28 Nov 2019 19:01:28 +0530 evolve: add logic to cover --stop when "divergent" relocation in play
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 28 Nov 2019 19:01:28 +0530] rev 5029
evolve: add logic to cover --stop when "divergent" relocation in play Changes in test file reflect the added behaviour. The intermediate changeset has been properly cleaned up by the `hg evolve --stop` call.
Thu, 28 Nov 2019 17:58:45 +0530 evolve: test to show that --stop is not working when "divergent" relocated
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 28 Nov 2019 17:58:45 +0530] rev 5028
evolve: test to show that --stop is not working when "divergent" relocated Right now, --stop leave the intermediate changeset (relocating the divergent changeset to its new location behind). This this is an incomplete step it should be removed by `hg --stop`.
Wed, 27 Nov 2019 22:52:08 +0530 evolve: add test to show that --abort is working fine
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 27 Nov 2019 22:52:08 +0530] rev 5027
evolve: add test to show that --abort is working fine When resolving content-divergence where relocation of "divergent" changeset is also required, this test file make sure that --abort option is working fine.
Fri, 20 Dec 2019 17:39:44 +0530 evolve: fix a bug in logic to choose destination when no active topic stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 20 Dec 2019 17:39:44 +0530] rev 5026
evolve: fix a bug in logic to choose destination when no active topic
Fri, 20 Dec 2019 17:32:07 +0530 evolve: add test to demonstrate a bug when no active topic stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 20 Dec 2019 17:32:07 +0530] rev 5025
evolve: add test to demonstrate a bug when no active topic Added test shows that the logic to find the destination for `hg up` in the case when "working directory parent has a topic but wdir has no active topic" is buggy. This will be fixed in next patch.
Fri, 20 Dec 2019 17:31:57 +0530 evolve: fix a bug in logic of choosing destination for hg update stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 20 Dec 2019 17:31:57 +0530] rev 5024
evolve: fix a bug in logic of choosing destination for hg update
Fri, 20 Dec 2019 17:17:30 +0530 evolve: add test to demonstrate a bug when active topic is empty stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 20 Dec 2019 17:17:30 +0530] rev 5023
evolve: add test to demonstrate a bug when active topic is empty Added test shows that when current active topic is empty and we try to run `hg up`, it fails with an error. It's because this case is not correctly handled when we find a destination to update (when topics are in play) Next patch will fix this.
Thu, 19 Dec 2019 21:36:59 -0800 evolvecmd: fix a typo node->None
Martin von Zweigbergk <martinvonz@google.com> [Thu, 19 Dec 2019 21:36:59 -0800] rev 5022
evolvecmd: fix a typo node->None
Thu, 19 Dec 2019 21:15:31 -0800 evolvecmd: avoid a ctx->node->ctx conversion
Martin von Zweigbergk <martinvonz@google.com> [Thu, 19 Dec 2019 21:15:31 -0800] rev 5021
evolvecmd: avoid a ctx->node->ctx conversion
Thu, 19 Dec 2019 13:06:29 -0800 evolvecmd: mark relocate() private
Martin von Zweigbergk <martinvonz@google.com> [Thu, 19 Dec 2019 13:06:29 -0800] rev 5020
evolvecmd: mark relocate() private
Thu, 19 Dec 2019 22:31:13 -0800 cleanup: replace .parents()[0] by .p1()
Martin von Zweigbergk <martinvonz@google.com> [Thu, 19 Dec 2019 22:31:13 -0800] rev 5019
cleanup: replace .parents()[0] by .p1()
Wed, 27 Nov 2019 20:54:48 +0530 evolve: add more tests for --continue case when relocating "divergent"
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 27 Nov 2019 20:54:48 +0530] rev 5018
evolve: add more tests for --continue case when relocating "divergent"
Wed, 27 Nov 2019 19:50:33 +0530 evolve: use meaningful variable names for a return value
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 27 Nov 2019 19:50:33 +0530] rev 5017
evolve: use meaningful variable names for a return value
Wed, 27 Nov 2019 12:34:19 +0530 evolve: add logic to cover --continue case when relocating "divergent"
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 27 Nov 2019 12:34:19 +0530] rev 5016
evolve: add logic to cover --continue case when relocating "divergent" Changes in test file demonstrate the added behaviour.
Mon, 25 Nov 2019 21:28:52 +0530 evolve: add test for `--continue` case when relocating "divergent"
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 25 Nov 2019 21:28:52 +0530] rev 5015
evolve: add test for `--continue` case when relocating "divergent" This test shows that for now we don't handle the continue case when relocating "divergent" cset hit merge conflict while resolving content-divergence. Next patch will be adding the support for --continue case.
Mon, 25 Nov 2019 19:12:51 +0530 evolve: use more specific key name to store in evolvestate
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 25 Nov 2019 19:12:51 +0530] rev 5014
evolve: use more specific key name to store in evolvestate Now, as we also relocate divergent cset if required, so let's use more specific key to track the relocation of "divergent" and "other".
Fri, 13 Dec 2019 01:29:27 +0530 evolve: move a test where it makes more sense
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 13 Dec 2019 01:29:27 +0530] rev 5013
evolve: move a test where it makes more sense
Thu, 12 Dec 2019 17:22:18 +0530 evolve: remove the unnecessary condition to check empty successors set
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 12 Dec 2019 17:22:18 +0530] rev 5012
evolve: remove the unnecessary condition to check empty successors set I annotated the history of this "newer == [()]" condition and found that it was added in the initial stages of evolution project (more than 8 years ago) and there is no test where we get [()] as a successor set. So looks like "if not newer" is enough to check if it is empty. I also looked into obsutil.successorssets() implementation and I don't think it would give us [()] in any case.
Tue, 19 Nov 2019 14:54:13 -0800 evolve: delete redundant and incorrect code for updating dirstate
Martin von Zweigbergk <martinvonz@google.com> [Tue, 19 Nov 2019 14:54:13 -0800] rev 5011
evolve: delete redundant and incorrect code for updating dirstate In relocate() when we notice conflicts, we will try to fix up the dirstate by calling copies.duplicatecopies() and dirstatedance(). However, we had called _evolvemerge() just before that point and that has already fixed up the dirstate, so there's no need to do it again. Also, we did it incorrectly as the test case shows.
Tue, 19 Nov 2019 14:24:31 -0800 tests: demonstrate how evolve loses transitive copies when interrupted
Martin von Zweigbergk <martinvonz@google.com> [Tue, 19 Nov 2019 14:24:31 -0800] rev 5010
tests: demonstrate how evolve loses transitive copies when interrupted Let's say `b` has been renamed to `c` in commit A and then renamed to `d` in commit B. We now modify A in a way that will cause a conflict when we evolve B. `hg evolve` will now stop and let the user resolve the conflicts, but it will have lost the copy information in the working copy (should still be c->d).
Mon, 09 Dec 2019 10:36:11 -0800 evolve: use ui.configoverride() instead of ui.backupconfig()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:36:11 -0800] rev 5009
evolve: use ui.configoverride() instead of ui.backupconfig() ui.configoverride() was added in hg 4.1. util.nullcontextmanager() was added in hg 4.4.
Mon, 09 Dec 2019 10:31:34 -0800 topic: use ui.configoverride() instead of ui.backupconfig()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:31:34 -0800] rev 5008
topic: use ui.configoverride() instead of ui.backupconfig() ui.configoverride() was added in hg 4.1. util.nullcontextmanager() was added in hg 4.4.
Mon, 09 Dec 2019 10:28:58 -0800 topic: use ui.configoverride() instead of ui.backupconfig()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:28:58 -0800] rev 5007
topic: use ui.configoverride() instead of ui.backupconfig() ui.configoverride() was added in hg 4.1. util.nullcontextmanager() was added in hg 4.4.
Mon, 09 Dec 2019 10:33:48 -0800 evolve: use ui.configoverride() instead of ui.backupconfig()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:33:48 -0800] rev 5006
evolve: use ui.configoverride() instead of ui.backupconfig() ui.configoverride() was added in hg 4.1.
Mon, 09 Dec 2019 10:43:04 -0800 evolve: remove obsolete backup of allowemptycommit config
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:43:04 -0800] rev 5005
evolve: remove obsolete backup of allowemptycommit config We stopped setting the config in 88601e1cd5d8 (evolve: create new commit while resolving content-divergence, 2018-04-23), so there's no need to back it up.
Mon, 09 Dec 2019 10:44:42 -0800 evolve: remove dead initilization of "newnode" variable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:44:42 -0800] rev 5004
evolve: remove dead initilization of "newnode" variable It's been dead since f9dad99a90d5 (evolve: create a new commit instead of amending one of the divergents, 2018-06-13).
Thu, 12 Dec 2019 17:16:02 +0530 evolve: fix a typo
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 12 Dec 2019 17:16:02 +0530] rev 5003
evolve: fix a typo
Tue, 10 Dec 2019 21:03:51 +0100 changelog: mention the python 3 fix stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 21:03:51 +0100] rev 5002
changelog: mention the python 3 fix
Tue, 10 Dec 2019 21:03:23 +0100 changelog: mention the date fix for content divergence stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 21:03:23 +0100] rev 5001
changelog: mention the date fix for content divergence
Tue, 10 Dec 2019 20:47:13 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 20:47:13 +0100] rev 5000
branching: merge with stable
Tue, 10 Dec 2019 20:35:56 +0100 py3: fix several TypeError formatting bytes with an exception object stable
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 10 Dec 2019 20:35:56 +0100] rev 4999
py3: fix several TypeError formatting bytes with an exception object
Fri, 11 Oct 2019 21:32:27 +0200 evolve: preserve date when resolving content-divergence (issue6202) stable
Manuel Jacob <me@manueljacob.de> [Fri, 11 Oct 2019 21:32:27 +0200] rev 4998
evolve: preserve date when resolving content-divergence (issue6202) This patch changes the implementation to do a 3 way merge. In case of actual conflict, it take the newest date from both sides of the content-divergence.
Tue, 10 Dec 2019 19:58:51 +0100 test: add test for content divergence involving a date update stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 19:58:51 +0100] rev 4997
test: add test for content divergence involving a date update In this case, each side update the date.
Tue, 10 Dec 2019 19:55:37 +0100 test: add test for content divergence involving a date update stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 19:55:37 +0100] rev 4996
test: add test for content divergence involving a date update In this case, one side update to an earlier date.
Tue, 10 Dec 2019 19:27:55 +0100 test: add test for content divergence involving a date update stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 19:27:55 +0100] rev 4995
test: add test for content divergence involving a date update In this case, one side update to an older date.
Tue, 10 Dec 2019 19:13:06 +0100 test: highlight data handling when solving divergence stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 19:13:06 +0100] rev 4994
test: highlight data handling when solving divergence The current handling of date is lacking, we add test to highlight this.
Sat, 07 Dec 2019 03:27:50 +0530 evolve: add tests for the case when resolution parent is ambiguous stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 07 Dec 2019 03:27:50 +0530] rev 4993
evolve: add tests for the case when resolution parent is ambiguous
Fri, 06 Dec 2019 23:43:00 +0530 evolve: abort if deciding resolution parent is ambiguous stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 06 Dec 2019 23:43:00 +0530] rev 4992
evolve: abort if deciding resolution parent is ambiguous While solving content-divergence, it could be hard to decide which cset should be treated as a resolution parent if there are multiple successors of divergent cset. i.e split case. But we are planning to make some update in handling this split case: 1) consider highest one if all splitted csets are in a single topological branch 2) still need to decide if 1) doesn't apply
Sat, 23 Nov 2019 16:17:04 +0530 evolve: make sure divergence resolution doesn't undo changes (issue6203) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 23 Nov 2019 16:17:04 +0530] rev 4991
evolve: make sure divergence resolution doesn't undo changes (issue6203) Before this patch, in content-divergence resolution logic if resolution parent is not the parent of any of the two divergent changesets then it could undo some changes introduced by previous revs (while resolving stack of content-divergent changesets) as demonstrated by the test added in previous patch. To solve this, what this patch doing is: if divergent cset has obsolete parent with a successor then first resolve the "orphan" instability of divergent cset by relocating, then perform the content-divergence resolution. After this change in logic, I found that it's kind of more correct as reflected by the changes in tests/test-evolve-content-divergent-corner-cases.t where it prevented creating conflicts while merging. Changes in tests/test-evolve-content-divergent-stack.t demonstrate the fixed behaviour. Next patches will be covering the `evolve --continue` case for the relocation of "divergent" cset.
Sat, 23 Nov 2019 20:25:16 +0530 evolve: add test to demonstrate issue6203 stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 23 Nov 2019 20:25:16 +0530] rev 4990
evolve: add test to demonstrate issue6203 Current logic of content-divergence resolution contains a bug that if resolution parent is not the parent of any of the two divergent changesets, it could undo some changes. I think a good solution for this is to first relocate the divergent cset to it's obsolete parent's successor if applicable and then perform the content-divergence resolution. Next patch will fix the issue.
Mon, 09 Dec 2019 16:01:56 +0700 state: there's no _unpack in struct stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Dec 2019 16:01:56 +0700] rev 4989
state: there's no _unpack in struct Caught by pytype.
Sun, 29 Sep 2019 11:47:18 +0530 amend: abort if both --patch and --extract are used stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 29 Sep 2019 11:47:18 +0530] rev 4988
amend: abort if both --patch and --extract are used
Mon, 09 Dec 2019 23:54:50 +0100 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 09 Dec 2019 23:54:50 +0100] rev 4987
test-compat: merge mercurial-4.6 into mercurial-4.5
Fri, 06 Dec 2019 17:18:49 +0100 ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net> [Fri, 06 Dec 2019 17:18:49 +0100] rev 4986
ci: add job to build and archive the documentation
Thu, 05 Dec 2019 10:04:52 -0800 tests: update now that merge.graft() doesn't set two equal parents
Martin von Zweigbergk <martinvonz@google.com> [Thu, 05 Dec 2019 10:04:52 -0800] rev 4985
tests: update now that merge.graft() doesn't set two equal parents This is a consequence of https://phab.mercurial-scm.org/D7549. CORE-TEST-OUTPUT-UPDATE: 32d11a23c9cf
Fri, 06 Dec 2019 14:01:29 +0100 evolve: fix content-divergence resolution when p1 is null (issue6201) stable
Manuel Jacob <me@manueljacob.de> [Fri, 06 Dec 2019 14:01:29 +0100] rev 4984
evolve: fix content-divergence resolution when p1 is null (issue6201) Before this fix, in cases like in the added test, the revision number -1 of the parent was misinterpreted to mean the tipmost revision instead of the null revision, causing the content-divergence resolution to fail.
Wed, 04 Dec 2019 10:57:29 -0800 obslog: make {node} the full node and leave shortening to template
Martin von Zweigbergk <martinvonz@google.com> [Wed, 04 Dec 2019 10:57:29 -0800] rev 4983
obslog: make {node} the full node and leave shortening to template It should be up to the user to shorten the nodeid as much or as little as they like.
Wed, 04 Dec 2019 11:00:00 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Dec 2019 11:00:00 +0100] rev 4982
branching: merge with stable
Tue, 03 Dec 2019 09:43:10 -0800 compat: accept "success" argument to lock._afterlock callback stable
Martin von Zweigbergk <martinvonz@google.com> [Tue, 03 Dec 2019 09:43:10 -0800] rev 4981
compat: accept "success" argument to lock._afterlock callback The callback gets a new "success" argument since Mercurial commit 888bd39ed555 (lock: pass "success" boolean to _afterlock callbacks, 2019-11-19).
Mon, 02 Dec 2019 20:59:04 +0700 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Anton Shestakov <av6@dwimlabs.net> [Mon, 02 Dec 2019 20:59:04 +0700] rev 4980
test-compat: merge mercurial-4.7 into mercurial-4.6
Mon, 02 Dec 2019 20:56:47 +0700 test-compat: run tests with -j more than 1 mercurial-4.7
Anton Shestakov <av6@dwimlabs.net> [Mon, 02 Dec 2019 20:56:47 +0700] rev 4979
test-compat: run tests with -j more than 1 In 4.7 and below run-tests.py defaults to -j1. We want more speed, so we use the same mechanism to detect the available number of CPU threads as the newer versions of run-tests.py.
Mon, 02 Dec 2019 14:44:31 +0100 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:44:31 +0100] rev 4978
test-compat: merge mercurial-4.7 into mercurial-4.6
(0) -3000 -1000 -128 +128 tip