Thu, 28 Feb 2019 03:12:39 +0530 evolve: cover continue case in pubdiv when merging results in same as public
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 28 Feb 2019 03:12:39 +0530] rev 4417
evolve: cover continue case in pubdiv when merging results in same as public This patch is the part of a series which is adding support of public divergence resolution of the case when merging results in same as pubic cset. Changes made in this patch cover the --continue flag for the case: when we had conflicts in merging. Modified lines in previously added tests reflects the changed behaviour. Also added some additional tests. I guess I have covered every possbile case in test-evolve-public-content-divergent.t While reviewing, if you see any test missed please let me know. (I think there is one test missed that I will send as a follow-up)
Fri, 22 Feb 2019 01:02:51 +0530 evolve: handle a case in pubic-div when merging results in same as public
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 22 Feb 2019 01:02:51 +0530] rev 4416
evolve: handle a case in pubic-div when merging results in same as public In public divergence resolution, what we do is: 1) first apply content divergence resolution 2) then phase divergent resolution on resultant node of 1) case While doing case 1 it is possible that result of merging the two csets would have same changes as public one contains. And then processing the case 2 would create an empty commit which is not something we want to do. So this patch catch that same case when merging results in same as public cset and don't create a new node, instead to solve the divergence it just add a obsmarker from "other divergent" to "public divergent" i.e. [other, (public,)] Next patch will add the continue case handling for this same case. This patch also adds the tests for the different cases which are possible for the above mentioned case. There is test for continue case too which is broken in this patch and will be fixed in next patch.
Thu, 28 Feb 2019 02:08:58 +0530 evolve: rename npublicdiv to publicnode
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 28 Feb 2019 02:08:58 +0530] rev 4415
evolve: rename npublicdiv to publicnode In next patches it would make more sense to use publicnode instead of npublicdiv.
Thu, 28 Feb 2019 02:02:18 +0530 evolve: in pubdiv resolution make sure that transaction get closed
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 28 Feb 2019 02:02:18 +0530] rev 4414
evolve: in pubdiv resolution make sure that transaction get closed Before this patch it could be possible that transaction won't get closed if res is False in the pubic divergence resolution when continuing the hg evolve.
Mon, 25 Feb 2019 22:50:24 +0530 evolve: pin the public cset to local side in merging when solving public div
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 25 Feb 2019 22:50:24 +0530] rev 4413
evolve: pin the public cset to local side in merging when solving public div While working on public divergence, I think it would be better to pin the public cset to local side of merge for understanding and handling the future cases without any ambiguity. Changes in tests reflect the changed behaviour.
Sat, 23 Feb 2019 00:47:14 +0530 evolve: add tests of relocation case in public divergence
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 23 Feb 2019 00:47:14 +0530] rev 4412
evolve: add tests of relocation case in public divergence These tests cover the cases when "other" is behind the "public" one and we would have to relocate "other" here. It covers all the conflicting and non-conflicting cases.
Sun, 03 Mar 2019 16:29:32 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 03 Mar 2019 16:29:32 +0100] rev 4411
branching: merge with stable
Sat, 02 Mar 2019 01:43:14 +0530 split: make sure hg split preserve the phase of splitting cset (issue6048) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 02 Mar 2019 01:43:14 +0530] rev 4410
split: make sure hg split preserve the phase of splitting cset (issue6048) Before this patch, while splitting we were not taking the phase of splitting cset into account. By default new commits would have draft changes. As we know there can two possible phases i.e draft and secret in rewriting csets thing, so this adds the handling of secret phase (as default is draft) Changes in test file reflect the added behaviour.
Sat, 02 Mar 2019 01:37:04 +0530 split: add tests which demonstrate the issue6048 stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 02 Mar 2019 01:37:04 +0530] rev 4409
split: add tests which demonstrate the issue6048 Next patch will fix this issue.
Fri, 22 Feb 2019 21:01:06 +0530 evolve: fix the broken behaviour on div resolution in relocation case
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 22 Feb 2019 21:01:06 +0530] rev 4408
evolve: fix the broken behaviour on div resolution in relocation case In content divergence resolution, I see that when "relocationreq" is True which means both the cset are on different parent and relocation is required. In this case when "divergent" is the one who is behind the "other" cset in DAG, we swap them. At this point one thing we missed is to update the evolvestate['divergent']. Because of this in continue case we didn't get the right value of obsmarkers creation. In this patch I added the code to update the evolvestate when we swap them. Now as we know "divergent" and "other" can be swapped in some cases, it is better to store the intial divergent separately in evolvestate which is evolvestate['orig-divergent'] and later this value is used to update the evolvestate['replacements'] which is the track of revisions which has been resolved. Changes in tests demonstrate the fixed behaviour.
Fri, 22 Feb 2019 23:49:37 +0530 evolve: change in a test which demonstrate divergence resolution can break
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 22 Feb 2019 23:49:37 +0530] rev 4407
evolve: change in a test which demonstrate divergence resolution can break This patch just add "--any" flag to "hg evolve --content-divergent" in a test and changed output reflect that there is something which is not handled correctly. After looking into code I found that it is because of using a evolvestate value which is not updated i.e evolvestate['divergent'] Next patch will fix this problem.
Fri, 22 Feb 2019 23:57:18 +0530 tests: update the title of a test as it's not what it says
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 22 Feb 2019 23:57:18 +0530] rev 4406
tests: update the title of a test as it's not what it says I see that this test has conflict in relocation and in merging also. We do have a test for the case when only relocation leads to conflict.
Wed, 13 Feb 2019 21:56:29 +0800 obsexchange: avoid importing io/StringIO module with a different name
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 21:56:29 +0800] rev 4405
obsexchange: avoid importing io/StringIO module with a different name Since we're not interested in the whole module, let's shorten the imports and aviod the lint warnings. Otherwise pep8-naming complains: - import io as StringIO: N812 lowercase imported as non lowercase - import StringIO as io: N813 camelcase imported as lowercase
Wed, 13 Feb 2019 21:56:05 +0800 evolve: remove unused StringIO import
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 21:56:05 +0800] rev 4404
evolve: remove unused StringIO import
Wed, 13 Feb 2019 21:39:10 +0800 evolve: unindent some lines caught by flake8
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 21:39:10 +0800] rev 4403
evolve: unindent some lines caught by flake8 The message was: "E117 over-indented".
Wed, 13 Feb 2019 12:46:57 +0100 branching: overwrite broken merge with a correct one
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 13 Feb 2019 12:46:57 +0100] rev 4402
branching: overwrite broken merge with a correct one Thanks goes to Anton Shestakov for spotting and fixing this.
Wed, 13 Feb 2019 19:18:17 +0800 branching: merge with stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 19:18:17 +0800] rev 4401
branching: merge with stable
Tue, 12 Feb 2019 15:03:14 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Feb 2019 15:03:14 +0100] rev 4400
branching: merge with stable
Mon, 11 Feb 2019 21:33:02 +0800 obshistory: omit keyword arguments with default values in patch.diffui() calls stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 11 Feb 2019 21:33:02 +0800] rev 4399
obshistory: omit keyword arguments with default values in patch.diffui() calls d4c9eebdd72d made that function not take "relroot" and "prefix" anymore, and instead expect "pathfn". These two chunks of code in this patch simply generate patches for obslog -p and they broke because they tried to provide default values for "prefix" and "relroot" for no apparent reason (and also for "changes"). Let's instead rely on defaults of patch.diffui().
Fri, 08 Feb 2019 17:52:49 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Feb 2019 17:52:49 +0100] rev 4398
branching: merge with stable
Fri, 08 Feb 2019 10:21:09 +0100 test: wider another time matching in prev/next lock testing stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Feb 2019 10:21:09 +0100] rev 4397
test: wider another time matching in prev/next lock testing There does not seems to be a reasons for specifically matching 4-6 seconds. Wider matching will avoid intermittent failure.
Fri, 08 Feb 2019 09:29:54 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Feb 2019 09:29:54 +0100] rev 4396
branching: merge with stable
Fri, 08 Feb 2019 09:26:48 +0100 test: wider time matching in prev/next lock testing stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Feb 2019 09:26:48 +0100] rev 4395
test: wider time matching in prev/next lock testing There does not seems to be a reasons for specifically matching 4-6 seconds. Wider matching will avoid intermittent failure.
Wed, 21 Nov 2018 12:00:46 +0000 topic: make topics compatible with branchmap refactor
Martijn Pieters <mj@octobus.net> [Wed, 21 Nov 2018 12:00:46 +0000] rev 4394
topic: make topics compatible with branchmap refactor See https://phab.mercurial-scm.org/D5290
Wed, 30 Jan 2019 10:03:00 -0800 prompts: use 1-indexing in revselectionprompt()
Martin von Zweigbergk <martinvonz@google.com> [Wed, 30 Jan 2019 10:03:00 -0800] rev 4393
prompts: use 1-indexing in revselectionprompt() The consumer is generally a human, not a computer. I've made the mistake of entering "1" instead of "0" a few times myself.
Thu, 07 Feb 2019 16:24:59 +0800 test-split: split now ignores diff.* settings
Anton Shestakov <av6@dwimlabs.net> [Thu, 07 Feb 2019 16:24:59 +0800] rev 4392
test-split: split now ignores diff.* settings From 66399f2e92aa: "It is assumed by the author that the `[diff]` section is primarily for *viewing* diffs, and that it is unlikely what people intend when attempting to commit or revert."
Sun, 03 Feb 2019 17:03:02 +0530 pick: add --tool for hg pick to specify mergetool
Sangeet Kumar Mishra <mail2sangeetmishra@gmail.com> [Sun, 03 Feb 2019 17:03:02 +0530] rev 4391
pick: add --tool for hg pick to specify mergetool This patch used configuration override to enable you to pass a mergetool via the --tool flag in case there is any merge conflict.
Wed, 06 Feb 2019 13:49:29 +0800 revset: use getintrange() to parse relation subscript
Anton Shestakov <av6@dwimlabs.net> [Wed, 06 Feb 2019 13:49:29 +0800] rev 4390
revset: use getintrange() to parse relation subscript After 13f7a6a4f0db parsing the tokens into usable values needs to happen inside subscript relation functions.
(0) -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 tip