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
Mon, 02 Dec 2019 14:44:00 +0100 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:44:00 +0100] rev 4977
test-compat: merge mercurial-4.8 into mercurial-4.7
Mon, 02 Dec 2019 14:43:25 +0100 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:43:25 +0100] rev 4976
test-compat: merge mercurial-4.9 into mercurial-4.8
Mon, 02 Dec 2019 14:42:32 +0100 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:42:32 +0100] rev 4975
test-compat: merge mercurial-5.0 into mercurial-4.9
Mon, 02 Dec 2019 14:41:09 +0100 test-compat: don't run the py3 test on the older branches mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:41:09 +0100] rev 4974
test-compat: don't run the py3 test on the older branches
Fri, 22 Nov 2019 17:13:46 +0700 docs: add missing Figure 10 to sharing.rst stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 22 Nov 2019 17:13:46 +0700] rev 4973
docs: add missing Figure 10 to sharing.rst The .svg file itself has been already added earlier.
Thu, 28 Nov 2019 10:54:04 +0100 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:54:04 +0100] rev 4972
test-compat: merge mercurial-4.7 into mercurial-4.6
Thu, 28 Nov 2019 10:53:25 +0100 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:53:25 +0100] rev 4971
test-compat: merge mercurial-4.8 into mercurial-4.7
Thu, 28 Nov 2019 10:52:04 +0100 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:52:04 +0100] rev 4970
test-compat: merge mercurial-4.9 into mercurial-4.8
Thu, 28 Nov 2019 10:50:55 +0100 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:50:55 +0100] rev 4969
test-compat: merge mercurial-5.0 into mercurial-4.9
Thu, 28 Nov 2019 10:49:29 +0100 test-compat: merge mercurial-5.1 into mercurial-5.0 mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:49:29 +0100] rev 4968
test-compat: merge mercurial-5.1 into mercurial-5.0
Thu, 28 Nov 2019 10:48:44 +0100 test-compat: merge stable into mercurial-5.1 mercurial-5.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:48:44 +0100] rev 4967
test-compat: merge stable into mercurial-5.1
Thu, 21 Nov 2019 14:18:35 +0700 heptapod-ci: add a script to map evolve branch to mercurial revision for tests stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 21 Nov 2019 14:18:35 +0700] rev 4966
heptapod-ci: add a script to map evolve branch to mercurial revision for tests map-hg-rev.sh can be tested using this command: ```sh for i in $(hg log -T '{branch}\n' | sort -u); do echo $i $(testlib/map-hg-rev.sh $i) done ```
Mon, 18 Nov 2019 14:33:59 +0700 pytype: ignore abc.ABCMeta metaclasses that don't work on py3
Anton Shestakov <av6@dwimlabs.net> [Mon, 18 Nov 2019 14:33:59 +0700] rev 4965
pytype: ignore abc.ABCMeta metaclasses that don't work on py3 See 70d42e2ad9b4 in hg: We can remove this when we're Python 3-only, but for now it's just too awkward to deal with and it's harmless.
Fri, 15 Nov 2019 16:04:35 -0800 tests: remove extra whitespace before patch in obslog output
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 16:04:35 -0800] rev 4964
tests: remove extra whitespace before patch in obslog output The indent() template function was fixed in https://phab.mercurial-scm.org/D7432 so now we have less trailing whitespace in obslog output. CORE-TEST-OUTPUT-UPDATE: fa246ada356b
Mon, 18 Nov 2019 13:04:56 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Nov 2019 13:04:56 +0100] rev 4963
branching: merge with stable
Mon, 18 Nov 2019 13:01:38 +0100 changelog: add a couple of missing entry about the next feature release
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Nov 2019 13:01:38 +0100] rev 4962
changelog: add a couple of missing entry about the next feature release
Mon, 18 Nov 2019 12:58:02 +0100 changelog: fix entry in the wrong location
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Nov 2019 12:58:02 +0100] rev 4961
changelog: fix entry in the wrong location That change was made on default, not stable.
Mon, 18 Nov 2019 12:55:44 +0100 changelog: add a wheelbarrow of missing entries stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Nov 2019 12:55:44 +0100] rev 4960
changelog: add a wheelbarrow of missing entries
Mon, 18 Nov 2019 11:46:59 +0100 heptapod-ci: simpler CI stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Nov 2019 11:46:59 +0100] rev 4959
heptapod-ci: simpler CI We have a mercurial clone available in the docker image now. This will same some time to avoid a full Mercurial clone for each run.
Sun, 17 Nov 2019 01:23:48 +0100 heptapod-ci: run the test with color stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Nov 2019 01:23:48 +0100] rev 4958
heptapod-ci: run the test with color This make the result easier to read.
Wed, 13 Nov 2019 13:47:55 +0700 compat: compatibility for cl.nodemap.get vs cl.index.get_rev stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Nov 2019 13:47:55 +0700] rev 4957
compat: compatibility for cl.nodemap.get vs cl.index.get_rev
Wed, 13 Nov 2019 13:43:46 +0700 compat: compatibility for pathuril.dirs vs util.dirs stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Nov 2019 13:43:46 +0700] rev 4956
compat: compatibility for pathuril.dirs vs util.dirs
Sat, 16 Nov 2019 01:45:40 +0100 obslog: phase divergence fix for 5c41bb482867
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Nov 2019 01:45:40 +0100] rev 4955
obslog: phase divergence fix for 5c41bb482867 I forgot to pull the latest version before publishing the topic :-(
Sat, 16 Nov 2019 01:44:31 +0100 obslog: phase divergence fix for b135591bec1a
Martin von Zweigbergk <martinvonz@google.com> [Sat, 16 Nov 2019 01:44:31 +0100] rev 4954
obslog: phase divergence fix for b135591bec1a I forgot to pull the latest version before publishing the topic :-(
Fri, 15 Nov 2019 10:25:46 -0800 obslog: make {descdiff} not be indented and leave that to the template
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 10:25:46 -0800] rev 4953
obslog: make {descdiff} not be indented and leave that to the template Same idea as the previous patch and same explanation for changes to the test case.
Fri, 15 Nov 2019 09:53:42 -0800 obslog: make {patch} not be indented and leave that to the template
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 09:53:42 -0800] rev 4952
obslog: make {patch} not be indented and leave that to the template This removes some unwanted indentation from the tests. In the first case, it's because indent() doesn't indent a blank line. In the second case, it's because we used templating with {patch} and had not requested indentation (but we still got it before this patch). Note that tests will only pass with a very recent Mercurial (one with https://phab.mercurial-scm.org/D7432 applied).
Thu, 07 Nov 2019 13:40:53 -0800 obslog: make {succnodes} be full hex nodes
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 13:40:53 -0800] rev 4951
obslog: make {succnodes} be full hex nodes It should be up to the user to shorten the nodeid as much or as little as they like.
Fri, 08 Nov 2019 07:19:18 -0800 obslog: remove now-unused code for plain styling
Martin von Zweigbergk <martinvonz@google.com> [Fri, 08 Nov 2019 07:19:18 -0800] rev 4950
obslog: remove now-unused code for plain styling We now always use a non-plain formatter for the non-local-filtering code paths, so we can remove the code for plain styling. I couldn't figure out how to replace the fm.formatlist() by something less about formatting, so I've only removed the irrelevant arguments from those calls.
Thu, 07 Nov 2019 23:17:34 -0800 obslog: redefine default output as a template, unless -f was given
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 23:17:34 -0800] rev 4949
obslog: redefine default output as a template, unless -f was given This was easier than I expected to do without affecting any test output at all. `hg obslog -f` is pretty broken with templating. For example, it inserts a single "date" field, but it provides two values for it if the dates are different. That results in a traceback when running e.g. `hg obslog -f -Tfoo` with non-local obsmarkers with different dates. We need to figure out what we want to put in the template for the filtered case. I've just left it out for now.
Thu, 07 Nov 2019 23:15:29 -0800 obslog: add newline after all markers in non-graphlog to match graphlog
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 23:15:29 -0800] rev 4948
obslog: add newline after all markers in non-graphlog to match graphlog I'd also be fine with doing the reverse if that's preferred, but I really want them to be the same so they can use the same template.
Thu, 07 Nov 2019 22:24:50 -0800 obslog: make reason for unavailable patch part of template
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 22:24:50 -0800] rev 4947
obslog: make reason for unavailable patch part of template We need the reason to be in the template in order to be able to templatize the whole output.
Thu, 07 Nov 2019 16:34:01 -0800 obslog: make content and description patches available to templater
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 16:34:01 -0800] rev 4946
obslog: make content and description patches available to templater The code was repeatedly calling fm.write() with the same field ("patch" and "descdiff"). I think that led to the value constantly getting replaced, so when it was used in a template (as {patch} or {descdiff}), it would only get the last value, which was always an empty string. This patch fixes it by writing the full patch to a temporary buffer and then assigning the whole patch to the formatter field.
Thu, 07 Nov 2019 17:22:44 -0800 obslog: rename {desc-diff} to {descdiff} since the former is invalid
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 17:22:44 -0800] rev 4945
obslog: rename {desc-diff} to {descdiff} since the former is invalid
Thu, 07 Nov 2019 17:22:16 -0800 tests: demonstrate broken {patch} and {desc-diff} template keywords
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 17:22:16 -0800] rev 4944
tests: demonstrate broken {patch} and {desc-diff} template keywords
Fri, 15 Nov 2019 11:48:17 +0700 topic: drop compat.successorssets(), it's not used
Anton Shestakov <av6@dwimlabs.net> [Fri, 15 Nov 2019 11:48:17 +0700] rev 4943
topic: drop compat.successorssets(), it's not used The only place in topics that uses successorssets function is in evolvebits.py, and it's using that function from obsutil directly.
Fri, 15 Nov 2019 11:37:34 +0700 topic: drop compat.getmarkers() and use obsutil.getmarkers() directly
Anton Shestakov <av6@dwimlabs.net> [Fri, 15 Nov 2019 11:37:34 +0700] rev 4942
topic: drop compat.getmarkers() and use obsutil.getmarkers() directly The function in question was moved from obsolete to obsutil in a14e2e7f7d1f (hg 4.3). See also 6aff4bb3970d for hgext3rd/evolve.
Fri, 15 Nov 2019 08:14:06 -0800 cmdrewrite: avoid accessing scmutil.status fields by index
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 08:14:06 -0800] rev 4941
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, 07 Nov 2019 23:10:26 -0800 obslog: avoid using a formatter after calling end() on it
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 23:10:26 -0800] rev 4940
obslog: avoid using a formatter after calling end() on it I don't know if makes a difference, but it feels wrong to use it after calling end(). We can simply use the parent formatter in this case.
Thu, 07 Nov 2019 15:00:57 -0800 obslog: use plural name "effects" for list of all effects
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 15:00:57 -0800] rev 4939
obslog: use plural name "effects" for list of all effects Same reasoning as the previous patch, but here the singular was used for the list instead. This patch also renames the variable that represents the list of effects to plural "effects" to reduce confusion.
Thu, 07 Nov 2019 13:21:20 -0800 obslog: use singular name "succnode" for each element of {succnodes}
Martin von Zweigbergk <martinvonz@google.com> [Thu, 07 Nov 2019 13:21:20 -0800] rev 4938
obslog: use singular name "succnode" for each element of {succnodes} The name that we pass for formatlist() is the name of each element. After this patch, you'll write '{succnodes % "{succnode}"}' instead of the confusing '{succnodes % "{succnodes}"}' (where the two "succnodes" refer to different things. Users can write templates that are compatible across this change by using e.g. '{succnodes % "{if(succnode, succnode, succnodes)}"}'.
Mon, 11 Nov 2019 03:40:20 +0700 docs: add SVG figures for sharing.rst stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 11 Nov 2019 03:40:20 +0700] rev 4937
docs: add SVG figures for sharing.rst Generated by graphviz loosely based on .dot files produced by dotgraph extension.
Mon, 11 Nov 2019 03:22:09 +0700 docs: add some up-to-date output from push/pull commands stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 11 Nov 2019 03:22:09 +0700] rev 4936
docs: add some up-to-date output from push/pull commands Hopefully it's going to be helpful for users to better understand how evolve works.
Mon, 11 Nov 2019 02:42:37 +0700 docs: add two more amend commits to simulate temporary amend commits stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 11 Nov 2019 02:42:37 +0700] rev 4935
docs: add two more amend commits to simulate temporary amend commits sharing.rst made reference to temporary amend commits and used them to demonstrate that hidden commits are not exchanged. Nowadays, evolve doesn't create such commits, but it still makes sense to show how they are handled during the exchange process. So let's add two more amend commits, one for each repo. This way the guide doesn't have to be updated too much, but doesn't lose this important detail of working with evolve. Unfortunately, this means that tons of hashes change, but it's better than to have figure 4 demonstrate absolutely nothing. Temporary amend commits were removed from test-sharing.t in 06844693bb21, but sharing.rst continued using them for demonstration purposes. It might've been better to replace at least some of the temporary amend commits by extra amends back then, but oh well.
Mon, 11 Nov 2019 02:33:54 +0700 docs: revision numbers are technically stable stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 11 Nov 2019 02:33:54 +0700] rev 4934
docs: revision numbers are technically stable From `hg help glossary`: "Note that the revision number may be different in each clone of a repository." But cloning the same repo multiple times yields the same result, and that shows that revision numbers are stable.
Sun, 10 Nov 2019 05:14:53 +0700 tests: remove a repeated statement stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 10 Nov 2019 05:14:53 +0700] rev 4933
tests: remove a repeated statement We looked at the review repo just 6 lines above.
Sat, 26 Oct 2019 13:33:05 +0700 docs: correct node hashes in sharing.rst based on test-sharing.t stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Oct 2019 13:33:05 +0700] rev 4932
docs: correct node hashes in sharing.rst based on test-sharing.t
Sat, 26 Oct 2019 13:30:21 +0700 tests: add shortlog of other repos to test-sharing.t stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Oct 2019 13:30:21 +0700] rev 4931
tests: add shortlog of other repos to test-sharing.t The figures require showing multiple repos, so let's show them all, even if they look trivial.
Sat, 26 Oct 2019 13:06:49 +0700 tests: use |shortest in test-sharing.t because sharing.rst uses it stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Oct 2019 13:06:49 +0700] rev 4930
tests: use |shortest in test-sharing.t because sharing.rst uses it
Wed, 13 Nov 2019 13:47:55 +0700 compat: compatibility for cl.nodemap.get vs cl.index.get_rev
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Nov 2019 13:47:55 +0700] rev 4929
compat: compatibility for cl.nodemap.get vs cl.index.get_rev
Wed, 13 Nov 2019 13:43:46 +0700 compat: compatibility for pathuril.dirs vs util.dirs
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Nov 2019 13:43:46 +0700] rev 4928
compat: compatibility for pathuril.dirs vs util.dirs
Fri, 15 Nov 2019 10:59:47 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Nov 2019 10:59:47 +0100] rev 4927
branching: merge with stable
Fri, 15 Nov 2019 10:08:36 +0100 heptapod-ci: test with python3 too stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Nov 2019 10:08:36 +0100] rev 4926
heptapod-ci: test with python3 too
Thu, 14 Nov 2019 18:44:15 +0100 heptapod-ci: add a --pure variant for the CI stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Nov 2019 18:44:15 +0100] rev 4925
heptapod-ci: add a --pure variant for the CI The end goal is to migrate all piece of the evolve CI currently en Jenkins.
Thu, 14 Nov 2019 12:03:52 +0100 heptapod-ci: let the number of CPU to be picked automatically stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Nov 2019 12:03:52 +0100] rev 4924
heptapod-ci: let the number of CPU to be picked automatically We now have a larger, bigger machine to run the tests. Let's let run-tests.py pick the number of concurrent jobs.
Thu, 14 Nov 2019 11:59:10 +0100 heptapod-ci: point to our own docker images stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Nov 2019 11:59:10 +0100] rev 4923
heptapod-ci: point to our own docker images Lets step further into the future.
Thu, 07 Nov 2019 19:46:05 +0100 readme: update contribution guide stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 07 Nov 2019 19:46:05 +0100] rev 4922
readme: update contribution guide We move to heptapod !
Thu, 07 Nov 2019 10:29:03 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 07 Nov 2019 10:29:03 +0100] rev 4921
branching: merge with stable
Sat, 26 Oct 2019 22:44:06 +0700 docs: remove --all from hg evolve, since it's been the default for some time stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Oct 2019 22:44:06 +0700] rev 4920
docs: remove --all from hg evolve, since it's been the default for some time
Sat, 26 Oct 2019 22:43:06 +0700 docs: typo in user-guide.rst stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Oct 2019 22:43:06 +0700] rev 4919
docs: typo in user-guide.rst
Mon, 04 Nov 2019 14:58:58 -0800 obslog: don't overwrite {rev} keyword from changeset context
Martin von Zweigbergk <martinvonz@google.com> [Mon, 04 Nov 2019 14:58:58 -0800] rev 4918
obslog: don't overwrite {rev} keyword from changeset context Now that we have the whole changeset in the formatter context, there's no need to explicitly add {rev}. We should also deprecate the {shortdescription} keyword since it's no longer needed, but I don't know how to do that.
Mon, 04 Nov 2019 14:31:08 -0800 obslog: make changeset available to templater
Martin von Zweigbergk <martinvonz@google.com> [Mon, 04 Nov 2019 14:31:08 -0800] rev 4917
obslog: make changeset available to templater obslog templating currently has very limited support for templating the precursor changeset (when available). The only available keywords are {node}, {rev}, and {shortdescription}. This patch makes the entire changeset available to the templater by passing it to formatter.context(). That function has been available since Mercurial 4.2.
Wed, 16 Oct 2019 11:10:04 -0700 tests: simplify by pruning unwanted changesets a little earlier
Martin von Zweigbergk <martinvonz@google.com> [Wed, 16 Oct 2019 11:10:04 -0700] rev 4916
tests: simplify by pruning unwanted changesets a little earlier The pruned commits are not relevant to the test case, so let's clean them up at the end of the previous test case instead of part-way through the next one.
Fri, 01 Nov 2019 17:54:09 +0700 evolve: use more often seen metavariables in command synopsis strings stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 01 Nov 2019 17:54:09 +0700] rev 4915
evolve: use more often seen metavariables in command synopsis strings Also use ellipsis when multiple options are acceptable.
Fri, 01 Nov 2019 17:52:43 +0700 topic: add more options to command synopsis string stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 01 Nov 2019 17:52:43 +0700] rev 4914
topic: add more options to command synopsis string
Fri, 11 Oct 2019 16:53:52 +0200 debian: also build with python3 stable
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 11 Oct 2019 16:53:52 +0200] rev 4913
debian: also build with python3 We build with Python 3 along with Python 2. The binary package will contain the extension for both python version. This is to ease transition until the mercurial package in Debian uses Python 3. The documentation is still built with Python 2 because it needs Mercurial (which is currently Python 2).
Fri, 18 Oct 2019 10:17:53 +0200 debian: update debhelper compat stable
Denis Laxalde <denis@laxalde.org> [Fri, 18 Oct 2019 10:17:53 +0200] rev 4912
debian: update debhelper compat Level before 9 are deprecated says debhelper 12. Upgrade to 10, which is available in Debian oldstable and old Ubuntu releases to be conservative (and since we probably don't need more).
Thu, 17 Oct 2019 20:33:02 +0200 debian: make it possible to by-pass doc build stable
Denis Laxalde <denis@laxalde.org> [Thu, 17 Oct 2019 20:33:02 +0200] rev 4911
debian: make it possible to by-pass doc build
Tue, 15 Oct 2019 11:39:58 +0200 debian: define extend-diff-ignore for dpkg-source stable
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 15 Oct 2019 11:39:58 +0200] rev 4910
debian: define extend-diff-ignore for dpkg-source This makes it possible to build the source package from a hg checkout (and a sdist) by having dpkg-source ignore files not distributed in sdist.
Fri, 11 Oct 2019 17:05:37 +0200 debian: use pybuild and dh_sphinxdoc stable
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 11 Oct 2019 17:05:37 +0200] rev 4909
debian: use pybuild and dh_sphinxdoc Use pybuild because it's kind of standard nowadays. Use sphinxdoc debhelper to have a Depends: libjs-sphinxdoc and common files (JS/CSS) symlinked.
Tue, 15 Oct 2019 11:41:22 +0200 debian: mark 9.2.1-1 as released stable
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 15 Oct 2019 11:41:22 +0200] rev 4908
debian: mark 9.2.1-1 as released
Sat, 19 Oct 2019 10:42:09 -0700 obsexchange: delete dead code for old exchange protocol
Martin von Zweigbergk <martinvonz@google.com> [Sat, 19 Oct 2019 10:42:09 -0700] rev 4907
obsexchange: delete dead code for old exchange protocol Dead since 79a926b557f1 (compat: drop support for older exchange protocol, 2017-10-25).
Wed, 23 Oct 2019 01:14:42 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Oct 2019 01:14:42 +0200] rev 4906
branching: merge with stable
Wed, 23 Oct 2019 01:11:13 +0200 branching: merge the stable branch with the mercurial-5.1 branch mercurial-5.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Oct 2019 01:11:13 +0200] rev 4905
branching: merge the stable branch with the mercurial-5.1 branch This revert all the test changes to match the expected output for mercurial 5.1.
Thu, 10 Oct 2019 08:22:41 +0700 tests: add the new "-r" bit to the usual merge hint stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 10 Oct 2019 08:22:41 +0700] rev 4904
tests: add the new "-r" bit to the usual merge hint CORE-TEST-OUTPUT-UPDATE: 8197b395710e
Wed, 23 Oct 2019 01:07:58 +0200 test-output: reinstalled test change for 5.2 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Oct 2019 01:07:58 +0200] rev 4903
test-output: reinstalled test change for 5.2 This effectively reinstall: * 8345b852cd4f * e804d5a7c193 * 62b60fc1983d * 2d85de79ead8 This mean backing out the following backout changeset: * 2eab4363fc62 * c1cc5b1f813a * 015cdd3fa469 * 3ba1c9dbf462
Wed, 23 Oct 2019 00:58:56 +0200 test-compat: opening test compatibility branch for mercurial 5.1 mercurial-5.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Oct 2019 00:58:56 +0200] rev 4902
test-compat: opening test compatibility branch for mercurial 5.1 5.2 has a release candidate.
Thu, 17 Oct 2019 21:03:19 +0200 py3: encode/decode with going through ui in rst directive stable
Denis Laxalde <denis@laxalde.org> [Thu, 17 Oct 2019 21:03:19 +0200] rev 4901
py3: encode/decode with going through ui in rst directive mercurial's ui wants bytes, doctutils wants text.
Fri, 11 Oct 2019 16:51:13 +0200 py3: fix setup.py --version stable
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 11 Oct 2019 16:51:13 +0200] rev 4900
py3: fix setup.py --version Before: $ python3 setup.py --version b'9.3.0.dev' After: $ python3 setup.py --version 9.3.0.dev
Wed, 16 Oct 2019 18:12:53 +0200 rewind: preserve date stable
Manuel Jacob <me@manueljacob.de> [Wed, 16 Oct 2019 18:12:53 +0200] rev 4899
rewind: preserve date
Wed, 09 Oct 2019 21:22:03 +0700 metaedit: don't change commit date by default (issue5994) stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 09 Oct 2019 21:22:03 +0700] rev 4898
metaedit: don't change commit date by default (issue5994) We deliberately unset devel.default-date to allow hg commands to see the real system date, that demonstrates that metaedit doesn't fall back to system date for any of these commands.
Wed, 09 Oct 2019 20:16:38 +0700 tests: simply use testlib/common.sh in test-metaedit.t stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 09 Oct 2019 20:16:38 +0700] rev 4897
tests: simply use testlib/common.sh in test-metaedit.t
Wed, 09 Oct 2019 20:12:54 +0700 tests: turn glog shell function into an alias in test-metaedit.t stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 09 Oct 2019 20:12:54 +0700] rev 4896
tests: turn glog shell function into an alias in test-metaedit.t Mostly because we already have an alias and because creating an alias is the usual way to customize log -G in tests.
Wed, 09 Oct 2019 20:07:42 +0700 tests: clean up test-metaedit.t stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 09 Oct 2019 20:07:42 +0700] rev 4895
tests: clean up test-metaedit.t Mostly just artifacts from the times when it was one big test-evolve.t. All completely unused nowadays.
Sun, 06 Oct 2019 02:30:12 -0400 help: categorizing evolve and topic commands
Rodrigo Damazio <rdamazio@google.com> [Sun, 06 Oct 2019 02:30:12 -0400] rev 4894
help: categorizing evolve and topic commands This makes them show up under the right categories in 'hg help'. Differential Revision: https://phab.mercurial-scm.org/D6999
Thu, 10 Oct 2019 08:22:41 +0700 tests: add the new "-r" bit to the usual merge hint
Anton Shestakov <av6@dwimlabs.net> [Thu, 10 Oct 2019 08:22:41 +0700] rev 4893
tests: add the new "-r" bit to the usual merge hint CORE-TEST-OUTPUT-UPDATE: 8197b395710e
Sat, 05 Oct 2019 14:31:19 -0400 branching: merge back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 14:31:19 -0400] rev 4892
branching: merge back into default
Mon, 07 Oct 2019 14:38:56 +0700 pick: don't create any successors when there were no changes (issue6093) stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 07 Oct 2019 14:38:56 +0700] rev 4891
pick: don't create any successors when there were no changes (issue6093) For example, when a changeset that user is trying to pick was already grafted or rebased (and no obsmarkers were created), pick will naturally say that there's no changes to commit and will not create the new commit. In that case it should not mark any changeset as a successor of the picked changeset, because the actual file changes were already there before picking. Technically, pick could (and did before this patch) mark the wdir commit as a successor of picked changeset (may be useful in the most trivial cases when e.g. wdir is a graft of the required change), but there are cases when the picked change is introduced in an ancestor of wdir, or even in multiple ancestors piece by piece. Pick definitely shouldn't be trying to guess something this complicated, so with this patch it always marks the picked change as pruned if it gave no changes to commit.
Sat, 05 Oct 2019 14:26:19 -0400 packaging: mark as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 14:26:19 -0400] rev 4890
packaging: mark as development version This avoid confusion.
Sat, 05 Oct 2019 14:22:21 -0400 Added tag 9.2.1 for changeset d989bab720e5 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 14:22:21 -0400] rev 4889
Added tag 9.2.1 for changeset d989bab720e5
Sat, 05 Oct 2019 13:50:13 -0400 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:50:13 -0400] rev 4888
test-compat: merge mercurial-4.6 into mercurial-4.5
Sat, 05 Oct 2019 13:50:11 -0400 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:50:11 -0400] rev 4887
test-compat: merge mercurial-4.7 into mercurial-4.6
Sat, 05 Oct 2019 13:50:09 -0400 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:50:09 -0400] rev 4886
test-compat: merge mercurial-4.8 into mercurial-4.7
Sat, 05 Oct 2019 13:50:07 -0400 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:50:07 -0400] rev 4885
test-compat: merge mercurial-4.9 into mercurial-4.8
Sat, 05 Oct 2019 13:50:05 -0400 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:50:05 -0400] rev 4884
test-compat: merge mercurial-5.0 into mercurial-4.9
Sat, 05 Oct 2019 13:50:03 -0400 test-compat: merge stable into mercurial-5.0 mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:50:03 -0400] rev 4883
test-compat: merge stable into mercurial-5.0
Sat, 05 Oct 2019 13:48:25 -0400 packaging: prepare version 9.2.1 stable 9.2.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:48:25 -0400] rev 4882
packaging: prepare version 9.2.1
Sat, 05 Oct 2019 13:46:13 -0400 packaging: update changelog stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:46:13 -0400] rev 4881
packaging: update changelog
Sat, 05 Oct 2019 13:56:37 -0400 manifest: exclude the gitlab file stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Oct 2019 13:56:37 -0400] rev 4880
manifest: exclude the gitlab file (oops)
Fri, 04 Oct 2019 14:16:52 -0400 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 04 Oct 2019 14:16:52 -0400] rev 4879
branching: merge with stable
Thu, 03 Oct 2019 23:48:50 +0100 py3: return unicode from setup.py's get_version stable
Ian Moody <moz-ian@perix.co.uk> [Thu, 03 Oct 2019 23:48:50 +0100] rev 4878
py3: return unicode from setup.py's get_version py3 expects the version number for eggs to be unicode, so despite 9.2.0 being the first evolve release with beta py3 support it isn't currently pip installable since it dies with: File "*/setuptools/command/egg_info.py", line *, in tagged_version return safe_version(version + self.vtags) TypeError: can't concat str to bytes The `setup.py install` test added in a previous commit should cover this since it died in a different but similar way before.
Thu, 03 Oct 2019 23:39:37 +0100 py3: remove smartquotes from README stable
Ian Moody <moz-ian@perix.co.uk> [Thu, 03 Oct 2019 23:39:37 +0100] rev 4877
py3: remove smartquotes from README They break running setup.py with py3 but only in tests, because in the test environment `locale.getpreferredencoding()` is ANSI_X3.4-1968, so the file is `open()`ed with that as the encoding. An alternative for fixing this would be to make the `open()` call with `encoding='utf-8'` under py3, which would be safe against any future non-ascii in README.
Thu, 03 Oct 2019 23:20:47 +0100 setup: make runnable from other dirs stable
Ian Moody <moz-ian@perix.co.uk> [Thu, 03 Oct 2019 23:20:47 +0100] rev 4876
setup: make runnable from other dirs Currently it fails when run in that way for two reasons: - the description is loaded from the README file but with a path relative to the working directory - module references have the same issue, which is fixed with package_dir.
Thu, 03 Oct 2019 23:17:13 +0100 setup: add a test for running setup.py stable
Ian Moody <moz-ian@perix.co.uk> [Thu, 03 Oct 2019 23:17:13 +0100] rev 4875
setup: add a test for running setup.py `python3 -m pip install hg-evolve==9.2.0` currently fails, despite 9.2.0 being the first beta py3 release, because of unicode issues with the version number. `setup.py install` is a proxy test for pip install since it also suffers from similar, however the test currently fails due to running setup.py from a different directory to the one it is in. Also add a test for `hg version -v` with evolve enabled since a naive first solution for the pip issue was to just change `__version__` to a `u''` string, but that busts version display in `version -v`, which isn't currently picked up by tests.
Fri, 04 Oct 2019 00:15:53 -0400 gitlab-ci: be bold and try to run the full test in them stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 04 Oct 2019 00:15:53 -0400] rev 4874
gitlab-ci: be bold and try to run the full test in them This is a basic version that should work reasonably well. The setup is a bit costly and the cleanup is not guaranteed yet.
Thu, 03 Oct 2019 22:46:21 -0400 gitlab-ci: basic test with flake8 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 03 Oct 2019 22:46:21 -0400] rev 4873
gitlab-ci: basic test with flake8 Let us step into the future.
Sat, 28 Sep 2019 13:15:02 +0200 branching: merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 28 Sep 2019 13:15:02 +0200] rev 4872
branching: merge back with stable version 9.2.0 have been released
Fri, 27 Sep 2019 12:50:19 +0200 branching: preserve test change on stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 12:50:19 +0200] rev 4871
branching: preserve test change on stable CORE-TEST-OUTPUT-UPDATE: cdf0e9523de1 CORE-TEST-OUTPUT-UPDATE: d7304434390f CORE-TEST-OUTPUT-UPDATE: 181ee2118a96 CORE-TEST-OUTPUT-UPDATE: 181ee2118a96
Sat, 28 Sep 2019 13:14:07 +0200 packing: mark as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 28 Sep 2019 13:14:07 +0200] rev 4870
packing: mark as development version This avoid confusion when installing from source.
Sat, 28 Sep 2019 13:00:20 +0200 Added tag 9.2.0 for changeset 40795751be1c stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 28 Sep 2019 13:00:20 +0200] rev 4869
Added tag 9.2.0 for changeset 40795751be1c
Fri, 27 Sep 2019 13:03:22 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:03:22 +0200] rev 4868
test-compat: merge mercurial-4.6 into mercurial-4.5
Fri, 27 Sep 2019 13:03:20 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:03:20 +0200] rev 4867
test-compat: merge mercurial-4.7 into mercurial-4.6
Fri, 27 Sep 2019 13:03:18 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:03:18 +0200] rev 4866
test-compat: merge mercurial-4.8 into mercurial-4.7
Fri, 27 Sep 2019 13:03:16 +0200 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:03:16 +0200] rev 4865
test-compat: merge mercurial-4.9 into mercurial-4.8
Fri, 27 Sep 2019 13:03:14 +0200 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:03:14 +0200] rev 4864
test-compat: merge mercurial-5.0 into mercurial-4.9
Fri, 27 Sep 2019 13:03:12 +0200 test-compat: merge stable into mercurial-5.0 mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 13:03:12 +0200] rev 4863
test-compat: merge stable into mercurial-5.0
Sat, 28 Sep 2019 12:51:03 +0200 changelog: update for coming 9.2.0 stable 9.2.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 28 Sep 2019 12:51:03 +0200] rev 4862
changelog: update for coming 9.2.0
Fri, 27 Sep 2019 12:49:36 +0200 test: backed out test change applied in 2d85de79ead8 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 12:49:36 +0200] rev 4861
test: backed out test change applied in 2d85de79ead8
Fri, 27 Sep 2019 12:49:15 +0200 test: backed out test change applied in 62b60fc1983d stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 12:49:15 +0200] rev 4860
test: backed out test change applied in 62b60fc1983d
Fri, 27 Sep 2019 12:48:44 +0200 test: backed out test change applied in e804d5a7c193 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 12:48:44 +0200] rev 4859
test: backed out test change applied in e804d5a7c193
Fri, 27 Sep 2019 12:48:28 +0200 test: backed out test change applied in 8345b852cd4f stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 12:48:28 +0200] rev 4858
test: backed out test change applied in 8345b852cd4f
Fri, 27 Sep 2019 06:55:05 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Sep 2019 06:55:05 +0200] rev 4857
branching: merge with stable
Wed, 25 Sep 2019 19:43:19 +0200 stable-doc: note about not storing smaller range
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 19:43:19 +0200] rev 4856
stable-doc: note about not storing smaller range
Wed, 25 Sep 2019 19:43:02 +0200 stable-doc: small typo
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 19:43:02 +0200] rev 4855
stable-doc: small typo
Wed, 25 Sep 2019 19:31:44 +0200 stable-doc: add more advanced examples
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 19:31:44 +0200] rev 4854
stable-doc: add more advanced examples
Wed, 25 Sep 2019 18:23:37 +0200 stable-doc: add multiples example for the simple cases
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 18:23:37 +0200] rev 4853
stable-doc: add multiples example for the simple cases
Thu, 26 Sep 2019 10:00:51 +0200 test-output: oops
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Sep 2019 10:00:51 +0200] rev 4852
test-output: oops CORE-TEST-OUTPUT-UPDATE: 181ee2118a96
Wed, 25 Sep 2019 03:17:46 +0200 test: update part count in tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Sep 2019 03:17:46 +0200] rev 4851
test: update part count in tests An off by one error got fixed upstream. CORE-TEST-OUTPUT-UPDATE: 181ee2118a96
Mon, 09 Sep 2019 09:28:47 +0700 evolve: check that relocating makes sense in _solvedivergent() (issue5958) stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Sep 2019 09:28:47 +0700] rev 4850
evolve: check that relocating makes sense in _solvedivergent() (issue5958)
Wed, 24 Oct 2018 19:32:04 +0200 tests: demonstrate content divergence causing "relocate node on top of itself" stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Oct 2018 19:32:04 +0200] rev 4849
tests: demonstrate content divergence causing "relocate node on top of itself"
Mon, 16 Sep 2019 12:44:38 -0700 cmdstate: introduce a "saver" contextmanager and use it in place of save()
Kyle Lippincott <spectral@google.com> [Mon, 16 Sep 2019 12:44:38 -0700] rev 4848
cmdstate: introduce a "saver" contextmanager and use it in place of save() Previously, the state was only saved in some paths out of these functions. This can be problematic, if the user ctrl-c's (or `kill -9`'s) the process, or we exit out of `relocate` for anything besides the "expected" reason, we won't record that we were in the middle of an evolve. One of our users has discovered that this leaves hg in a weird state; the user did something like this: ``` $ hg evolve <something goes wrong with the merge tool, hits ctrl-c> <deals with the merge conflicts> $ hg evolve --continue abort: no interrupted evolve to continue $ hg evolve abort: uncommitted changes # Note: commands.status.verbose=True is set. $ hg status M foo # The repository is in an unfinished *update* state. # No unresolved merge conflicts # To continue: hg update ``` The user did an `hg update`, but it didn't actually do anything besides take it out of the unfinished update state (the files were still dirty in the working directory).
Mon, 16 Sep 2019 12:42:50 -0700 cmdstate: avoid setting a default argument to a mutable object (`{}`)
Kyle Lippincott <spectral@google.com> [Mon, 16 Sep 2019 12:42:50 -0700] rev 4847
cmdstate: avoid setting a default argument to a mutable object (`{}`) If there's ever more than one cmdstate for the lifetime of the process, this can cause surprising behavior where the later cmdstates pick up options from the earlier ones. I've not seen any evidence this is actually causing any issues, but it's subtle enough that it should probably be fixed to help save significant debugging time later.
Mon, 16 Sep 2019 12:42:11 -0700 cmdstate: switch to new-style classes
Kyle Lippincott <spectral@google.com> [Mon, 16 Sep 2019 12:42:11 -0700] rev 4846
cmdstate: switch to new-style classes This isn't a huge issue and isn't necessary on Python3, but we're still Python2 compatible and we should be consistent (and strongly prefer new-style classes); this is the only class that is not deriving from object that I could find.
Tue, 24 Sep 2019 12:42:27 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Sep 2019 12:42:27 +0200] rev 4845
branching: merge stable into default
Fri, 19 Jul 2019 16:26:48 +0200 docs: add example for the `prune` command stable
Raphaël Gomès <rgomes@octobus.net> [Fri, 19 Jul 2019 16:26:48 +0200] rev 4844
docs: add example for the `prune` command Giving at least one example helps clear up the syntax, especially since most options will follow a very similar pattern.
Thu, 19 Sep 2019 11:46:16 +0700 tests: add some more actions to test-issue-6028, describe what's being done stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 19 Sep 2019 11:46:16 +0700] rev 4843
tests: add some more actions to test-issue-6028, describe what's being done This patch does two things: it explains what's happening in the test file so it's easier to understand, and also it adds checks that make sure something like swapping merge parents is not accidentally breaking anything. The primary reason to touch this test file was that it was broken by a change in core's merge.graft() that erroneously swapped merge parents. Since only evolve uses merge.graft() for merge commits and there aren't any tests in core for it, let's test it here. Plus, this test case is pretty simple and these additional checks don't make it too complicated.
Fri, 13 Sep 2019 16:04:32 +0200 topic: fix some API to make it more robust stable
Valentin Gatien-Baron <vgatien-baron@janestreet.com> [Fri, 13 Sep 2019 16:04:32 +0200] rev 4842
topic: fix some API to make it more robust The new code can deal with changes in upstream mercurial.
Tue, 10 Sep 2019 15:43:20 +0700 rewriteutil: move allowdivergence check to foldcheck() stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 10 Sep 2019 15:43:20 +0700] rev 4841
rewriteutil: move allowdivergence check to foldcheck() foldcheck() calls precheck() first and then performs more fold-specific checks.
Thu, 12 Sep 2019 12:35:42 +0200 test: change to output around transaction timing
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 12 Sep 2019 12:35:42 +0200] rev 4840
test: change to output around transaction timing CORE-TEST-OUTPUT-UPDATE: d7304434390f
Tue, 10 Sep 2019 07:38:46 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Sep 2019 07:38:46 +0200] rev 4839
branching: merge with stable There have been multiple fix on stable.
Sun, 08 Sep 2019 21:24:45 +0200 stablerange: add some data from field testing
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 08 Sep 2019 21:24:45 +0200] rev 4838
stablerange: add some data from field testing This show that in number of stable range to track stay reasonable.
Sun, 08 Sep 2019 17:50:48 +0200 stablerange: add a debugstablerangecache command
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 08 Sep 2019 17:50:48 +0200] rev 4837
stablerange: add a debugstablerangecache command The command display get some data about stable range in a repository.
Sun, 08 Sep 2019 17:49:26 +0200 stablerange: add some documentation about the general concept
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 08 Sep 2019 17:49:26 +0200] rev 4836
stablerange: add some documentation about the general concept
Sun, 08 Sep 2019 17:47:37 +0200 stablesort: add some field data about stable sort cache
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 08 Sep 2019 17:47:37 +0200] rev 4835
stablesort: add some field data about stable sort cache
Sun, 08 Sep 2019 13:31:28 +0200 stablesort: introduce a small debugstablesortcache command
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 08 Sep 2019 13:31:28 +0200] rev 4834
stablesort: introduce a small debugstablesortcache command This give a small insight on the cache content.
Sun, 08 Sep 2019 11:56:11 +0200 stablesort: add some documentation for stablesort
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 08 Sep 2019 11:56:11 +0200] rev 4833
stablesort: add some documentation for stablesort This should help people to understand what is going on here.
Sat, 07 Sep 2019 13:03:29 +0700 fold: check allowdivergence before folding obsolete changesets (issue5817) stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 07 Sep 2019 13:03:29 +0700] rev 4832
fold: check allowdivergence before folding obsolete changesets (issue5817)
Wed, 28 Aug 2019 18:30:58 +0700 tests: demonstrate that fold doesn't care about allowdivergence config option stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 28 Aug 2019 18:30:58 +0700] rev 4831
tests: demonstrate that fold doesn't care about allowdivergence config option
Fri, 06 Sep 2019 13:23:25 +0700 stack: remove unnecessary copying of rdependencies stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Sep 2019 13:23:25 +0700] rev 4830
stack: remove unnecessary copying of rdependencies rdependencies is not modified in any way in this method, so no need to copy it.
Fri, 06 Sep 2019 12:53:46 +0700 stack: make a deep copy of `dependencies` before modifying its items stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Sep 2019 12:53:46 +0700] rev 4829
stack: make a deep copy of `dependencies` before modifying its items The algorithm later on in this method uses .remove() to remove individual elements from items in dependencies, which before this patch modified the cached property contents. So for further use that dictionary was in the form of {1: set([])}, i.e. all sets were empty. This deep copy block could be way simpler, but the problem is that sometimes we get lists of _succs() from evolvebits.builddependencies(). Note: this happens only in topic's stack version of builddependencies() and it looks like a suboptimal way to handle multiple successors (see evolve's counterpart function). stack.builddependencies method is removed, it has served its purpose (see the previous patch).
Fri, 06 Sep 2019 12:16:34 +0700 stack: demonstrate that not reusing cached property gives different results stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Sep 2019 12:16:34 +0700] rev 4828
stack: demonstrate that not reusing cached property gives different results Instead of using self._dependencies, which is a cached property, let's get fresh deps and rdeps in stack.revs method using a newly introduced stack.builddependencies method (will be removed in the next patch). This makes it easier to explain why the next patch is correct.
Tue, 03 Sep 2019 12:48:47 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 03 Sep 2019 12:48:47 +0200] rev 4827
branching: merge with stable
Tue, 03 Sep 2019 13:02:20 +0700 changelog: add missing entry for 9af212b8565a stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 03 Sep 2019 13:02:20 +0700] rev 4826
changelog: add missing entry for 9af212b8565a
Tue, 03 Sep 2019 13:02:20 +0700 evolve: test that target is not orig in _solveunstable() (issue6097) stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 03 Sep 2019 13:02:20 +0700] rev 4825
evolve: test that target is not orig in _solveunstable() (issue6097) `newer` is the result of obsutil.successorssets() and can be [[orig.node()]], in which case later on in this function evolve will try to rebase orig onto orig, which is not correct. So let's just check this particular case. This fix doesn't cover cases when successorssets() result contains orig.node() not at [0][0]. Such cases need tests.
Mon, 02 Sep 2019 11:17:23 +0700 tests: demonstrate an orphan changeset cause "relocate node on top of itself" stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 02 Sep 2019 11:17:23 +0700] rev 4824
tests: demonstrate an orphan changeset cause "relocate node on top of itself" See issue6097.
Fri, 30 Aug 2019 11:31:19 +0700 obslog: only indent the first chunk and chunks just after newlines (issue6175) stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 30 Aug 2019 11:31:19 +0700] rev 4823
obslog: only indent the first chunk and chunks just after newlines (issue6175)
Fri, 30 Aug 2019 11:28:02 +0700 tests: demonstrate too many spaces in olog -p output with word-diff stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 30 Aug 2019 11:28:02 +0700] rev 4822
tests: demonstrate too many spaces in olog -p output with word-diff
Thu, 25 Jul 2019 18:37:16 +0800 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net> [Thu, 25 Jul 2019 18:37:16 +0800] rev 4821
rewind: add --keep flag that "doesn't modify working directory" The actual logic is more complicated than the flag description, but it's sufficiently similar to other --keep flags in action. Unlike strip (or prune), rewind always needs to modify the working directory to commit new revisions that "revive" old ones [1], see _revive_revision() (and rewriteutil.rewrite()). Because of that we don't prevent rewind from modifying wdir, but instead use hg.updaterepo() to update to the old changeset after the "revival" process is complete. Then we rebuild the dirstate based on the commit that rewind would update to without --keep. Since dirstate.rebuild() doesn't restore status of some files (added, removed, also copies and renames), we rely on cmdutil.revert(). It's a fairly crude solution and needs to be removed when implementing the missing copy tracing between oldctx and newctx (which are related only by obsolescence). [1] IOW this means that --keep doesn't allow rewinding if wdir is dirty (unlike e.g. strip).
Tue, 23 Jul 2019 18:05:40 +0800 tests: separate rewinding of merge commits, temporarily drop an error case
Anton Shestakov <av6@dwimlabs.net> [Tue, 23 Jul 2019 18:05:40 +0800] rev 4820
tests: separate rewinding of merge commits, temporarily drop an error case The error case will come back in the following commit, because it organically fits there without the need of a separate working clone.
Wed, 07 Aug 2019 15:22:16 +0200 python3: add python3 beta support to the CHANGELOG
Raphaël Gomès <rgomes@octobus.net> [Wed, 07 Aug 2019 15:22:16 +0200] rev 4819
python3: add python3 beta support to the CHANGELOG
Wed, 07 Aug 2019 15:21:56 +0200 python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net> [Wed, 07 Aug 2019 15:21:56 +0200] rev 4818
python3: mention beta Python 3 support in README
Wed, 07 Aug 2019 15:21:17 +0200 python3: add supported python versions to setup.py
Raphaël Gomès <rgomes@octobus.net> [Wed, 07 Aug 2019 15:21:17 +0200] rev 4817
python3: add supported python versions to setup.py Mercurial technically can support Python 3.5 (although no lower, see its setup.py), but `evolve` probably won't because it represents more work for an underrepresented Python version. If you happen to *really* need evolve to work on Python 3 and you're reading this message, send an email to the mailing list, or contribute patches.
Fri, 09 Aug 2019 12:48:58 +0200 test: update output for wider cache warming
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Aug 2019 12:48:58 +0200] rev 4816
test: update output for wider cache warming CORE-TEST-OUTPUT-UPDATE: cdf0e9523de1
Tue, 06 Aug 2019 19:28:51 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 06 Aug 2019 19:28:51 +0200] rev 4815
branching: merge with stable format source worked smoothly :-)
Tue, 06 Aug 2019 15:06:38 +0200 python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 15:06:38 +0200] rev 4814
python3: use format-source to run byteify-strings in .py files Using the format-source extension smooth out the pain of merging after auto-formatting. This change makes all of the Evolve test suite pass under python3 and has added benefit of being 100% automated using mercurial's `byteify-strings` script version 1.0 (revision 11498aa91c036c6d70f7ac5ee5af2664a84a1130). How to benefit from the help of format-source is explained in the README.
Tue, 06 Aug 2019 19:27:54 +0200 topic: add a new random attribute stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 06 Aug 2019 19:27:54 +0200] rev 4813
topic: add a new random attribute (This is mostly an excuse to test the format-source setup)
Tue, 06 Aug 2019 15:06:27 +0200 python3: enforce byte prefix for vfs.open()
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 15:06:27 +0200] rev 4812
python3: enforce byte prefix for vfs.open() Changeset ea8da5aa23c6e723d7f0006387a1a20eef58fc9a added raw prefix to open(), but also to vfs.open(). The latter only handles bytestring arguments.
Tue, 06 Aug 2019 11:35:09 +0200 python3: add raw prefix to sqlite isolation level
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:35:09 +0200] rev 4811
python3: add raw prefix to sqlite isolation level
Tue, 06 Aug 2019 11:34:31 +0200 python3: add ignore block around python 2 compatibility if branch
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:34:31 +0200] rev 4810
python3: add ignore block around python 2 compatibility if branch
Tue, 06 Aug 2019 16:23:57 +0200 flake8: silence F633 error stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 16:23:57 +0200] rev 4809
flake8: silence F633 error
Tue, 06 Aug 2019 11:33:53 +0200 python3: add raw prefix to edge-cases kwargs-like objects
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:33:53 +0200] rev 4808
python3: add raw prefix to edge-cases kwargs-like objects
Tue, 06 Aug 2019 11:32:01 +0200 python3: add raw prefix to open()-like functions
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:32:01 +0200] rev 4807
python3: add raw prefix to open()-like functions
Tue, 06 Aug 2019 11:30:45 +0200 python3: add raw prefix to all array.array() calls
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:30:45 +0200] rev 4806
python3: add raw prefix to all array.array() calls
Tue, 06 Aug 2019 11:29:35 +0200 python3: add raw prefix to "troubles"-related dicts
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:29:35 +0200] rev 4805
python3: add raw prefix to "troubles"-related dicts The `byteify-strings.py` script cannot know that these will be used in a way that requires to use a system string without some pretty hardcore hardcoding.
Tue, 06 Aug 2019 11:26:29 +0200 python3: add raw prefix in cases harder to analyze at the token level
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:26:29 +0200] rev 4804
python3: add raw prefix in cases harder to analyze at the token level The `byteify-strings.py` script would be a lot more complicated if it had to do backtracking and other more advanced static analysis to figure our those cases, so we have to add the raw prefix to those cases manually.
Tue, 06 Aug 2019 11:17:38 +0200 python3: add byte prefix for objects that look like kwargs but aren't
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:17:38 +0200] rev 4803
python3: add byte prefix for objects that look like kwargs but aren't The `byteify-strings.py` script has no way of knowing that those aren't acutally kwargs since it works purely at the tokenization level, so we have to add the byte prefix to their keys manually.
Tue, 06 Aug 2019 11:10:36 +0200 python3: mark all SQL queries as raw strings
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:10:36 +0200] rev 4802
python3: mark all SQL queries as raw strings
Tue, 06 Aug 2019 11:07:16 +0200 python3: prefix all regex to work with python 2 and 3
Raphaël Gomès <rgomes@octobus.net> [Tue, 06 Aug 2019 11:07:16 +0200] rev 4801
python3: prefix all regex to work with python 2 and 3
Tue, 06 Aug 2019 00:16:05 +0200 pick: added support for hg abort
Taapas Agrawal <taapas2897@gmail.com> [Tue, 06 Aug 2019 00:16:05 +0200] rev 4800
pick: added support for hg abort This patch isolates abort logic for `hg pick --abort` as `abortpick()`. For independent calls via `hg abort` `hgabortpick()` is created and registered to the state detection API. Results are shown as tests.
Tue, 06 Aug 2019 00:16:01 +0200 pick: factor our the abort function
Taapas Agrawal <taapas2897@gmail.com> [Tue, 06 Aug 2019 00:16:01 +0200] rev 4799
pick: factor our the abort function This prepare the upcoming support for `hg pick` in `hg abort.
Thu, 11 Jul 2019 22:56:46 +0530 abort: added support for evolve to hg abort
Taapas Agrawal <taapas2897@gmail.com> [Thu, 11 Jul 2019 22:56:46 +0530] rev 4798
abort: added support for evolve to hg abort This patch adds support of `hg evolve --abort` to `hg abort` plan. This involves creating a `hgabortevolve()` function under `evolvecmd` which ensures abortion of evolve via `hg abort`. This function is then registered using `addunfinished()` in `__init__.py`. Results are shown as tests.
Fri, 12 Jul 2019 23:43:25 +0530 evolve: fixed lock acquire before checking state
Taapas Agrawal <taapas2897@gmail.com> [Fri, 12 Jul 2019 23:43:25 +0530] rev 4797
evolve: fixed lock acquire before checking state Before checking the states `repo.lock()` and `repo.wlock()` need to be acquired. This was not happening in `evolve()` earlier. This patch creates a seperate `_performevolve()` funtion which can be then called with locks acquired. This also removes the redundant lock acuquiring of `abortevolve` and `continueevolve` as lock is now taken earlier.
Wed, 31 Jul 2019 10:52:14 -0700 py3: add back a progress(0) call lost in 8664231b47ac
Martin von Zweigbergk <martinvonz@google.com> [Wed, 31 Jul 2019 10:52:14 -0700] rev 4796
py3: add back a progress(0) call lost in 8664231b47ac I don't think it really matters, but it wasn't intentional, so let's just restore the old behavior.
Fri, 02 Aug 2019 13:00:11 -0700 prune: adjust 'nothing to prune' to imply user needs to specify revs to prune
Kyle Lippincott <spectral@google.com> [Fri, 02 Aug 2019 13:00:11 -0700] rev 4795
prune: adjust 'nothing to prune' to imply user needs to specify revs to prune
Sat, 20 Jul 2019 17:33:00 +0800 rewind: working directory is the preferred term
Anton Shestakov <av6@dwimlabs.net> [Sat, 20 Jul 2019 17:33:00 +0800] rev 4794
rewind: working directory is the preferred term
Sat, 20 Jul 2019 16:51:44 +0800 rewind: add command synopsis
Anton Shestakov <av6@dwimlabs.net> [Sat, 20 Jul 2019 16:51:44 +0800] rev 4793
rewind: add command synopsis
Fri, 28 Jun 2019 21:07:20 +0000 py3: make setup.py py3 compatible
Ludovic Chabant <ludovic@chabant.com> [Fri, 28 Jun 2019 21:07:20 +0000] rev 4792
py3: make setup.py py3 compatible
Tue, 30 Jul 2019 02:55:22 +0200 branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 Jul 2019 02:55:22 +0200] rev 4791
branching: merge stable back into default The version has been released.
Tue, 30 Jul 2019 02:55:01 +0200 packaging: mark as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 Jul 2019 02:55:01 +0200] rev 4790
packaging: mark as development version This help to avoid confusion when installing version from source.
Tue, 30 Jul 2019 02:50:14 +0200 Added tag 9.1.0 for changeset 6f37fdad7ac1 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 Jul 2019 02:50:14 +0200] rev 4789
Added tag 9.1.0 for changeset 6f37fdad7ac1
Mon, 29 Jul 2019 16:47:17 +0200 packaging: update version number for 9.1.0 release stable 9.1.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 16:47:17 +0200] rev 4788
packaging: update version number for 9.1.0 release We are about to cut a release.
Tue, 30 Jul 2019 02:44:08 +0200 changelog: add missing entry for dfd88e3fa90a stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 30 Jul 2019 02:44:08 +0200] rev 4787
changelog: add missing entry for dfd88e3fa90a
Mon, 29 Jul 2019 16:41:19 +0200 packaging: groom changelog prior to release stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 16:41:19 +0200] rev 4786
packaging: groom changelog prior to release
Mon, 29 Jul 2019 14:43:20 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:43:20 +0200] rev 4785
test-compat: merge mercurial-4.6 into mercurial-4.5
Mon, 29 Jul 2019 14:43:17 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:43:17 +0200] rev 4784
test-compat: merge mercurial-4.7 into mercurial-4.6
Mon, 29 Jul 2019 14:43:15 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:43:15 +0200] rev 4783
test-compat: merge mercurial-4.8 into mercurial-4.7
Mon, 29 Jul 2019 14:43:12 +0200 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:43:12 +0200] rev 4782
test-compat: merge mercurial-4.9 into mercurial-4.8
Mon, 29 Jul 2019 14:43:10 +0200 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:43:10 +0200] rev 4781
test-compat: merge mercurial-5.0 into mercurial-4.9
Mon, 29 Jul 2019 14:42:57 +0200 test-compat: merge stable into mercurial-5.0 mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:42:57 +0200] rev 4780
test-compat: merge stable into mercurial-5.0
Mon, 29 Jul 2019 14:42:49 +0200 branching: merge the two mercurial-5.0 heads mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:42:49 +0200] rev 4779
branching: merge the two mercurial-5.0 heads
Mon, 29 Jul 2019 13:19:54 +0200 test-compat: reverte output change from 4764e8436b2a (hg-5.1) mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 13:19:54 +0200] rev 4778
test-compat: reverte output change from 4764e8436b2a (hg-5.1) These change where applied in evolve's changeset 88c8ef4d703c.
Mon, 29 Jul 2019 13:19:48 +0200 test-compat: reverte output change from f802a75da585 (hg-5.1) mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 13:19:48 +0200] rev 4777
test-compat: reverte output change from f802a75da585 (hg-5.1) These change where applied in evolve's changeset e2c548cc83b5.
Mon, 29 Jul 2019 13:17:56 +0200 test-compat: reverte output change from c7d236b55a3e (hg-5.1) mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 13:17:56 +0200] rev 4776
test-compat: reverte output change from c7d236b55a3e (hg-5.1) These change where applied in evolve's changeset f162cafc5000.
Mon, 29 Jul 2019 14:38:31 +0200 branching: merge default into stable to prepare 9.1.0 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 14:38:31 +0200] rev 4775
branching: merge default into stable to prepare 9.1.0 Time for a new version!
Mon, 29 Jul 2019 13:54:57 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 13:54:57 +0200] rev 4774
branching: merge stable into default
Mon, 29 Jul 2019 11:40:24 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 11:40:24 +0200] rev 4773
test-compat: merge mercurial-4.6 into mercurial-4.5
Mon, 29 Jul 2019 11:40:22 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 11:40:22 +0200] rev 4772
test-compat: merge mercurial-4.7 into mercurial-4.6
Mon, 29 Jul 2019 11:40:20 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 11:40:20 +0200] rev 4771
test-compat: merge mercurial-4.8 into mercurial-4.7
Mon, 29 Jul 2019 11:40:18 +0200 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 11:40:18 +0200] rev 4770
test-compat: merge mercurial-4.9 into mercurial-4.8
Mon, 29 Jul 2019 11:40:16 +0200 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 11:40:16 +0200] rev 4769
test-compat: merge mercurial-5.0 into mercurial-4.9
Mon, 29 Jul 2019 11:40:14 +0200 test-compat: merge stable into mercurial-5.0 mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 11:40:14 +0200] rev 4768
test-compat: merge stable into mercurial-5.0
Thu, 25 Jul 2019 18:29:59 +0200 test-compat: opening test compatibility branch for mercurial 5.0 mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Jul 2019 18:29:59 +0200] rev 4767
test-compat: opening test compatibility branch for mercurial 5.0 5.1 has a release candidate.
Mon, 29 Jul 2019 12:45:29 +0200 test-compat: close branch for mercurial-4.0 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 29 Jul 2019 12:45:29 +0200] rev 4766
test-compat: close branch for mercurial-4.0 We dropped compatibility in 9.0.0
Thu, 25 Jul 2019 09:59:41 -0700 prune: fix small grammatical issues in help text stable
Kyle Lippincott <spectral@google.com> [Thu, 25 Jul 2019 09:59:41 -0700] rev 4765
prune: fix small grammatical issues in help text
Fri, 19 Jul 2019 17:40:45 +0800 docs: update evolve-faq.rst with new prune flag and proper vocabulary stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 19 Jul 2019 17:40:45 +0800] rev 4764
docs: update evolve-faq.rst with new prune flag and proper vocabulary Also strip trailing newlines.
Fri, 19 Jul 2019 17:25:29 +0800 prune: spell --successor flag without any unnecessary shortcuts stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 19 Jul 2019 17:25:29 +0800] rev 4763
prune: spell --successor flag without any unnecessary shortcuts If a user wants to spell out -s, it makes sense to allow that. Before this patch, prune would complain that --successor is not a recognized option. Obviously people don't usually need to spell --successors by hand thanks to shell completion (at least for Bash) using debugcomplete to see all available flags, so this patch doesn't bring any need for more typing. And thanks to Mercurial understanding shortened forms of command-line flags as long as they are unambiguous, the old-style `--succ` flags still work normally, and there are tests that use them. But two tests now use the full form to demonstrate that both ways work.
Wed, 17 Jul 2019 12:47:37 -0700 py3: redefine "troublecategories" in evolve as a dict
Martin von Zweigbergk <martinvonz@google.com> [Wed, 17 Jul 2019 12:47:37 -0700] rev 4762
py3: redefine "troublecategories" in evolve as a dict We'll want to the keys to be bytes and the values to be unicode on py3. Having it defined as a dict makes that easier (instead of converting between the types with e.g. pycompat.sysbytes()). It was kind of ugly to convert between the forms by stripping '_' from the string anyway.
Fri, 12 Jul 2019 08:11:39 -0700 py3: store to __doc__ as str (unicode on py3)
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 08:11:39 -0700] rev 4761
py3: store to __doc__ as str (unicode on py3)
Wed, 17 Jul 2019 12:47:20 -0700 py3: also catch ImportError when relative import fails
Martin von Zweigbergk <martinvonz@google.com> [Wed, 17 Jul 2019 12:47:20 -0700] rev 4760
py3: also catch ImportError when relative import fails Python 3 apparently raises an ImportError where Python 2 raised a ValueError.
Fri, 12 Jul 2019 10:26:41 -0700 py3: convert exceptions to bytes using pycompat.bytestr()
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 10:26:41 -0700] rev 4759
py3: convert exceptions to bytes using pycompat.bytestr()
Thu, 11 Jul 2019 16:00:25 -0700 py3: use "%d" for formatting integers
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 16:00:25 -0700] rev 4758
py3: use "%d" for formatting integers
Fri, 12 Jul 2019 08:17:25 -0700 py3: avoid "%s" for formatting None
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 08:17:25 -0700] rev 4757
py3: avoid "%s" for formatting None
Fri, 12 Jul 2019 08:16:30 -0700 py3: use "%f" for formatting floating point number
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 08:16:30 -0700] rev 4756
py3: use "%f" for formatting floating point number
Thu, 11 Jul 2019 15:30:43 -0700 py3: fix progress() functions to not use "%s" with int
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 15:30:43 -0700] rev 4755
py3: fix progress() functions to not use "%s" with int Python3 doesn't support "%s" with int arguments (and not with None arguments either, which this code was also using).
Wed, 17 Jul 2019 11:45:37 -0700 py3: make random topic name generation consistent across py2/py3
Martin von Zweigbergk <martinvonz@google.com> [Wed, 17 Jul 2019 11:45:37 -0700] rev 4754
py3: make random topic name generation consistent across py2/py3 random.choice() (and others based on random.randint()) changed between py2 and py3 without a way to get the py2 behavior. However, random.random() did not change, so we can re-implement random.choice() based on that.
Fri, 12 Jul 2019 17:02:35 -0700 py3: convert str to bytes before passing to core exception
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 17:02:35 -0700] rev 4753
py3: convert str to bytes before passing to core exception
Wed, 17 Jul 2019 11:03:09 -0700 py3: convert opts keys to bytes before passing to core APIs
Martin von Zweigbergk <martinvonz@google.com> [Wed, 17 Jul 2019 11:03:09 -0700] rev 4752
py3: convert opts keys to bytes before passing to core APIs
Fri, 14 Jun 2019 18:44:43 -0700 evolve: further clarify when update is performed stable
kevpeng@google.com [Fri, 14 Jun 2019 18:44:43 -0700] rev 4751
evolve: further clarify when update is performed
Thu, 11 Jul 2019 15:30:40 -0700 py3: avoid comparing int and None
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 15:30:40 -0700] rev 4750
py3: avoid comparing int and None
Thu, 11 Jul 2019 21:48:37 -0700 py3: avoid "%r" for list of byte strings, which produces b'' on py3
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 21:48:37 -0700] rev 4749
py3: avoid "%r" for list of byte strings, which produces b'' on py3
Thu, 11 Jul 2019 21:48:02 -0700 py3: avoid "%r" for byte string, which produces b'' on py3
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 21:48:02 -0700] rev 4748
py3: avoid "%r" for byte string, which produces b'' on py3 Replaced by "'%s'", which I think is clearer anyway.
Thu, 11 Jul 2019 14:46:17 -0700 py3: replace str(ctx) by bytes(ctx)
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 14:46:17 -0700] rev 4747
py3: replace str(ctx) by bytes(ctx) These are all for messages to the user and we don't want unicode for that.
Thu, 11 Jul 2019 16:04:17 -0700 py3: use inspect.signature() instead of inspect.getargspec() on py3
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 16:04:17 -0700] rev 4746
py3: use inspect.signature() instead of inspect.getargspec() on py3
Tue, 09 Jul 2019 10:56:42 -0700 py3: use array.array.{to,from}bytes() on py3
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 10:56:42 -0700] rev 4745
py3: use array.array.{to,from}bytes() on py3 array.array.{to,from}string() still exists on py3, but they're deprecated and generate warnings. I've put the compat function in compat.pt for now. We can move into a dedicated pycompat.py if we end up with a lot of py3 compat stuff.
Thu, 11 Jul 2019 14:31:32 -0700 py3: config values can be bytes, but never unicode
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 14:31:32 -0700] rev 4744
py3: config values can be bytes, but never unicode
Sat, 13 Jul 2019 00:17:03 -0700 py3: call branchmap.items() on py3 and continue to call iteritems() on py2
Martin von Zweigbergk <martinvonz@google.com> [Sat, 13 Jul 2019 00:17:03 -0700] rev 4743
py3: call branchmap.items() on py3 and continue to call iteritems() on py2 Mercurial's source transformer also replaces the 'def iteritems(' in branchmap by 'def items(', so we need to call whichever version is there.
Fri, 12 Jul 2019 23:24:04 -0700 py3: switch from iteritems() to items() in the topics extension
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 23:24:04 -0700] rev 4742
py3: switch from iteritems() to items() in the topics extension The only remaining iteritems() call is on branchmap. That will be dealt with in the next patch.
Sun, 14 Jul 2019 22:34:36 -0700 py3: filter() now returns a generator, so wrap when we need a list
Martin von Zweigbergk <martinvonz@google.com> [Sun, 14 Jul 2019 22:34:36 -0700] rev 4741
py3: filter() now returns a generator, so wrap when we need a list
Fri, 12 Jul 2019 23:19:50 -0700 py3: don't depend on map() iterating over its input
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 23:19:50 -0700] rev 4740
py3: don't depend on map() iterating over its input map(some_generator()) in py2 returns a list, while in py3 it returns a generator, so the passed-in generator won't be called unless the returned one is.
Thu, 11 Jul 2019 16:49:01 -0700 py3: implement __bool__ in addition to __nonzero__
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 16:49:01 -0700] rev 4739
py3: implement __bool__ in addition to __nonzero__
Thu, 11 Jul 2019 14:21:23 -0700 py3: replace iter.next() by next(iter)
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 14:21:23 -0700] rev 4738
py3: replace iter.next() by next(iter)
Thu, 11 Jul 2019 14:16:48 -0700 py3: replace xrange() by range()
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 14:16:48 -0700] rev 4737
py3: replace xrange() by range()
Thu, 11 Jul 2019 12:19:49 -0700 py3: read sqlite3 data as bytes
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 12:19:49 -0700] rev 4736
py3: read sqlite3 data as bytes The py2 and py3 docs ([1] and [2]) disagree how to get bytes output, but it seems obvious that this should be "bytes" to be compatible with both. [1] https://docs.python.org/2/library/sqlite3.html#sqlite3.Connection.text_factory [2] https://docs.python.org/3/library/sqlite3.html#sqlite3.Connection.text_factory
Thu, 11 Jul 2019 12:11:43 -0700 py3: sqlite3.connect() expects str arguments
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 12:11:43 -0700] rev 4735
py3: sqlite3.connect() expects str arguments
Fri, 12 Jul 2019 23:00:11 -0700 cleanup: remove check only needed for hg versions before 4.4
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 23:00:11 -0700] rev 4734
cleanup: remove check only needed for hg versions before 4.4 ui.edit() has had the "action" argument since 6e6452bc441d (editor: use an unambiguous path suffix for editor files, 2017-08-30), which was first released in hg version 4.4. Since we support only versions higher than 4.5, we can drop this check.
Fri, 12 Jul 2019 08:20:24 -0700 split: remove an unnecessary (and confusingly typed) fallback revision
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 Jul 2019 08:20:24 -0700] rev 4733
split: remove an unnecessary (and confusingly typed) fallback revision `opts.get('rev') or '.'` is either a list of strings or just a string. It happened to work because `'.'[0] == '.'` on Python 2, but it won't work on Python 3 (for byte strings). The fallback value wasn't even needed (it was also set just after), so let's just remove it.
Thu, 11 Jul 2019 22:23:32 -0700 evolve: rename variable "children" to "child" where it's clearly singular
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 22:23:32 -0700] rev 4732
evolve: rename variable "children" to "child" where it's clearly singular
Thu, 11 Jul 2019 16:24:13 -0700 evolve: remove some unused variables
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 16:24:13 -0700] rev 4731
evolve: remove some unused variables
Thu, 11 Jul 2019 09:38:42 -0700 py3: back out 23323092f0a7
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Jul 2019 09:38:42 -0700] rev 4730
py3: back out 23323092f0a7 D6623 has now been accepted in Mercurial (commit 83666f011679), so evolve commit 23323092f0a7 (py3: convert _origdoc to sysstr to match __doc__, 2019-07-09) is not longer needed.
Wed, 17 Jul 2019 18:06:14 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Jul 2019 18:06:14 +0200] rev 4729
branching: merge with stable
Wed, 17 Jul 2019 17:58:44 +0200 touch: fix the inconsistent behavior of divergence catching logic (issue6107) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 17 Jul 2019 17:58:44 +0200] rev 4728
touch: fix the inconsistent behavior of divergence catching logic (issue6107) When touching a node, the way we check if it can lead to divergence is we look at the successors sets of the rev being touched. And if there is successor revs exists (excluding the case when that successor set is (A,) for rev A) that means there will be divergence and we warn the user. This works fine but there is still a case (which is not covered by looking at successor sets) which can lead to divergence. That case is: when there is already a revision exists which is divergent to the revision being touched. And performing the touch would revive that "dead" divergence. (Dead because one of the revision is obsolete which is the one we are touching) And to see if there is any rev which is divergent to a particular rev we already have a function which we can use here i.e. `evolvecmd.divergentsets(repo, ctx_being_touched)` Changes in test file demonstrate the fixed behaviour.
Sat, 29 Jun 2019 14:28:35 +0530 touch: add test which shows touch can fail to warn about divergence stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 29 Jun 2019 14:28:35 +0530] rev 4727
touch: add test which shows touch can fail to warn about divergence
Wed, 17 Jul 2019 17:58:40 +0200 touch: clarify some inline documentation stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 17 Jul 2019 17:58:40 +0200] rev 4726
touch: clarify some inline documentation
Mon, 15 Jul 2019 16:53:07 -0700 tests: update output for new branch cache messsages from Mercurial
Martin von Zweigbergk <martinvonz@google.com> [Mon, 15 Jul 2019 16:53:07 -0700] rev 4725
tests: update output for new branch cache messsages from Mercurial This makes tests pass again after Mercurial commit c7d236b55a3e (py3: fix formatting of branchmap log messages with repo.filtername=None, 2019-07-14). CORE-TEST-OUTPUT-UPDATE: c7d236b55a3e
Sat, 13 Jul 2019 18:22:34 +0800 metaedit: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net> [Sat, 13 Jul 2019 18:22:34 +0800] rev 4724
metaedit: allow operations on merge commits with some conditions As with fold (see the previous patch), it's allowed to metaedit a merge commit or a set of commits including merge commits (with --fold) as long as there are less than 2 parents of the set not included in the said set.
Thu, 11 Jul 2019 18:07:03 +0800 fold: allow operations on merge commits with some conditions
Anton Shestakov <av6@dwimlabs.net> [Thu, 11 Jul 2019 18:07:03 +0800] rev 4723
fold: allow operations on merge commits with some conditions It's possible to fold revision chains that include a single merge commit: just fold everything into the merge commit while saving its other parent (so it continues being a merge commit). It's also possible to fold revisions that include multiple merge commits, on the condition that they merge with not more than 2 external changesets (i.e. a changesets that aren't going to be folded).
Thu, 11 Jul 2019 17:04:08 +0800 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net> [Thu, 11 Jul 2019 17:04:08 +0800] rev 4722
rewind: make sure merge commits include files from p1 and p2 Otherwise rewinding a merge commit makes it lose all changes. This fix populates `updates` argument of rewriteutil.rewrite() with parent changesets. That argument is normally used for folding multiple changesets, but in this case it's simply used to include files from p1 and p2. Usually, rewrite() works fine using ctx.files(), but that function can return an empty list when ctx is a merge commit.
Wed, 10 Jul 2019 18:16:38 +0800 touch: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net> [Wed, 10 Jul 2019 18:16:38 +0800] rev 4721
touch: make sure merge commits include files from p1 and p2 Otherwise touching a merge commit makes it lose all changes. This fix populates `updates` argument of rewriteutil.rewrite() with parent changesets. That argument is normally used for folding multiple changesets, but in this case it's simply used to include files from p1 and p2. Usually, rewrite() works fine using ctx.files(), but that function can return an empty list when ctx is a merge commit.
Tue, 09 Jul 2019 10:56:42 -0700 py3: make `import hgext3rd.evolve` work
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 10:56:42 -0700] rev 4720
py3: make `import hgext3rd.evolve` work
Tue, 09 Jul 2019 10:56:42 -0700 py3: use bytes for template keyword registrations
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 10:56:42 -0700] rev 4719
py3: use bytes for template keyword registrations This makes `import hgext3rd.topic` work.
Tue, 09 Jul 2019 10:56:42 -0700 py3: convert _origdoc to sysstr to match __doc__
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 10:56:42 -0700] rev 4718
py3: convert _origdoc to sysstr to match __doc__ It's currently stored as bytes by core, so we need to convert it to match Python's expected type for __doc__. This patch can be dropped if D6623 gets accepted.
Tue, 09 Jul 2019 10:56:42 -0700 py3: use bytes for revset predicate registrations
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 10:56:42 -0700] rev 4717
py3: use bytes for revset predicate registrations
Tue, 09 Jul 2019 10:56:42 -0700 py3: use bytes for wireprotocol command registration
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 10:56:42 -0700] rev 4716
py3: use bytes for wireprotocol command registration
Tue, 09 Jul 2019 10:56:42 -0700 py3: use byte strings for @command registrations
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 10:56:42 -0700] rev 4715
py3: use byte strings for @command registrations
Wed, 03 Jul 2019 11:13:47 -0700 py3: switch from iteritems() to items()
Martin von Zweigbergk <martinvonz@google.com> [Wed, 03 Jul 2019 11:13:47 -0700] rev 4714
py3: switch from iteritems() to items()
Wed, 03 Jul 2019 11:37:29 -0700 py3: make metadata values be byte strings as Mercurial expects
Martin von Zweigbergk <martinvonz@google.com> [Wed, 03 Jul 2019 11:37:29 -0700] rev 4713
py3: make metadata values be byte strings as Mercurial expects
Tue, 09 Jul 2019 21:49:37 -0700 tests: update output for shorted prompts from Mercurial
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Jul 2019 21:49:37 -0700] rev 4712
tests: update output for shorted prompts from Mercurial This makes tests pass again after Mercurial commits f802a75da585 (patch: use a short, fixed-size message for last line of prompt (issue6158), 2019-06-20). CORE-TEST-OUTPUT-UPDATE: f802a75da585
Thu, 11 Jul 2019 10:07:39 +0200 tests: update output for shorted prompts from Mercurial
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Jul 2019 10:07:39 +0200] rev 4711
tests: update output for shorted prompts from Mercurial This makes tests pass again after Mercurial commits 4764e8436b2a (filemerge: make last line of prompts <40 english chars (issue6158), 2019-06-20) CORE-TEST-OUTPUT-UPDATE: 4764e8436b2a
Tue, 09 Jul 2019 17:08:34 +0800 rewriteutil: allow rewriting merge commits (issue4561)
Anton Shestakov <av6@dwimlabs.net> [Tue, 09 Jul 2019 17:08:34 +0800] rev 4710
rewriteutil: allow rewriting merge commits (issue4561) This patch simply allows rewriteutil.rewrite() to work with commits with multiple parents (i.e. merges). That function is used in such commands as fold, metaedit, touch, rewind. The issue 4561 is marked as easy, the limitation is called unnecessary, no tests fail after this change. What can go wrong.
Tue, 09 Jul 2019 17:02:44 +0800 tests: show what happens when trying to hg touch a merge commit
Anton Shestakov <av6@dwimlabs.net> [Tue, 09 Jul 2019 17:02:44 +0800] rev 4709
tests: show what happens when trying to hg touch a merge commit
Thu, 04 Jul 2019 17:32:58 +0200 evolve: further clarify that update is performed only when requested stable
kevpeng@google.com [Thu, 04 Jul 2019 17:32:58 +0200] rev 4708
evolve: further clarify that update is performed only when requested Text further modified by Pierre-Yves David and Anton Shestakov.
Fri, 14 Jun 2019 22:46:58 +0530 touch: let's not use util.acceptintervention() as it's not required
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 14 Jun 2019 22:46:58 +0530] rev 4707
touch: let's not use util.acceptintervention() as it's not required
Thu, 04 Jul 2019 16:55:57 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 04 Jul 2019 16:55:57 +0200] rev 4706
branching: merge with stable
Wed, 26 Jun 2019 21:11:25 +0530 evolve: use right value for branch name when finding branch heads
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 26 Jun 2019 21:11:25 +0530] rev 4705
evolve: use right value for branch name when finding branch heads subbranch already formatted as "branchname:topicname", again appending it with ":topicname" doesn't not make sense. It's a little bit surprising that no tests fails though.
Tue, 25 Jun 2019 21:54:22 +0530 evolve: fix confusion in branch heads checking logic when topic in play
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 25 Jun 2019 21:54:22 +0530] rev 4704
evolve: fix confusion in branch heads checking logic when topic in play To provide some context, when topics are in play the branchmap cache we store contains the branch info of a rev as "branch:topic" format IIUC. Assuming that is right, now in present code we don't actually cover this part that "when looking for branch heads where we also have active topic we should look for branch='branch_name:topic' instead". And we get wrong branch heads as a result. This patch make sure that we pass right candidate to find branch heads using branchmap.branchheads() by overriding the localrepo.branchheads() Changes in test file reflect the fixed behavior.
Sun, 14 Apr 2019 12:55:46 +0530 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 14 Apr 2019 12:55:46 +0530] rev 4703
topic: add tests to demonstrate topic confuses the branchhead checking logic While topics are in play, we store the branchheads (which has a topic) in "branchname:topicname" format. After digging into it I found that even in the case when we should have branch heads for "bname:tname" we get heads for "bname". The tests output reflect the confusion in branch head checking logic. Next patch will be fixing the problem.
Mon, 01 Jul 2019 19:15:57 +0530 evolve: fix the inconsistent behaviour of prune (issue6137) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 01 Jul 2019 19:15:57 +0530] rev 4702
evolve: fix the inconsistent behaviour of prune (issue6137) Let's not update to any revision when working directory parent is not related to the revision being pruned. Changes in test file demonstrate the fixed behaviour.
Tue, 02 Jul 2019 21:00:46 +0530 prune: add tests to demonstrate issue6137 stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 02 Jul 2019 21:00:46 +0530] rev 4701
prune: add tests to demonstrate issue6137 Here we can see that prune updates off to the parent revision even when the pruned revision wasn't related with the working directory parent. A follow-up patch will fix this.
Sun, 30 Jun 2019 23:50:57 +0530 compat: fix `setupevolveunfinished` for upstream
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 30 Jun 2019 23:50:57 +0530] rev 4700
compat: fix `setupevolveunfinished` for upstream
Sat, 29 Jun 2019 18:21:57 +0800 prune: update to the successor of wdir also with --pair/--biject (issue6142) stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 29 Jun 2019 18:21:57 +0800] rev 4699
prune: update to the successor of wdir also with --pair/--biject (issue6142) When prune is used with --pair flag, we can also update to the successor of working directory parent. No need to check len(sucs) or len(precs) here because there's a check for that earlier in the code (it's a requirement of biject). The tests are now demonstrate the correct behavior: when rev 14 was pruned with 12 as its successor, the bookmark that was on 14 was moved to 12. That bookmark was also activated (even before this patch).
Sat, 22 Jun 2019 18:37:21 +0800 tests: demonstrate prune --pair not moving bookmark correctly stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 22 Jun 2019 18:37:21 +0800] rev 4698
tests: demonstrate prune --pair not moving bookmark correctly After `mkcommit n2` line the bookmark is on the correct changeset, but when we prune --pair the two newly created changesets (revs 13 and 14), the bookmark gets moved to their ancestor (rev 0). Instead, it should've moved to the last of their successors (rev 12).
Tue, 02 Jul 2019 10:17:42 +0200 oops: backed out changeset 7ac40b4ea24c
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 02 Jul 2019 10:17:42 +0200] rev 4697
oops: backed out changeset 7ac40b4ea24c Anton requested some changes on it.
Sun, 30 Jun 2019 23:50:57 +0530 compat: fix `setupevolveunfinished` for upstream
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 30 Jun 2019 23:50:57 +0530] rev 4696
compat: fix `setupevolveunfinished` for upstream
Sun, 16 Jun 2019 23:39:55 +0530 evolve: fix the code flow pattern of solving obswdir par and troubled revs
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 16 Jun 2019 23:39:55 +0530] rev 4695
evolve: fix the code flow pattern of solving obswdir par and troubled revs Now we will go to _handlenotrouble() (which prints messages about no revs to solve) only when there is no troubled revs and working dir parent is not obsolete. This change also saves us from an issue which was about looking into the revset (smartset contains troubled revs to solve) when a rev from the revset gets hidden. This happens in the case when our wdir parent is obsolete. After resolving obswdir parent we were looking into the revset to check if there is any troubled revs to solve but we should have performed this check before performing the obswdir resolution. Changes in test file reflect this fixed behaviour.
Sun, 09 Jun 2019 12:07:08 +0530 evolve: refactor for consistent behavior of evolve when wdp is obsolete
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 09 Jun 2019 12:07:08 +0530] rev 4694
evolve: refactor for consistent behavior of evolve when wdp is obsolete This patch make sure that when working directory parent is obsolete `hg evolve` and `hg evolve --all` don't behave differently.
Sat, 15 Jun 2019 17:17:19 +0530 evolve: backout 3027005c42c3 to reintroduce a bug for right fix
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 15 Jun 2019 17:17:19 +0530] rev 4693
evolve: backout 3027005c42c3 to reintroduce a bug for right fix This patch backout 3027005c42c3 as it was accepted by mistake while it was being "in-discussion" state.
Fri, 14 Jun 2019 18:17:03 +0800 pick: register pickstate as an unfinished state stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 14 Jun 2019 18:17:03 +0800] rev 4692
pick: register pickstate as an unfinished state This way pickstate file will indicate that unfinished pick command needs to be dealt with (--continue or --abort) before modifying the repo. Otherwise it would be e.g. possible to commit during an interrupted pick and that's not expected.
Fri, 14 Jun 2019 18:14:57 +0800 pick: rename variable for unfinishedstates stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 14 Jun 2019 18:14:57 +0800] rev 4691
pick: rename variable for unfinishedstates
Fri, 14 Jun 2019 18:26:24 +0800 pick: actually delete pickstate if --abort is given stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 14 Jun 2019 18:26:24 +0800] rev 4690
pick: actually delete pickstate if --abort is given Makes pick to be, uh, actually aborted.
Tue, 18 Jun 2019 17:17:31 +0800 evolve: orphans that evolve into nothing don't need successors (issue5967) stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 18 Jun 2019 17:17:31 +0800] rev 4689
evolve: orphans that evolve into nothing don't need successors (issue5967) When continuing to solve an orphan that created no changes (i.e. clean wdir), _completeorphan() used to create an obsmarker that said that the result of that orphan evolution is the currently checked out changeset. That's not a correct obsmarker, because all of the orphan's changes were dropped and so it had no effect on the currently checked out changeset. This is an issue that has only existed when --continu'ing evolve, that's why the fix touches _completeorphan(), but not _solveunstable(). This fix is adapted from a similar "if node is None" block in _finalizerelocate().
Sat, 22 Dec 2018 18:31:32 +0800 tests: demonstrate obsmarker creation after discarding conflicting changes stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 22 Dec 2018 18:31:32 +0800] rev 4688
tests: demonstrate obsmarker creation after discarding conflicting changes Continued evolve creates an incorrect obsmarker that says 2 is a successor of 1. It's incorrect because 1 was dropped as it created no changes to commit (after conflict resolution that discarded its changes). If evolve does the same thing in one go (e.g. just by using --tool :local and without subsequent need to continue) the obsmarker is correct.
Fri, 07 Jun 2019 18:14:48 +0800 pick: remove transaction on the whole command (issue6037) stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 07 Jun 2019 18:14:48 +0800] rev 4687
pick: remove transaction on the whole command (issue6037) At its core, pick is a pretty straightforward and well-behaving command, it uses functions already in core hg, it checks that wdir is clean and that changeset to pick is not public, it checks if there happen to be merge conflicts and can be --continue'd later, etc. It is very similar to graft in core (it also uses mergemod.graft function), but it obsoletes the original changeset. However, graft does not experience this incorrect behavior from issue 6037. What happens in the test case for this issue when we pick a revision that touches both "a" and "b": mergemod.graft() takes the original changeset and tries to apply it to the wdir, which results in "b" being marked as newly added and ready to be committed, "a" updated with the new content and being marked as modified, but "a" also has conflicts. Pick correctly notices this and saves its state before asking for user intervention. So far so good. However, when the command raises InterventionRequired to print a user-facing message and exit while being wrapped in repo.transaction() context manager, the latter partially undoes what mergemod.graft() did: it unmarks "b" as added. And when user continues pick, "b" is therefore not tracked and is not included in the resulting commit. The transaction is not useful here, because it doesn't touch wdir (it's still dirty), it doesn't remove pickstate (and other commands will refuse to work until pick --abort or --continue), it just makes "b" untracked. The solution is to use repo.transaction() only to wrap code that writes data to hg store in the final stages of the command after all checks have passed and is not expected to fail on trivial cases like merge conflicts. For example, committing the picked changeset. But since pick uses repo.commit() for that, and because that function already uses a transaction, wrapping it in another transaction doesn't make sense.
Sun, 23 Dec 2018 01:02:36 +0800 tests: demonstrate hg pick forgetting files after conflicts stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 23 Dec 2018 01:02:36 +0800] rev 4686
tests: demonstrate hg pick forgetting files after conflicts This test currently passes to show that pick is behaving incorrectly.
Thu, 13 Jun 2019 13:27:26 +0800 packaging: follow hg's supported python version (>= 2.7) stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 13 Jun 2019 13:27:26 +0800] rev 4685
packaging: follow hg's supported python version (>= 2.7) "Mercurial 4.3 and newer require Python 2.7." (From https://www.mercurial-scm.org/wiki/SupportedPythonVersions) Also add X- prefix, because that's the correct form, apparently. This line can also be removed in future, since "When Debian supported multiple Python versions, X-Python-Version was used, but it is obsolete now as no supported Debian release supports anything other than python2.7." (From https://wiki.debian.org/Python/LibraryStyleGuide) That page also mentions "X-Python3-Version".
Thu, 13 Jun 2019 13:19:44 +0800 packaging: require hg 4.5 also for usage, not just for building stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 13 Jun 2019 13:19:44 +0800] rev 4684
packaging: require hg 4.5 also for usage, not just for building
Tue, 11 Jun 2019 10:04:11 +0200 packaging: require mercurial >= 4.5 stable
Philippe Pepiot <philippe.pepiot@logilab.fr> [Tue, 11 Jun 2019 10:04:11 +0200] rev 4683
packaging: require mercurial >= 4.5 Otherwise building the doc package fails with: (third party extension evolve requires version 4.5 or newer of Mercurial; disabling) Exception occurred: File "/usr/lib/python2.7/dist-packages/mercurial/help.py", line 624, in help_ raise error.Abort(msg, hint=hint) Abort: no such help topic: evolve
Sat, 08 Jun 2019 16:03:05 +0530 evolve: clarify why returning by adding inline doc
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 08 Jun 2019 16:03:05 +0530] rev 4682
evolve: clarify why returning by adding inline doc
Sat, 08 Jun 2019 15:59:31 +0530 evolve: move a code block to have right value in has_some_val
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 08 Jun 2019 15:59:31 +0530] rev 4681
evolve: move a code block to have right value in has_some_val Because of this we were having wrong value of has_some_val and had some buggy behavior which is being fixed by this patch. Fixed behavior is reflected by the changes in test file.
Sat, 27 Apr 2019 13:09:34 +0530 topic: add tests which demonstrate topicset failure of FilteredRepoLookupError
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 27 Apr 2019 13:09:34 +0530] rev 4680
topic: add tests which demonstrate topicset failure of FilteredRepoLookupError When topics are used, it fails to find hidden revs mentioned in a revset as we are not using unfiltered view of repo. Next patch will fix it.
Sat, 08 Jun 2019 16:57:34 +0800 pick: reduce configoverride() scope
Anton Shestakov <av6@dwimlabs.net> [Sat, 08 Jun 2019 16:57:34 +0800] rev 4679
pick: reduce configoverride() scope Merge tool is only needed for merge.graft() (it's what graft in core hg does), so let's make the scope of the ui.configoverride() narrower.
Sat, 08 Jun 2019 16:09:37 +0800 evolve: correct action verb in a message
Anton Shestakov <av6@dwimlabs.net> [Sat, 08 Jun 2019 16:09:37 +0800] rev 4678
evolve: correct action verb in a message
Sat, 08 Jun 2019 16:06:24 +0800 evolve: internationalize a message
Anton Shestakov <av6@dwimlabs.net> [Sat, 08 Jun 2019 16:06:24 +0800] rev 4677
evolve: internationalize a message This exact message was already wrapped in _() in the same file, just not here.
Thu, 06 Jun 2019 17:37:42 +0800 evolvecmd: the proper way to deal with conflicts is to resolve them
Anton Shestakov <av6@dwimlabs.net> [Thu, 06 Jun 2019 17:37:42 +0800] rev 4676
evolvecmd: the proper way to deal with conflicts is to resolve them And it's worth making the suggestion an actual hint.
Wed, 05 Jun 2019 17:56:44 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 17:56:44 +0200] rev 4675
test-compat: merge mercurial-4.5 into mercurial-4.4
Wed, 05 Jun 2019 17:46:06 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 17:46:06 +0200] rev 4674
test-compat: merge mercurial-4.6 into mercurial-4.5
Wed, 05 Jun 2019 17:45:45 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 17:45:45 +0200] rev 4673
test-compat: merge mercurial-4.7 into mercurial-4.6
Wed, 05 Jun 2019 17:42:50 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 17:42:50 +0200] rev 4672
test-compat: merge mercurial-4.8 into mercurial-4.7
Wed, 05 Jun 2019 17:39:32 +0200 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 17:39:32 +0200] rev 4671
test-compat: merge mercurial-4.9 into mercurial-4.8
Wed, 05 Jun 2019 17:38:32 +0200 test-compat: merge stable into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 17:38:32 +0200] rev 4670
test-compat: merge stable into mercurial-4.9
Fri, 07 Jun 2019 02:25:02 +0200 branching: merge with 9.0.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 07 Jun 2019 02:25:02 +0200] rev 4669
branching: merge with 9.0.0
Fri, 07 Jun 2019 02:24:08 +0200 branching: merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 07 Jun 2019 02:24:08 +0200] rev 4668
branching: merge back with stable
Fri, 07 Jun 2019 02:22:05 +0200 packaging: mark as development versions stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 07 Jun 2019 02:22:05 +0200] rev 4667
packaging: mark as development versions This help to distinct official release from in progress work.
Fri, 07 Jun 2019 02:15:50 +0200 Added tag 9.0.0 for changeset 756db65030c6 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 07 Jun 2019 02:15:50 +0200] rev 4666
Added tag 9.0.0 for changeset 756db65030c6
Thu, 06 Jun 2019 14:24:19 +0200 packaging: prepare release 9.0.0 stable 9.0.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 06 Jun 2019 14:24:19 +0200] rev 4665
packaging: prepare release 9.0.0
Thu, 06 Jun 2019 14:32:25 +0200 doc: clarify the status of configuration of the obshashrange protocol stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 06 Jun 2019 14:32:25 +0200] rev 4664
doc: clarify the status of configuration of the obshashrange protocol
Thu, 06 Jun 2019 13:26:44 +0200 changelog: add various missing bits stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 06 Jun 2019 13:26:44 +0200] rev 4663
changelog: add various missing bits
Wed, 05 Jun 2019 19:45:35 +0200 templatekw: keep compatibility with Mercurial 4.5 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 19:45:35 +0200] rev 4662
templatekw: keep compatibility with Mercurial 4.5 This is simple enough to do.
Wed, 05 Jun 2019 17:21:45 +0200 test: adjust output to stable branch stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 05 Jun 2019 17:21:45 +0200] rev 4661
test: adjust output to stable branch We are about to make a release.
Tue, 04 Jun 2019 11:08:44 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 04 Jun 2019 11:08:44 +0200] rev 4660
branching: merge with stable
Sat, 01 Jun 2019 02:30:14 +0200 templates: don't alias keywords directly stable
Joerg Sonnenberger <joerg@bec.de> [Sat, 01 Jun 2019 02:30:14 +0200] rev 4659
templates: don't alias keywords directly Putting the same function twice in the registry results in duplicate doc strings and therefore confusing "hg help template" output.
Tue, 28 May 2019 16:46:18 +0800 stack: remove 'topic.' prefix from colors/labels
Anton Shestakov <av6@dwimlabs.net> [Tue, 28 May 2019 16:46:18 +0800] rev 4658
stack: remove 'topic.' prefix from colors/labels Stack is related to topics, sure, but it is also good enough to be recognized on its own.
Sat, 18 May 2019 16:56:47 +0800 stack: handle hash sizes when --debug flag is provided
Anton Shestakov <av6@dwimlabs.net> [Sat, 18 May 2019 16:56:47 +0800] rev 4657
stack: handle hash sizes when --debug flag is provided Since showstack() now uses fm.hexfunc() for node hashes, which depends on ui.debugflag, we should handle situations when hashes are full-sized as well.
Fri, 17 May 2019 17:50:25 +0800 stack: always provide (full) node hash to non-default --template
Anton Shestakov <av6@dwimlabs.net> [Fri, 17 May 2019 17:50:25 +0800] rev 4656
stack: always provide (full) node hash to non-default --template
Fri, 17 May 2019 17:42:06 +0800 stack: remove unnecessary prefix from stack output with non-default --template
Anton Shestakov <av6@dwimlabs.net> [Fri, 17 May 2019 17:42:06 +0800] rev 4655
stack: remove unnecessary prefix from stack output with non-default --template "index" template keyword already exists (the current iteration of the loop), so "stack_index" it is. It follows the same convention as other template keywords, such as "files_added", "line_number", etc.
Fri, 17 May 2019 17:59:58 +0800 stack: provide context to formatter with non-default --template
Anton Shestakov <av6@dwimlabs.net> [Fri, 17 May 2019 17:59:58 +0800] rev 4654
stack: provide context to formatter with non-default --template This allows using template keywords that we don't explicitly provide to the formatter, e.g. rev, branch and topic.
Sat, 11 May 2019 17:14:32 +0800 stack: leverage labelsgen() to produce all needed labels for fm.write()
Anton Shestakov <av6@dwimlabs.net> [Sat, 11 May 2019 17:14:32 +0800] rev 4653
stack: leverage labelsgen() to produce all needed labels for fm.write()
Wed, 08 May 2019 16:00:34 +0800 stack: check if stack is empty more pythonically
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 May 2019 16:00:34 +0800] rev 4652
stack: check if stack is empty more pythonically
Wed, 08 May 2019 15:57:54 +0800 stack: implement __bool__ and __nonzero__
Anton Shestakov <av6@dwimlabs.net> [Wed, 08 May 2019 15:57:54 +0800] rev 4651
stack: implement __bool__ and __nonzero__
Sun, 05 May 2019 17:39:46 +0800 stack: get stack data directly from stack and remove stackdata()
Anton Shestakov <av6@dwimlabs.net> [Sun, 05 May 2019 17:39:46 +0800] rev 4650
stack: get stack data directly from stack and remove stackdata() stackdata function began its life in 137f8b04901e as a proto-stack: it computed stack revs on its own and only had one property to return, "changesetcount". Later it started to prepare and return more properties, but since b933a8068c17 it was computing revs using a getstack function. And then finally in 17749d9d3968 it started to rely on stack class entirely. It was a good function, but now, when all the logic it provided was factored into stack class, I'd say it's finally time for it to be put to rest.
Sun, 05 May 2019 16:14:53 +0800 stack: use stack._revs instead of stack.revs[1:] in external children revset
Anton Shestakov <av6@dwimlabs.net> [Sun, 05 May 2019 16:14:53 +0800] rev 4649
stack: use stack._revs instead of stack.revs[1:] in external children revset The revset in question excludes all revs that are part of the stack. Using stack.revs[1:] works (rev #0 is stack base, which is not a part of the stack), but using stack._revs is technically more correct, because this variable is specifically designed to hold only revisions that are part of the stack.
Tue, 04 Jun 2019 10:30:56 +0200 test: update output to match the parent changesets
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 04 Jun 2019 10:30:56 +0200] rev 4648
test: update output to match the parent changesets This amend was forgotten.
Mon, 27 May 2019 03:42:35 +0200 topic: add a simple option to reject publishing
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 May 2019 03:42:35 +0200] rev 4647
topic: add a simple option to reject publishing The option is pretty basic but it can be used as base to build larger feature. The main target for going in this direction is to be able to distinct between user that are "simple contributors" pushing topic for review and the "maintainers" or "automation" that can publish changesets.
Tue, 04 Jun 2019 10:07:08 +0200 compat: adjust `wrapadd` for upstream
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 04 Jun 2019 10:07:08 +0200] rev 4646
compat: adjust `wrapadd` for upstream Mercurial core updated the API in f385ba70e4af.
Sun, 05 May 2019 22:48:41 +0530 debian: override default value for SPHINXBUILD in docs/makefile stable
Faheem Mitha <faheem@faheem.info> [Sun, 05 May 2019 22:48:41 +0530] rev 4645
debian: override default value for SPHINXBUILD in docs/makefile This is the recommended Debian approach. As suggested by Debian Developer Stephen Kitt, use the approach recommended by Debian for building Sphinx documentation. See https://wiki.debian.org/Python/LibraryStyleGuide#Sphinx_documentation Also belated credit to Zash on the #mercurial channel on the Freenode IRC network, who suggested the Make variable approach in the first place.
Mon, 27 May 2019 02:19:48 +0200 obshashtree: move obshashtree in its own module
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 May 2019 02:19:48 +0200] rev 4644
obshashtree: move obshashtree in its own module The code no longer serve a core purpose. We just keep it because the command might be useful. We move it in a dedicated module so that it does not get in the way of other work.
Mon, 27 May 2019 01:53:36 +0200 obsdiscovery: drop `obshash` discovery protocol (issue6136)
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 May 2019 01:53:36 +0200] rev 4643
obsdiscovery: drop `obshash` discovery protocol (issue6136) The protocol has been superseeded by stablerange for a long time. It is untested and more and more buggy. Since this is deprecated experimental code in an experimental code, we drop it. We keep the underlying computation and debug command around for now. They might still be useful to looks at repositories
Thu, 09 May 2019 09:42:51 -0700 cmdrewrite: use context manager for some locks and transactions
Martin von Zweigbergk <martinvonz@google.com> [Thu, 09 May 2019 09:42:51 -0700] rev 4642
cmdrewrite: use context manager for some locks and transactions These were the trivial cases where I didn't even need to extend the scope of a transaction or change indentation to fix it.
Mon, 29 Apr 2019 23:43:16 +0530 evolve: mention that --all is default, in list of options
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 29 Apr 2019 23:43:16 +0530] rev 4641
evolve: mention that --all is default, in list of options
Mon, 13 May 2019 18:47:58 +0530 touch: use util.acceptintervention() for closing the transaction
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 13 May 2019 18:47:58 +0530] rev 4640
touch: use util.acceptintervention() for closing the transaction It will close the transaction on InterventionRequired.
Mon, 13 May 2019 18:45:00 +0530 touch: use context manager for locks
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 13 May 2019 18:45:00 +0530] rev 4639
touch: use context manager for locks
Mon, 13 May 2019 18:39:43 +0530 touch: extract the logic of touching rev's to its own function
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 13 May 2019 18:39:43 +0530] rev 4638
touch: extract the logic of touching rev's to its own function This refactoring will also help us in using the context manager for locks in next patches and also help reducing the nested depth.
Mon, 27 May 2019 02:42:11 +0200 changelog: mention user merging in the changelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 May 2019 02:42:11 +0200] rev 4637
changelog: mention user merging in the changelog
Sun, 05 May 2019 18:24:59 +0530 evolve: consider using three way merge to get the user for div resolution
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 05 May 2019 18:24:59 +0530] rev 4636
evolve: consider using three way merge to get the user for div resolution This patch adds the logic to merge the users from two divergent csets considering the base (i.e three way merge). The case when all the three are different, we concatenate the two authors of divergent csets.
Sun, 05 May 2019 18:24:50 +0530 evolve: add tests for the case when div csets has different users
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 05 May 2019 18:24:50 +0530] rev 4635
evolve: add tests for the case when div csets has different users
Fri, 03 May 2019 01:23:12 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 May 2019 01:23:12 +0200] rev 4634
branching: merge with stable
Fri, 26 Apr 2019 01:20:08 +0530 evolve: move status msg to verbose mode in content-divergence resolution
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 26 Apr 2019 01:20:08 +0530] rev 4633
evolve: move status msg to verbose mode in content-divergence resolution As suggested by Pierre-Yves, lets move these too verbose message for the user to verbose mode to decrease some noise.
Fri, 03 May 2019 03:52:44 +0530 debian: Override default value for SPHINXBUILD in docs/makefile stable
Faheem Mitha <faheem@faheem.info> [Fri, 03 May 2019 03:52:44 +0530] rev 4632
debian: Override default value for SPHINXBUILD in docs/makefile Sphinx now defaults to Python 3 in Debian Buster, so we need to explicitly select the Python 2 version of sphinx-build for building docs.
Fri, 03 May 2019 03:44:48 +0530 docs: add SPHINXBUILD make variable stable
Faheem Mitha <faheem@faheem.info> [Fri, 03 May 2019 03:44:48 +0530] rev 4631
docs: add SPHINXBUILD make variable This defaults to sphinx-build. The current use case is for the Evolve Debian package build.
Sat, 27 Apr 2019 20:56:37 +0530 topic: add test to increase code coverage in case of multiple topics stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 27 Apr 2019 20:56:37 +0530] rev 4630
topic: add test to increase code coverage in case of multiple topics This patch adds a test which cover the part that when we have one topic on top of other topic, this make sure that when evolving it's boundary are the current active topic (i.e hg stack)
Sat, 27 Apr 2019 17:11:12 +0800 changelog: --no-update is the default, recommend --update instead
Anton Shestakov <av6@dwimlabs.net> [Sat, 27 Apr 2019 17:11:12 +0800] rev 4629
changelog: --no-update is the default, recommend --update instead
Sat, 27 Apr 2019 01:18:08 +0300 topic: drop support for accessing csets in branch stack using bxx (issue6119)
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 27 Apr 2019 01:18:08 +0300] rev 4628
topic: drop support for accessing csets in branch stack using bxx (issue6119) When topic extension is enabled and we have some cset whose hash is `b1234`, topic extension thinks that we are accessing 1234 cset in current branch stack. However that's not the case generally. Also I am not sure many people use this bxxx thing. Since we have a generic sxxx way to access csets, let's drop support for accessing csets using bxx which leads to bad behavior. Looking at the tests, we don't show bxxx in hg stack output anymore. I update the test to use sxxx instead of bxxxx.
Mon, 29 Apr 2019 23:16:29 -0400 legacy: drop the check for `obsolete._enabled` stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 29 Apr 2019 23:16:29 -0400] rev 4627
legacy: drop the check for `obsolete._enabled` This looks like an ancient version check, and presumably `minimumhgversion` will do the same thing.
Sun, 28 Apr 2019 00:21:28 -0400 docs: drop references to the old temporary commit that was created with amend
Matt Harbison <matt_harbison@yahoo.com> [Sun, 28 Apr 2019 00:21:28 -0400] rev 4626
docs: drop references to the old temporary commit that was created with amend The sharing.rst page also mentions amend, but the diagrams aren't showing, so I'm not sure if they're in some other repo and needing to be updated.
Sat, 27 Apr 2019 22:45:16 -0400 templatekw: add `instabilities` alias for `troubles`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 22:45:16 -0400] rev 4625
templatekw: add `instabilities` alias for `troubles` Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Sat, 27 Apr 2019 22:59:48 -0400 revset: switch internal uses and tests to `predecessors` from legacy name
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 22:59:48 -0400] rev 4624
revset: switch internal uses and tests to `predecessors` from legacy name
Sat, 27 Apr 2019 22:33:16 -0400 revset: add `predecessor` aliases for `precursors` and `allprecursors`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 22:33:16 -0400] rev 4623
revset: add `predecessor` aliases for `precursors` and `allprecursors` Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Sat, 27 Apr 2019 22:24:30 -0400 revset: add `unstable` alias for `troubled`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 22:24:30 -0400] rev 4622
revset: add `unstable` alias for `troubled` Per https://www.mercurial-scm.org/wiki/CEDVocabulary. The old name is still available (but undocumented) for compatibility. `Orphan` was renamed from `unstable` in core in 4.4, so this seems safe to do now.
Sat, 27 Apr 2019 21:54:52 -0400 docs: change `bumped` references to `phase-divergent`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:54:52 -0400] rev 4621
docs: change `bumped` references to `phase-divergent` Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Sat, 27 Apr 2019 21:41:04 -0400 docs: change `divergent` references to `content-divergent`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:41:04 -0400] rev 4620
docs: change `divergent` references to `content-divergent` Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Sat, 27 Apr 2019 21:27:54 -0400 docs: change `troubled` references to `unstable`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:27:54 -0400] rev 4619
docs: change `troubled` references to `unstable` Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Sat, 27 Apr 2019 21:24:18 -0400 docs: change `unstable` references to `orphan`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:24:18 -0400] rev 4618
docs: change `unstable` references to `orphan` Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Sat, 27 Apr 2019 21:09:47 -0400 doc: correct a typo
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:09:47 -0400] rev 4617
doc: correct a typo
Sat, 27 Apr 2019 19:42:42 -0400 docs: change `troubles` references to `instability`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 19:42:42 -0400] rev 4616
docs: change `troubles` references to `instability` Per https://www.mercurial-scm.org/wiki/CEDVocabulary. There are a couple instances of 'troublesome' which probably need a word, as deriviatives of 'instability' didn't really fit. At least some of these are in the unlinked obs-terms.rst page.
Sat, 27 Apr 2019 19:32:03 -0400 docs: change `precursors` references to `predecessors`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 19:32:03 -0400] rev 4615
docs: change `precursors` references to `predecessors` Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Sat, 27 Apr 2019 14:42:48 -0400 docs: import figure diagrams with inkscape 0.92
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 14:42:48 -0400] rev 4614
docs: import figure diagrams with inkscape 0.92 No changes to the content here. This simply accepts the default option ("This file contains digital artwork for screen display") on the prompt when first opened, which is trying to upgrade from 90DPI to 96DPI.
Thu, 25 Apr 2019 15:14:21 -0700 messages: standardize on "working copy is now at" including "is"
Martin von Zweigbergk <martinvonz@google.com> [Thu, 25 Apr 2019 15:14:21 -0700] rev 4613
messages: standardize on "working copy is now at" including "is" It seemed that we mostly used "is", but `hg next` and `hg prune` could print it without the "is".
Thu, 25 Apr 2019 13:58:29 -0700 evolve: move more of the progress-related variables together
Martin von Zweigbergk <martinvonz@google.com> [Thu, 25 Apr 2019 13:58:29 -0700] rev 4612
evolve: move more of the progress-related variables together
Thu, 25 Apr 2019 14:02:11 -0700 evolve: delete dead calculation of number of troubled revisions
Martin von Zweigbergk <martinvonz@google.com> [Thu, 25 Apr 2019 14:02:11 -0700] rev 4611
evolve: delete dead calculation of number of troubled revisions The "count" variable is recalculated in the regular (no --continue) code path and it isn't used anywhere else (it used to be set to 1 in the --continue code path, but that now has its own progress counting).
Fri, 19 Apr 2019 10:23:53 -0700 evolve: drop nested locks and transactions
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:23:53 -0700] rev 4610
evolve: drop nested locks and transactions All callers of _solveone() now take the locks and start the transactions, so there's no need to do that anymore.
Fri, 19 Apr 2019 11:12:00 -0700 next: start transaction before calling _solveone()
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 11:12:00 -0700] rev 4609
next: start transaction before calling _solveone() All other callers do this, and I'm about to make _solveone() not create a transaction.
Fri, 19 Apr 2019 10:22:25 -0700 evolve: use single transaction also when continuing
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:22:25 -0700] rev 4608
evolve: use single transaction also when continuing
Fri, 19 Apr 2019 09:41:39 -0700 evolve: run in a single transaction
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 09:41:39 -0700] rev 4607
evolve: run in a single transaction This speeds up `hg evolve --all` of a stack of 24 commits in the hg repo from 11.5s to 3.7s (3x). As can be seen in the tests, it also avoid some warnings about transiently unstable commits.
Fri, 19 Apr 2019 10:01:32 -0700 evolve: extract function for solving one revision, including merges
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:01:32 -0700] rev 4606
evolve: extract function for solving one revision, including merges Will make the next patch simpler.
Thu, 25 Apr 2019 17:20:32 +0800 evolve: mention that --all is the default behavior now
Anton Shestakov <av6@dwimlabs.net> [Thu, 25 Apr 2019 17:20:32 +0800] rev 4605
evolve: mention that --all is the default behavior now
Thu, 25 Apr 2019 17:19:41 +0800 evolve: mention that not all successful operations currently update wdir
Anton Shestakov <av6@dwimlabs.net> [Thu, 25 Apr 2019 17:19:41 +0800] rev 4604
evolve: mention that not all successful operations currently update wdir
Tue, 23 Apr 2019 11:07:28 -0700 evolve: add progress support for --continue
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 11:07:28 -0700] rev 4603
evolve: add progress support for --continue The progress starts where it left off when the previous command ran into merge conflicts.
Tue, 23 Apr 2019 10:56:42 -0700 evolve: reduce scope of progress-related variables
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 10:56:42 -0700] rev 4602
evolve: reduce scope of progress-related variables
Tue, 23 Apr 2019 10:49:47 -0700 evolve: move progress-clearing out of _cleanup()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 10:49:47 -0700] rev 4601
evolve: move progress-clearing out of _cleanup() The progress is only used with --all or --rev, so there's no need to clean it in any other case. It's therefore easier to clean it specifically in that case.
Tue, 23 Apr 2019 10:52:33 -0700 evolve: stop passing no-op "progresscb" into continueevolve()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 10:52:33 -0700] rev 4600
evolve: stop passing no-op "progresscb" into continueevolve() The "progresscb" doesn't do anything in the --continue case, so there's no need to pass it into continueevolve(). This lets us remove the --no-all that was added to the test as a workaround.
Tue, 23 Apr 2019 09:45:45 -0700 evolve: _solveunstable() update progress only once
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 09:45:45 -0700] rev 4599
evolve: _solveunstable() update progress only once There's no need to draw it, then possibly write text over it (with --verbose), and then draw it again.
Tue, 23 Apr 2019 09:35:34 -0700 evolve: don't update progress just before clearing it
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 09:35:34 -0700] rev 4598
evolve: don't update progress just before clearing it _cleanup() will clear the progress, so there's little reason to update it just before (except for progress.debug=yes).
Tue, 23 Apr 2019 09:31:32 -0700 evolve: clean up progress bar also when using -r
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 09:31:32 -0700] rev 4597
evolve: clean up progress bar also when using -r It looks like 1fe3da0b4601 (evolve: add --rev option to the evolve command, 2015-05-05) forgot to update the "showprogress" variable.
Tue, 23 Apr 2019 10:20:03 -0700 tests: add some basic testing of progress
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 10:20:03 -0700] rev 4596
tests: add some basic testing of progress
Fri, 19 Apr 2019 10:03:39 -0700 evolve: increment progress *after* a whole merge commit is done
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:03:39 -0700] rev 4595
evolve: increment progress *after* a whole merge commit is done The "re-stabilize" step was using the progress that was supposed to be for the next revision.
Fri, 19 Apr 2019 11:02:35 -0700 evolve: use util.acceptintervention() for closing transactions
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 11:02:35 -0700] rev 4594
evolve: use util.acceptintervention() for closing transactions util.acceptintervention() will close the transaction on InterventionRequired.
Fri, 19 Apr 2019 10:32:32 -0700 evolve: use context manager for transactions
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:32:32 -0700] rev 4593
evolve: use context manager for transactions
Fri, 19 Apr 2019 10:52:16 -0700 evolve: use consistent message and just re-raise InterventionRequired
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:52:16 -0700] rev 4592
evolve: use consistent message and just re-raise InterventionRequired
Fri, 19 Apr 2019 10:47:12 -0700 evolve: use standard InterventionRequired instead of MergeFailure
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:47:12 -0700] rev 4591
evolve: use standard InterventionRequired instead of MergeFailure
Fri, 19 Apr 2019 10:41:56 -0700 evolve: don't use exception for local flow control
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:41:56 -0700] rev 4590
evolve: don't use exception for local flow control The LocalMergeFailure class was added in 3f91654713dd (obsolete Move merge failure handling into stabilize code, 2012-08-20). I think the "if compat.hasconflict(r)" check was added later. Now that we have that check, we should use that for flow control instead. Note that this means that any unexpected exception from _relocatecommit() will now just raise (and roll back the transaction). I think that's an improvement.
Tue, 23 Apr 2019 11:02:08 -0700 evolve: reduce indentation with an early return statement
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 11:02:08 -0700] rev 4589
evolve: reduce indentation with an early return statement
Tue, 23 Apr 2019 11:01:44 -0700 evolve: remove a useless return statement at end of function
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 11:01:44 -0700] rev 4588
evolve: remove a useless return statement at end of function
Sun, 21 Apr 2019 13:04:40 +0530 test: move a test to an appropriate test file
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 21 Apr 2019 13:04:40 +0530] rev 4587
test: move a test to an appropriate test file This patch introduce a new test file test-evolve-orphan-corner-cases.t for tests which covers corner cases.
Sun, 21 Apr 2019 12:07:26 +0530 test: improve the title of a test
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 21 Apr 2019 12:07:26 +0530] rev 4586
test: improve the title of a test
Sun, 21 Apr 2019 12:06:31 +0530 test: remove duplicated test
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 21 Apr 2019 12:06:31 +0530] rev 4585
test: remove duplicated test We have the test in test-evolve-orphan-split.t which is covering the same case this test does. Also this test states that evolve shows some error in split case, but now this is not the case we update to the top of splitted csets.
Sat, 09 Mar 2019 19:35:45 +0530 evolve: warn user for the metadata being lost in public divergence resolution
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 09 Mar 2019 19:35:45 +0530] rev 4584
evolve: warn user for the metadata being lost in public divergence resolution This patch print warnings if some "extras" of a divergent changeset that is possibly important metadata which is being lost during the resolution of public divergence.
Wed, 17 Apr 2019 21:16:17 +0530 evolve: show a status message when merging leads to public cset
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 17 Apr 2019 21:16:17 +0530] rev 4583
evolve: show a status message when merging leads to public cset I think it would be fine to tell the user that merging the two divergent csets while resolving public divergence resulted into the public cset itself. If you think we don't need to tell the user, then we can include this in debug-mode for debugging purposes at least.
Wed, 24 Apr 2019 20:32:01 +0200 test: use a shorter test name
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Apr 2019 20:32:01 +0200] rev 4582
test: use a shorter test name This is still long but easier to read.
Wed, 10 Apr 2019 18:20:33 +0800 stack: rename troubledcount to unstablecount
Anton Shestakov <av6@dwimlabs.net> [Wed, 10 Apr 2019 18:20:33 +0800] rev 4581
stack: rename troubledcount to unstablecount
Wed, 24 Apr 2019 17:21:21 +0800 evolve: use --all by default (BC)
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Apr 2019 17:21:21 +0800] rev 4580
evolve: use --all by default (BC) allopt defaults to None to avoid touching _checkevolveopts(). If it were True by default, that function would always act like the flag was provided by user, and so using --abort, --stop, --continue or --rev on their own would never work (hg evolve will complain that you cannot specify both --rev and --all). A notable change in tests is "no troubled changesets" line that gets printed when using `hg evolve` to update to the evolved successor of working directory parent, but there were no actual instabilities.
Wed, 24 Apr 2019 17:02:27 +0800 tests: add --rev to hg evolve to reduce test changes for the next patch
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Apr 2019 17:02:27 +0800] rev 4579
tests: add --rev to hg evolve to reduce test changes for the next patch
Wed, 24 Apr 2019 16:35:01 +0800 tests: add --no-all to hg evolve to reduce test changes
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Apr 2019 16:35:01 +0800] rev 4578
tests: add --no-all to hg evolve to reduce test changes
Wed, 24 Apr 2019 15:59:02 +0200 evolve: don't update after instability resolution by default (BC)
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Apr 2019 15:59:02 +0200] rev 4577
evolve: don't update after instability resolution by default (BC)
Sun, 14 Apr 2019 02:18:19 +0800 tests: add --update to hg evolve to reduce test changes for the next patch
Anton Shestakov <av6@dwimlabs.net> [Sun, 14 Apr 2019 02:18:19 +0800] rev 4576
tests: add --update to hg evolve to reduce test changes for the next patch
Wed, 24 Apr 2019 15:57:49 +0200 tests: don't create a nested repo for no reason
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Apr 2019 15:57:49 +0200] rev 4575
tests: don't create a nested repo for no reason
Wed, 24 Apr 2019 14:38:26 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Apr 2019 14:38:26 +0200] rev 4574
branching: merge with stable VErsion 8.5.0 got released
Tue, 23 Apr 2019 15:57:04 +0200 Added tag 8.5.1 for changeset 05c9dcf5512e stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 15:57:04 +0200] rev 4573
Added tag 8.5.1 for changeset 05c9dcf5512e
Tue, 23 Apr 2019 15:30:39 +0200 packaging: prepare version 8.5.1 stable 8.5.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 15:30:39 +0200] rev 4572
packaging: prepare version 8.5.1
Tue, 23 Apr 2019 14:18:12 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 14:18:12 +0200] rev 4571
test-compat: merge mercurial-4.5 into mercurial-4.4
Tue, 23 Apr 2019 14:18:11 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 14:18:11 +0200] rev 4570
test-compat: merge mercurial-4.6 into mercurial-4.5
Tue, 23 Apr 2019 14:18:10 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 14:18:10 +0200] rev 4569
test-compat: merge mercurial-4.7 into mercurial-4.6
Tue, 23 Apr 2019 14:18:08 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 14:18:08 +0200] rev 4568
test-compat: merge mercurial-4.8 into mercurial-4.7
Tue, 23 Apr 2019 14:18:06 +0200 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 14:18:06 +0200] rev 4567
test-compat: merge mercurial-4.9 into mercurial-4.8
Tue, 23 Apr 2019 14:18:05 +0200 test-compat: merge stable into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 14:18:05 +0200] rev 4566
test-compat: merge stable into mercurial-4.9
Mon, 22 Apr 2019 22:14:26 -0700 evolve: fix progress display with hg<4.7 stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 22 Apr 2019 22:14:26 -0700] rev 4565
evolve: fix progress display with hg<4.7 Since d1aab9d82f5b (evolve: adapt for deprecated ui.progress(), 2019-01-14), the "item", "units" and "total" are all set to default values. The last one is especially bad since it results in a "spinner" instead of a progress bar.
Sat, 20 Apr 2019 05:21:14 +0200 packaging: mark extensions as tested with 5.0 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Apr 2019 05:21:14 +0200] rev 4564
packaging: mark extensions as tested with 5.0
Tue, 23 Apr 2019 13:26:35 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 13:26:35 +0200] rev 4563
branching: merge with stable
Tue, 23 Apr 2019 12:29:50 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:29:50 +0200] rev 4562
test-compat: merge mercurial-4.5 into mercurial-4.4
Tue, 23 Apr 2019 12:29:48 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:29:48 +0200] rev 4561
test-compat: merge mercurial-4.6 into mercurial-4.5
Tue, 23 Apr 2019 12:29:47 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:29:47 +0200] rev 4560
test-compat: merge mercurial-4.7 into mercurial-4.6
Tue, 23 Apr 2019 12:29:45 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:29:45 +0200] rev 4559
test-compat: merge mercurial-4.8 into mercurial-4.7
Mon, 11 Mar 2019 23:57:12 -0700 evolve: use merge.update() for resolving phase divergence
Martin von Zweigbergk <martinvonz@google.com> [Mon, 11 Mar 2019 23:57:12 -0700] rev 4558
evolve: use merge.update() for resolving phase divergence Iterating over the manifest when tree manifests and narrowness is in play produces entries for paths outside the narrowspec that represent trees. For example, if the tests/ directory of the hg repo was not in the narrowspec (and the hg repo was using tree manifests, which it doesn't), then there would be a "tests/" entry in the manifest. The merge code deals with some of these cases. For example, it's valid to do a merge if only the local side changes directories outside the narrowspec. That allows rebasing a local commit onto a public commit that had changes to the excluded paths to work. However, _resolvephasedivergent() was iterating of the manifests, which resulted in crashes for some of our users when they tried to resolve phase-divergent commits (actually content-divergent commits that became phase-divergent after the intermediate rebase). We can fix that by relying on merge.update(), since that already handles this case. [This re-install a changeset backed out for compatibility reason]
Tue, 23 Apr 2019 12:29:44 +0200 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:29:44 +0200] rev 4557
test-compat: merge mercurial-4.9 into mercurial-4.8
Tue, 23 Apr 2019 12:24:22 +0200 compat: drop support for Mercurial 4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:24:22 +0200] rev 4556
compat: drop support for Mercurial 4.4
Tue, 23 Apr 2019 12:29:42 +0200 test-compat: merge stable into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:29:42 +0200] rev 4555
test-compat: merge stable into mercurial-4.9
Tue, 23 Apr 2019 12:20:12 +0200 compat: backed out changeset cfcb7eedc666 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:20:12 +0200] rev 4554
compat: backed out changeset cfcb7eedc666 That changesets breaks 4.4 compat. We will reinstall it for the next version.
Tue, 23 Apr 2019 12:28:32 +0200 test-compat: adapt test output to 4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 Apr 2019 12:28:32 +0200] rev 4553
test-compat: adapt test output to 4.4
Sat, 20 Apr 2019 03:55:11 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Apr 2019 03:55:11 +0200] rev 4552
test-compat: merge mercurial-4.5 into mercurial-4.4
Sat, 20 Apr 2019 03:55:10 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Apr 2019 03:55:10 +0200] rev 4551
test-compat: merge mercurial-4.6 into mercurial-4.5
Sat, 20 Apr 2019 03:55:09 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Apr 2019 03:55:09 +0200] rev 4550
test-compat: merge mercurial-4.7 into mercurial-4.6
Sat, 20 Apr 2019 03:55:07 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Apr 2019 03:55:07 +0200] rev 4549
test-compat: merge mercurial-4.8 into mercurial-4.7
Sat, 20 Apr 2019 03:55:06 +0200 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Apr 2019 03:55:06 +0200] rev 4548
test-compat: merge mercurial-4.9 into mercurial-4.8
Sat, 20 Apr 2019 03:55:04 +0200 test-compat: merge stable into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Apr 2019 03:55:04 +0200] rev 4547
test-compat: merge stable into mercurial-4.9
Fri, 19 Apr 2019 10:31:53 +0530 compat: fix a typo in compat patch stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 19 Apr 2019 10:31:53 +0530] rev 4546
compat: fix a typo in compat patch
Thu, 18 Apr 2019 23:51:13 +0200 changelog: mention extensions isolation (issue6121) stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 23:51:13 +0200] rev 4545
changelog: mention extensions isolation (issue6121)
Thu, 18 Apr 2019 13:03:01 +0200 topic: only wrap wireprotocaps for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 13:03:01 +0200] rev 4544
topic: only wrap wireprotocaps for repo with topic This helps repository with and without topic to coexist in the same process.
Thu, 18 Apr 2019 13:02:52 +0200 topic: only wrap _pushb2phases for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 13:02:52 +0200] rev 4543
topic: only wrap _pushb2phases for repo with topic This helps repository with and without topic to coexist in the same process.
Thu, 18 Apr 2019 13:02:44 +0200 topic: only wrap handlecheckheads for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 13:02:44 +0200] rev 4542
topic: only wrap handlecheckheads for repo with topic This helps repository with and without topic to coexist in the same process.
Thu, 18 Apr 2019 13:02:06 +0200 topic: only wrap wireprotobranchmap for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 13:02:06 +0200] rev 4541
topic: only wrap wireprotobranchmap for repo with topic This helps repository with and without topic to coexist in the same process.
Thu, 18 Apr 2019 13:01:39 +0200 topic: only wrap _headssummary for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 13:01:39 +0200] rev 4540
topic: only wrap _headssummary for repo with topic This helps repository with and without topic to coexist in the same process.
Thu, 18 Apr 2019 12:41:41 +0200 topic: only wrap desthistedit for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 12:41:41 +0200] rev 4539
topic: only wrap desthistedit for repo with topic This helps repository with and without topic to coexist in the same process.
Thu, 18 Apr 2019 12:40:53 +0200 topic: only wrap _destupdatetopic for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 12:40:53 +0200] rev 4538
topic: only wrap _destupdatetopic for repo with topic This helps repository with and without topic to coexist in the same process.
Thu, 18 Apr 2019 12:39:41 +0200 topic: only wrap _destmergebranch for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 12:39:41 +0200] rev 4537
topic: only wrap _destmergebranch for repo with topic This helps repository with and without topic to coexist in the same process.
Thu, 18 Apr 2019 12:36:11 +0200 topic: only wrap gettopicrepo for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 12:36:11 +0200] rev 4536
topic: only wrap gettopicrepo for repo with topic This helps repository with and without topic to coexist in the same process.
Thu, 18 Apr 2019 11:13:49 +0200 topic: only wrap mergeupdate for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 11:13:49 +0200] rev 4535
topic: only wrap mergeupdate for repo with topic This helps repository with and without topic to coexist in the same process.
Thu, 18 Apr 2019 11:13:39 +0200 topic: only wrap committext for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 11:13:39 +0200] rev 4534
topic: only wrap committext for repo with topic This helps repository with and without topic to coexist in the same process.
Thu, 18 Apr 2019 11:13:24 +0200 topic: only affect `hg commit` behavior for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 11:13:24 +0200] rev 4533
topic: only affect `hg commit` behavior for repo with topic This helps repository with and without topic to coexist in the same process.
Thu, 18 Apr 2019 11:13:14 +0200 topic: only wrap workingctx.__init__ for repo with topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 11:13:14 +0200] rev 4532
topic: only wrap workingctx.__init__ for repo with topic This helps repository with and without topic to coexist in the same process.
Thu, 18 Apr 2019 11:12:58 +0200 topic: introduce a `hastopicext(repo)` function stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Apr 2019 11:12:58 +0200] rev 4531
topic: introduce a `hastopicext(repo)` function This function check if a repository has the extension enabled or not.
Wed, 17 Apr 2019 00:20:44 +0530 tests: consolidate the public-content-divergent test cases
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 17 Apr 2019 00:20:44 +0530] rev 4530
tests: consolidate the public-content-divergent test cases This commit move the public-content-divergent tests in dedicated test files.
Wed, 17 Apr 2019 12:31:17 +0530 evolve: improve inline documentation for the public divergence resolution
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 17 Apr 2019 12:31:17 +0530] rev 4529
evolve: improve inline documentation for the public divergence resolution
Sun, 14 Apr 2019 20:26:05 +0530 cleanup: remove a duplicated line
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 14 Apr 2019 20:26:05 +0530] rev 4528
cleanup: remove a duplicated line
Wed, 17 Apr 2019 21:39:28 +0200 changelog: mention topic compatibility stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Apr 2019 21:39:28 +0200] rev 4527
changelog: mention topic compatibility
Wed, 17 Apr 2019 20:58:10 +0200 branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Apr 2019 20:58:10 +0200] rev 4526
branching: merge stable back into default
Wed, 17 Apr 2019 20:56:24 +0200 tescompat: revert test change for mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Apr 2019 20:56:24 +0200] rev 4525
tescompat: revert test change for mercurial-4.9 We should still test against mercurial-4.9 expected output.
Wed, 17 Apr 2019 20:54:28 +0200 branching: merge 8.5.0 expected output in stable stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Apr 2019 20:54:28 +0200] rev 4524
branching: merge 8.5.0 expected output in stable Upstream stable is now for mercurial 5.0
Wed, 17 Apr 2019 20:52:15 +0200 testcompat: open a branch dedicated to mercurial 4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Apr 2019 20:52:15 +0200] rev 4523
testcompat: open a branch dedicated to mercurial 4.9 Upstream merged its default branch into the stable one to prepare for Mercurial 5.0
Wed, 17 Apr 2019 18:46:41 +0800 topic: add compatibility for writing copy metadata in changelog.add() stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 17 Apr 2019 18:46:41 +0800] rev 4522
topic: add compatibility for writing copy metadata in changelog.add() As seen in hg 0e41f40b01cc.
Wed, 17 Apr 2019 16:18:22 +0800 serverminitopic: add compatibility for branchcache that now uses self._entries stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 17 Apr 2019 16:18:22 +0800] rev 4521
serverminitopic: add compatibility for branchcache that now uses self._entries A copy of 9b0cde5efbc9.
Fri, 12 Apr 2019 02:21:09 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Apr 2019 02:21:09 +0200] rev 4520
branching: merge stable into default
Fri, 12 Apr 2019 02:20:24 +0200 packaging: mark version as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Apr 2019 02:20:24 +0200] rev 4519
packaging: mark version as development version Thsi help to reduce confusion for people using evolve from source
Fri, 12 Apr 2019 02:17:03 +0200 Added tag 8.5.0 for changeset 33c617626fd9 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Apr 2019 02:17:03 +0200] rev 4518
Added tag 8.5.0 for changeset 33c617626fd9
Fri, 12 Apr 2019 02:15:24 +0200 packaging: prepare version 8.5.0 stable 8.5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Apr 2019 02:15:24 +0200] rev 4517
packaging: prepare version 8.5.0
Thu, 11 Apr 2019 22:44:53 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Apr 2019 22:44:53 +0200] rev 4516
test-compat: merge mercurial-4.5 into mercurial-4.4
Fri, 12 Apr 2019 02:07:53 +0200 branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Apr 2019 02:07:53 +0200] rev 4515
branching: merge stable back into default
Thu, 11 Apr 2019 22:42:14 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Apr 2019 22:42:14 +0200] rev 4514
test-compat: merge mercurial-4.6 into mercurial-4.5
Thu, 11 Apr 2019 22:42:13 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Apr 2019 22:42:13 +0200] rev 4513
test-compat: merge mercurial-4.7 into mercurial-4.6
Thu, 11 Apr 2019 22:41:41 +0200 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Apr 2019 22:41:41 +0200] rev 4512
test-compat: merge mercurial-4.8 into mercurial-4.7
Thu, 11 Apr 2019 22:41:25 +0200 test-compat: merge stable into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Apr 2019 22:41:25 +0200] rev 4511
test-compat: merge stable into mercurial-4.8
Thu, 11 Apr 2019 22:41:06 +0200 changelog: merge 8.4.1 and 8.5.1 entries stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Apr 2019 22:41:06 +0200] rev 4510
changelog: merge 8.4.1 and 8.5.1 entries
Thu, 11 Apr 2019 21:43:37 +0200 branching: merge stable into default stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Apr 2019 21:43:37 +0200] rev 4509
branching: merge stable into default
Thu, 11 Apr 2019 21:12:09 +0200 branching: merge default change into stable stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Apr 2019 21:12:09 +0200] rev 4508
branching: merge default change into stable
Thu, 11 Apr 2019 22:13:55 +0200 branching: merge default branch in stable to prepare 8.5.0 release stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Apr 2019 22:13:55 +0200] rev 4507
branching: merge default branch in stable to prepare 8.5.0 release The release is not fully ready, but the merging is non-trivial.
Tue, 02 Apr 2019 22:42:01 -0400 uncommit: abort if an explicitly given file cannot be uncommitted (BC)
Matt Harbison <matt_harbison@yahoo.com> [Tue, 02 Apr 2019 22:42:01 -0400] rev 4506
uncommit: abort if an explicitly given file cannot be uncommitted (BC) This corresponds to f4147ca63d39 in the core uncommit extension.
Thu, 11 Apr 2019 17:45:36 +0800 evolve: store --update flag state in evolvestate file
Anton Shestakov <av6@dwimlabs.net> [Thu, 11 Apr 2019 17:45:36 +0800] rev 4505
evolve: store --update flag state in evolvestate file Part of 9c522bdfc846 that wasn't yet accepted.
Fri, 12 Apr 2019 02:55:34 +0800 state: implement cmdstate.__contains__()
Anton Shestakov <av6@dwimlabs.net> [Fri, 12 Apr 2019 02:55:34 +0800] rev 4504
state: implement cmdstate.__contains__()
Thu, 11 Apr 2019 21:19:01 +0200 changelog: mention Martin work on phase-divergence
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Apr 2019 21:19:01 +0200] rev 4503
changelog: mention Martin work on phase-divergence
Thu, 11 Apr 2019 21:09:31 +0200 test: revert update from 5.0 record logic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Apr 2019 21:09:31 +0200] rev 4502
test: revert update from 5.0 record logic This revert the test changes from 90f94231db5d.
Thu, 11 Apr 2019 17:42:48 +0800 tests: remove note about already implemented --confirm with --continue
Anton Shestakov <av6@dwimlabs.net> [Thu, 11 Apr 2019 17:42:48 +0800] rev 4501
tests: remove note about already implemented --confirm with --continue 4544067b831b made --confirm work with --continue, but didn't update/remove this comment.
Mon, 11 Mar 2019 23:57:12 -0700 evolve: use merge.update() for resolving phase divergence
Martin von Zweigbergk <martinvonz@google.com> [Mon, 11 Mar 2019 23:57:12 -0700] rev 4500
evolve: use merge.update() for resolving phase divergence Iterating over the manifest when tree manifests and narrowness is in play produces entries for paths outside the narrowspec that represent trees. For example, if the tests/ directory of the hg repo was not in the narrowspec (and the hg repo was using tree manifests, which it doesn't), then there would be a "tests/" entry in the manifest. The merge code deals with some of these cases. For example, it's valid to do a merge if only the local side changes directories outside the narrowspec. That allows rebasing a local commit onto a public commit that had changes to the excluded paths to work. However, _resolvephasedivergent() was iterating of the manifests, which resulted in crashes for some of our users when they tried to resolve phase-divergent commits (actually content-divergent commits that became phase-divergent after the intermediate rebase). We can fix that by relying on merge.update(), since that already handles this case.
Wed, 10 Apr 2019 23:19:29 +0530 evolve: compat patch for recordfilter change in mercurial
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 10 Apr 2019 23:19:29 +0530] rev 4499
evolve: compat patch for recordfilter change in mercurial This patch fix the broken things because of upstream changes in recordfilter() which is being used to select the hunks interactively. It fixes the test-uncommit-interactive.t by adding the compat layer. But for test-split.t I had to fix the tests manually. To make it more clear: splitting broke at evolve side because after that upstream change now interactive mode doesn't prompt "examine change to foo" if foo is mentioned explicitly using cli; and directly jumps to hunks selection prompt (well, only if there is any changes at hunks level) And the main issue is when file which is explicitly mentioned has no changes at hunk level (for e.g copy, rename, mode change, empty new file), because in that case you don't have any control on selection of that file and it would be included automatically in first cycle of interactive selection. And this "no changes at hunks level" was the reason for test-split.t breakage as now it didn't prompt for those files which are passed on cli. To fix this I have included some content in those files to make sure that tests still demonstrate the same behaviour as they were doing before breakage. Also, I replaced some "n" with "s" as it make more sense to skip all the changes to that file in one go instead of hitting "n" multiple times (if there were multiple hunks)
Wed, 10 Apr 2019 21:03:56 +0200 test: add file cancelation scenario for phase-divergence
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 21:03:56 +0200] rev 4498
test: add file cancelation scenario for phase-divergence This improve the test coverage for corner cases.
Wed, 10 Apr 2019 20:43:42 +0200 test: introduce a more complete test for phase-divergence
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 20:43:42 +0200] rev 4497
test: introduce a more complete test for phase-divergence The test the preservation of "change" cancellation in multiple situation.
Wed, 10 Apr 2019 20:24:55 +0200 test: rename test about content divergent meta data
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 20:24:55 +0200] rev 4496
test: rename test about content divergent meta data The test now use a name in line with the other content divergence test cases.
Wed, 10 Apr 2019 20:18:14 +0200 test: cleanup title and doc phase-divergent cases
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 20:18:14 +0200] rev 4495
test: cleanup title and doc phase-divergent cases
Wed, 10 Apr 2019 20:03:07 +0200 test: remove remaining duplicated file
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 20:03:07 +0200] rev 4494
test: remove remaining duplicated file This file should have been removed in d02a7c8cdee5.
Wed, 10 Apr 2019 17:57:11 +0200 test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 17:57:11 +0200] rev 4493
test: add test for content-divergence with file removal File addition/removal tends to introduce corner case. The actual test content comes from a Martin von Zweigbergk changesets.
Wed, 10 Apr 2019 17:29:40 +0200 test: clarify changeset concent in the first content-divergence test
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 17:29:40 +0200] rev 4492
test: clarify changeset concent in the first content-divergence test
Wed, 10 Apr 2019 16:59:58 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 16:59:58 +0200] rev 4491
branching: merge with stable merge with new changeset on stable.
Wed, 10 Apr 2019 16:59:28 +0200 branching: merge with test consolidation
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 16:59:28 +0200] rev 4490
branching: merge with test consolidation Conflict were simple once isolated.
Wed, 10 Apr 2019 16:40:58 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 16:40:58 +0200] rev 4489
branching: merge with stable This merge happens before the large test consolidation on stable.
Sun, 07 Apr 2019 20:00:16 +0200 compat: drop getcachevfs, repo.cachevfs is supported in hg 4.4
Joerg Sonnenberger <joerg@bec.de> [Sun, 07 Apr 2019 20:00:16 +0200] rev 4488
compat: drop getcachevfs, repo.cachevfs is supported in hg 4.4
Sun, 07 Apr 2019 19:53:53 +0200 evolve: when using evolve, cache files belong into the master repo
Joerg Sonnenberger <joerg@bec.de> [Sun, 07 Apr 2019 19:53:53 +0200] rev 4487
evolve: when using evolve, cache files belong into the master repo
Wed, 10 Apr 2019 16:11:59 +0200 changelog: mention issue6089 fix stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 16:11:59 +0200] rev 4486
changelog: mention issue6089 fix
Sat, 23 Feb 2019 15:17:55 +0100 pick: update working dir branch (issue6089) stable
Manuel Jacob <me@manueljacob.de> [Sat, 23 Feb 2019 15:17:55 +0100] rev 4485
pick: update working dir branch (issue6089) Previously the working copy was left in an "inconsistent" state.
Wed, 10 Apr 2019 15:47:28 +0200 tests: rename test-grab to test-pick stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 15:47:28 +0200] rev 4484
tests: rename test-grab to test-pick This match the new command name.
Wed, 10 Apr 2019 15:37:29 +0200 evolve: make sure div resolution don't replace the initial author (issue6113) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 10 Apr 2019 15:37:29 +0200] rev 4483
evolve: make sure div resolution don't replace the initial author (issue6113) Before this patch, divergence resolution logic taking the current user who is running the resolution command as the author of commit that will be created after merging the two divergent csets. This patch make sure that we preserve the initial author. Changes in test file reflect the fixed behaviour.
Wed, 10 Apr 2019 15:26:41 +0200 evolve: add test which demonstrate issue6113 stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 10 Apr 2019 15:26:41 +0200] rev 4482
evolve: add test which demonstrate issue6113 This patch introducing a new test file which contains the test for issue6113 which is `test-evolve-content-divergent-distributed.t`. This test file is supposed to contain tests for distributed workflows. Next patch will fix the bug.
Wed, 10 Apr 2019 14:32:00 +0200 test: consolidate the content-divergent test cases stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 14:32:00 +0200] rev 4481
test: consolidate the content-divergent test cases This commit move most of the content divergent related test in dedicated and thematic test files.
Tue, 09 Apr 2019 21:16:49 +0200 changelog: mention the fix to issue6057 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 09 Apr 2019 21:16:49 +0200] rev 4480
changelog: mention the fix to issue6057
Tue, 09 Apr 2019 20:45:36 +0200 extensions: avoid enabling evolve for unrelated repositories (issue6057) stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 09 Apr 2019 20:45:36 +0200] rev 4479
extensions: avoid enabling evolve for unrelated repositories (issue6057) The support for the `experimental.evolve` config have been there forever. So we can stop using the global variable. This help avoiding evolve to enable itself of repository that did not explicitly activated it. For example, this is useful for hgwebdir. Before this change, evolution feature had to be explicitly disabled or enabled in every single repository.
Sat, 06 Apr 2019 15:50:15 +0200 stack: improve set combination logic
Anton Shestakov <av6@dwimlabs.net> [Sat, 06 Apr 2019 15:50:15 +0200] rev 4478
stack: improve set combination logic
Sat, 06 Apr 2019 15:49:22 +0200 stack: fix phasecache._phasesets check logic
Anton Shestakov <av6@dwimlabs.net> [Sat, 06 Apr 2019 15:49:22 +0200] rev 4477
stack: fix phasecache._phasesets check logic When _phasesets is not None, it's a list, and it contains set()s of revisions in a specific phase, starting from public, draft, secret and so on. But since repos are supposed to have the majority of revisions in public phase, the first element of this list is not a (potentially huge) set, but None. Previously this code tried to check if there's any element that is None, and was always finding None at index 0, so the short path was executed every time and the rest of the function was never used.
Tue, 02 Apr 2019 12:41:57 +0530 evolve: remove todo markers from a test which has been fixed
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 02 Apr 2019 12:41:57 +0530] rev 4476
evolve: remove todo markers from a test which has been fixed
Fri, 05 Apr 2019 22:28:07 +0200 next: clarify tests related to `commands.update.check` test
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Apr 2019 22:28:07 +0200] rev 4475
next: clarify tests related to `commands.update.check` test This clarify the test and help understand the next changeset.
Wed, 03 Apr 2019 17:20:34 +0800 stack: simplify phasecache checks in _stackcandidates()
Anton Shestakov <av6@dwimlabs.net> [Wed, 03 Apr 2019 17:20:34 +0800] rev 4474
stack: simplify phasecache checks in _stackcandidates()
Fri, 05 Apr 2019 17:45:59 +0200 evolve: fix divergence resolution when not merging a descendant
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Apr 2019 17:45:59 +0200] rev 4473
evolve: fix divergence resolution when not merging a descendant In divergence resolution, when we merge other cset with divergent one we pass a `mergeancestor` arg to merge.update() and before this patch we were passing `mergeancestor` as True in every case. But it should be True only when we are merging a descendant onto an ancestor. When mergeancestor is True it does two things: 1) allows the merge if the destination is the same as the parent of the ctx (so we can use graft to copy commits) 2) informs update that the incoming changes are newer than the destination so it doesn't prompt about "remote changed foo which local deleted". So this patch change it to pass `mergeancestor` as True only when it is required. And changes in test file shows that it wasn't prompting either in those cases when it should (acc. to 2nd point) Test written by Pierre-Yves David, based the one updated in 5dbaabfe2c59.
Fri, 29 Mar 2019 15:15:07 +0100 test: fix a phase divergence test case to actually not contains conflict
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 29 Mar 2019 15:15:07 +0100] rev 4472
test: fix a phase divergence test case to actually not contains conflict The previous test case had a conflict, but that conflict is currently not raise by phase divergence resolution. This is an independent bug to solve.
Fri, 05 Apr 2019 16:31:45 +0200 tests: use current instability names everywhere
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Apr 2019 16:31:45 +0200] rev 4471
tests: use current instability names everywhere
Thu, 04 Apr 2019 12:24:28 +0200 test: apply unstability resolution to `test-unstability-resolution-result.t`
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 04 Apr 2019 12:24:28 +0200] rev 4470
test: apply unstability resolution to `test-unstability-resolution-result.t` The test cases in this file probably deserved to be dispatched in other more thematic test file.
Thu, 04 Apr 2019 12:06:33 +0200 test: rename and clarify content of test-unstable-content-divergent.t
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 04 Apr 2019 12:06:33 +0200] rev 4469
test: rename and clarify content of test-unstable-content-divergent.t The troubles → instabilities renaming was not applied here.
Thu, 04 Apr 2019 11:53:05 +0200 test: rename and clarify content of test-unstable-orphan.t
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 04 Apr 2019 11:53:05 +0200] rev 4468
test: rename and clarify content of test-unstable-orphan.t The troubles → instabilities renaming was not applied here.
Wed, 03 Apr 2019 01:00:33 +0530 evolve: refactor the code which swap two nodes (in divergence resolution)
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 03 Apr 2019 01:00:33 +0530] rev 4467
evolve: refactor the code which swap two nodes (in divergence resolution) I see that we are using the code to swap the "divergent" and "other" node; and updating the evolvestate accordingly at many places in divergence resolution. This patch extract that code to a function. Although I don't have strong opinion on this patch. It's a volunteered patch to remove some redundancy.
Tue, 02 Apr 2019 18:01:43 +0530 evolve: remove tmpctx arg from _resolvephasedivergent()
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 02 Apr 2019 18:01:43 +0530] rev 4466
evolve: remove tmpctx arg from _resolvephasedivergent() Before this patch, in _resolvephasedivergent() function we were passing an optional argument "tmpctx" which was used to store a rebased version of bumped if required. But for sake of simplicity we can achieve the same results even without passing this "tmpctx" into that function. No changes in test files demonstrate that this patch don't break anything.
Fri, 29 Mar 2019 11:48:36 +0100 doc: clarify _resolvephasedivergent role and constraint
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 29 Mar 2019 11:48:36 +0100] rev 4465
doc: clarify _resolvephasedivergent role and constraint Small documentation patch before larger changes.
Tue, 02 Apr 2019 20:32:15 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 02 Apr 2019 20:32:15 +0200] rev 4464
branching: merge with stable
Wed, 13 Feb 2019 21:39:10 +0800 evolve: unindent some lines caught by flake8 stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 21:39:10 +0800] rev 4463
evolve: unindent some lines caught by flake8 The message was: "E117 over-indented".
Wed, 13 Feb 2019 21:56:29 +0800 obsexchange: avoid importing io/StringIO module with a different name stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 21:56:29 +0800] rev 4462
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 stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 21:56:05 +0800] rev 4461
evolve: remove unused StringIO import
Fri, 22 Mar 2019 09:45:07 -0700 compat: add support for new arg name in memfilectx.__init__ stable
Martin von Zweigbergk <martinvonz@google.com> [Fri, 22 Mar 2019 09:45:07 -0700] rev 4460
compat: add support for new arg name in memfilectx.__init__ This makes us compatible with 550a172a603b (memctx: rename constructor argument "copied" to "copysource" (API), 2019-03-19).
Wed, 21 Nov 2018 12:00:46 +0000 topic: make topics compatible with branchmap refactor stable
Martijn Pieters <mj@octobus.net> [Wed, 21 Nov 2018 12:00:46 +0000] rev 4459
topic: make topics compatible with branchmap refactor See https://phab.mercurial-scm.org/D5290
Fri, 29 Mar 2019 11:19:24 +0100 evolve: compat patch to fix broken evolve obsdiscovery
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 29 Mar 2019 11:19:24 +0100] rev 4458
evolve: compat patch to fix broken evolve obsdiscovery This patch preserve the compatibility for the changes upstreamed by e5ece0f46b40 in hg-committed.
Thu, 28 Mar 2019 15:05:57 -0700 tests: add obslog output to some tests for divergence resolution
Martin von Zweigbergk <martinvonz@google.com> [Thu, 28 Mar 2019 15:05:57 -0700] rev 4457
tests: add obslog output to some tests for divergence resolution As suggested by Boris Feld.
Thu, 28 Mar 2019 14:54:46 -0700 tests: add tests for divergence resolution with split+amend
Martin von Zweigbergk <martinvonz@google.com> [Thu, 28 Mar 2019 14:54:46 -0700] rev 4456
tests: add tests for divergence resolution with split+amend As suggested by Boris Feld. G: changed tests/test-evolve-phase-divergence.t
Tue, 26 Mar 2019 12:53:50 +0100 test: use 'split' instead of 'splitted' in the tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Mar 2019 12:53:50 +0100] rev 4455
test: use 'split' instead of 'splitted' in the tests
Tue, 26 Mar 2019 12:30:10 +0100 evolve: drop the "computing new diff message" for phase-divergence
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Mar 2019 12:30:10 +0100] rev 4454
evolve: drop the "computing new diff message" for phase-divergence Future code update will remove this message, dropping it early clarify the future diff.
Wed, 20 Mar 2019 09:19:02 -0700 evolve: clarify output when phase-divergence resolution results in no change
Martin von Zweigbergk <martinvonz@google.com> [Wed, 20 Mar 2019 09:19:02 -0700] rev 4453
evolve: clarify output when phase-divergence resolution results in no change I found it pretty confusing that it said "committed as abcd1234" when no commit was created.
Tue, 12 Mar 2019 09:44:05 -0700 tests: reduce dependence on previous tests for setup
Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Mar 2019 09:44:05 -0700] rev 4452
tests: reduce dependence on previous tests for setup The tests in test-evolve-phase-divergence.t built on each other for no good reason, which makes the tests hard to modify and hard to read. This patch cleans up some of them. We should clean up the rest too, but the rest won't matter for my next patch, so I haven't bothered.
Thu, 28 Mar 2019 12:37:55 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Mar 2019 12:37:55 +0100] rev 4451
branching: merge with stable
Wed, 27 Mar 2019 20:52:30 +0800 topicmap: add compatibility for branchcache that now uses self._entries stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 27 Mar 2019 20:52:30 +0800] rev 4450
topicmap: add compatibility for branchcache that now uses self._entries
Wed, 27 Mar 2019 14:29:22 +0530 evolve: fix over-idented block stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 27 Mar 2019 14:29:22 +0530] rev 4449
evolve: fix over-idented block
Tue, 12 Mar 2019 09:48:05 -0700 tests: create "private" repository in already-updated state
Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Mar 2019 09:48:05 -0700] rev 4448
tests: create "private" repository in already-updated state I'm going to add more copies of the repo and it's easier to work with the repo if it's already been updated.
Tue, 26 Mar 2019 11:23:09 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Mar 2019 11:23:09 +0100] rev 4447
branching: merge with stable
Mon, 25 Mar 2019 15:45:11 -0700 touch: use action "touch", not "<function touch at ...>", in precheck stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 25 Mar 2019 15:45:11 -0700] rev 4446
touch: use action "touch", not "<function touch at ...>", in precheck I just got this message: abort: cannot <function touch at 0x7fde174b69b0> public changesets: f177c51ae98f It has been this way since 1b7b9acda2a9 (touch: use precheck to validate revision, 2017-07-23).
Mon, 25 Mar 2019 15:44:44 -0700 prune: use action "prune", not "touch", in precheck stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 25 Mar 2019 15:44:44 -0700] rev 4445
prune: use action "prune", not "touch", in precheck We have been using "touch" since 06ee4ec88190 (prune: use precheck to validate revision, 2017-07-23). That commit modified the tests, so it kind seemed intentional, but I suspect it was still just an oversight.
Sun, 24 Mar 2019 21:30:12 +0530 evolve: test a common case of public divergence
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 24 Mar 2019 21:30:12 +0530] rev 4444
evolve: test a common case of public divergence evolve: in pubdiv, handle the case when public branch is behind the mutable In public divergence, when public branch is behind the mutable one the behaviour that this patch added is that we relocate the draft one to public side. This should be fine in most case, but might be an issue in some other (eg, when the draft side of the divergence is rebase away from ancestors it relies on.) Test written by Pierre-Yves David <pierre-yves.david@octobus.net>
Sun, 24 Mar 2019 21:29:44 +0530 evolve: add condition in case of pubdiv to not swap the two div csets
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 24 Mar 2019 21:29:44 +0530] rev 4443
evolve: add condition in case of pubdiv to not swap the two div csets In public divergence, we have pinned the public cset to the local side when merge is performed. And in divergence resolution implementation divergent cset is the one who is kept at the local side, so to say this in one line: we have pinned public cset to the divergent side. However, in some cases we need to swap the "divergent" and "other" but we can't swap them in case of public divergence as thought would cause an error because of not being able to relocate public cset.
Sat, 23 Mar 2019 02:10:31 +0530 evolve: add logic to handle a particular case in divergence resolution
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 23 Mar 2019 02:10:31 +0530] rev 4442
evolve: add logic to handle a particular case in divergence resolution Case is: In content divergence, to check if the two csets are on different parent or same parent what we do is find gca of the two csets and then compare it with the singlesuccessors of two csets's parents. Now, if gca is same as singlesuccessors of both the csets then we conclude that both are on the same parent which is not totally correct as it is possible that both the parents of two csets are obsolete with a single successor. This patch adds the logic to cover the above metioned case correctly, deciding the part when we need to relocate a cset to other side while resolving the stack of divergent csets. Changes in test file demonstrate that before this patch we were not doing it right because it should have relocated every node to other side instead of just relocating the first one from the stack.
Fri, 22 Mar 2019 00:16:44 +0530 evolve: add a test reflecting wrong behaviour of content-div resolution
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 22 Mar 2019 00:16:44 +0530] rev 4441
evolve: add a test reflecting wrong behaviour of content-div resolution This patch shows that currently the case when stack of divergent csets have different parents is not handled correctly. For a stack of csets which has different parent, right behaviour is to relocate every node before performing merge but present implementation only relocate first cset in the stack and skip relocation for the rest of csets, this is not what we expect it to do. Next patch will be about fixing this issue.
Fri, 22 Mar 2019 09:45:07 -0700 compat: add support for new arg name in memfilectx.__init__
Martin von Zweigbergk <martinvonz@google.com> [Fri, 22 Mar 2019 09:45:07 -0700] rev 4440
compat: add support for new arg name in memfilectx.__init__ This makes us compatible with 550a172a603b (memctx: rename constructor argument "copied" to "copysource" (API), 2019-03-19).
Wed, 13 Mar 2019 17:32:14 +0530 evolve: preserve compatibility for hg < 4.8 versions
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 13 Mar 2019 17:32:14 +0530] rev 4439
evolve: preserve compatibility for hg < 4.8 versions This patch make sure evolve don't break if user using a version of hg before this 7694b685bb10 patch on hg-committed.
Sat, 09 Mar 2019 19:25:34 +0530 evolve: warn user if cset desc is being lost
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 09 Mar 2019 19:25:34 +0530] rev 4438
evolve: warn user if cset desc is being lost In public divergence when merging results in same as public cset, we only create markers to solve the divergence i.e. [(public, (other,))] In this case if other cset had a desc which was different from public that will be lost. So this print out a warning message to user that desc of non-public cset is being lost. Changes in test files reflect the added behaviour.
Sun, 10 Mar 2019 18:00:08 +0100 changelog: mention latest improvement
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Mar 2019 18:00:08 +0100] rev 4437
changelog: mention latest improvement
Sun, 10 Mar 2019 18:50:00 +0800 stack: make @ (current) more important than $ (some sort of unstable)
Anton Shestakov <av6@dwimlabs.net> [Sun, 10 Mar 2019 18:50:00 +0800] rev 4436
stack: make @ (current) more important than $ (some sort of unstable) Base is still ^ even if it's currently checked out.
Sat, 09 Mar 2019 13:13:53 +0800 stack: show content and phase divergent state and symbol
Anton Shestakov <av6@dwimlabs.net> [Sat, 09 Mar 2019 13:13:53 +0800] rev 4435
stack: show content and phase divergent state and symbol Replacing ' ' with '-' is just for color labels.
Sat, 09 Mar 2019 12:54:00 +0800 stack: handle external-children just like other states
Anton Shestakov <av6@dwimlabs.net> [Sat, 09 Mar 2019 12:54:00 +0800] rev 4434
stack: handle external-children just like other states This also fixes color labels: previously when external-children was combined with another state, --color=debug would show something like: [topic.stack.index topic.stack.index.current - external-children|s4] Now there is a separate label for each state.
Thu, 07 Mar 2019 22:50:56 +0800 stack: optimize revset used for stack --children
Anton Shestakov <av6@dwimlabs.net> [Thu, 07 Mar 2019 22:50:56 +0800] rev 4433
stack: optimize revset used for stack --children Since that option needs to exclude changesets on the current stack, let's just use stack.revs (that are cached) for that and skip branch() or topic() revset. st.revs[0] is the stack base, we don't consider it actual part of stack.
Thu, 07 Mar 2019 19:13:45 +0800 stack: rename unstable -> orphan
Anton Shestakov <av6@dwimlabs.net> [Thu, 07 Mar 2019 19:13:45 +0800] rev 4432
stack: rename unstable -> orphan That's the only instability stack can currently show, but it's about to show more and showing "unstable" for one type of instability just isn't good.
Wed, 06 Mar 2019 21:47:08 +0800 evolvecmd: compatibility with older geteffectflag() that took a tuple
Anton Shestakov <av6@dwimlabs.net> [Wed, 06 Mar 2019 21:47:08 +0800] rev 4431
evolvecmd: compatibility with older geteffectflag() that took a tuple Before bae6f1418a95 the function took a tuple of 2 arguments instead of these 2 arguments directly.
Wed, 06 Mar 2019 21:42:32 +0800 obshistory: remove unused geteffectflag(), it's been in core since 4.4
Anton Shestakov <av6@dwimlabs.net> [Wed, 06 Mar 2019 21:42:32 +0800] rev 4430
obshistory: remove unused geteffectflag(), it's been in core since 4.4
Wed, 06 Mar 2019 16:56:25 +0800 compat: remove old vocabulary change fallbacks
Anton Shestakov <av6@dwimlabs.net> [Wed, 06 Mar 2019 16:56:25 +0800] rev 4429
compat: remove old vocabulary change fallbacks Mercurial 4.4 (minimal hg version evolve currently supports) already uses the new names and in fact has deprecation warnings saying that 4.4 is the last version of Mercurial to support the old names.
Thu, 07 Mar 2019 10:51:48 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 07 Mar 2019 10:51:48 +0100] rev 4428
branching: merge with stable
Thu, 07 Mar 2019 01:57:43 +0530 evolve: fix a typo from directory to dirty stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 07 Mar 2019 01:57:43 +0530] rev 4427
evolve: fix a typo from directory to dirty
Thu, 07 Mar 2019 01:47:14 +0530 evolve: fix the dirstate after setting parents with dirty wdir (issue5930) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 07 Mar 2019 01:47:14 +0530] rev 4426
evolve: fix the dirstate after setting parents with dirty wdir (issue5930) Before this patch, during an interrupted evolve it can be confused about copies. This patch fix the dirstate when parents are changed using dirstate.setparents() with a dirty wdir. Changes in test file reflect the fixed behaviour.
Thu, 07 Mar 2019 01:02:05 +0530 evolve: add tests which shows evolve can get confused about copies (issue5930) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 07 Mar 2019 01:02:05 +0530] rev 4425
evolve: add tests which shows evolve can get confused about copies (issue5930) This test demonstrate that an interrupted evolve can get confused about copies. Next patch will fix this.
Tue, 05 Mar 2019 21:15:05 +0530 test: include some documentation to describe the case briefly stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 05 Mar 2019 21:15:05 +0530] rev 4424
test: include some documentation to describe the case briefly
Tue, 05 Mar 2019 20:07:23 +0530 split: use ui.configoverride to preserve phase while commiting stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 05 Mar 2019 20:07:23 +0530] rev 4423
split: use ui.configoverride to preserve phase while commiting As we need to preserve the phase of revision which is going to be splitted into multiple revision. This patch use ui.configoverrides to temporarily overwrite the phases.new-commit config option at the time of committing a new node.
Mon, 04 Mar 2019 12:30:15 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 04 Mar 2019 12:30:15 +0100] rev 4422
branching: merge with stable
Mon, 04 Mar 2019 11:54:49 +0100 changelog: add entries for the recent fixes stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 04 Mar 2019 11:54:49 +0100] rev 4421
changelog: add entries for the recent fixes
Mon, 04 Mar 2019 03:16:51 +0530 evolve: make sure user can recover from conflict (issue6053) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 04 Mar 2019 03:16:51 +0530] rev 4420
evolve: make sure user can recover from conflict (issue6053) we make sure while continuing interrupted evolve it reach to right code This patch fix the issue6053 which is about falling evolve into unrecoverable state and this is how it call fall into it: If after some rewrite operations we reach to a point where resparent for two content divergent csets is obsolete and we hit a conflict in relocation, so now if you run `hg evolve --continue` after resolving the conflict: code execution would check if wdir parent is obsolete and run solveobswdp() rather than going to continueevolve() part and there we will hit by a "abort: outstanding uncommitted merge" And same for `--abort` or `--stop` flags. Changes in tests reflect the fixed behaviour.
Mon, 04 Mar 2019 02:55:38 +0530 evolve: add test which shows unrecoverable evolve state (issue6053) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 04 Mar 2019 02:55:38 +0530] rev 4419
evolve: add test which shows unrecoverable evolve state (issue6053)
Sat, 02 Mar 2019 02:34:29 +0530 evolve: add a test in pubdiv where only merging leads to conflict
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 02 Mar 2019 02:34:29 +0530] rev 4418
evolve: add a test in pubdiv where only merging leads to conflict Added a test in public divergence where both the cset are on the different parent and no conflict in relocation but in merging.
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.
Sun, 03 Feb 2019 12:04:50 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 03 Feb 2019 12:04:50 +0100] rev 4389
branching: merge with stable
Thu, 31 Jan 2019 15:38:48 +0530 compat: pass contexts to _findlimit() (issue6066) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 31 Jan 2019 15:38:48 +0530] rev 4388
compat: pass contexts to _findlimit() (issue6066) Now _findlimit() in copies module accept context instead of rev number. See https://phab.mercurial-scm.org/D5595
Sun, 03 Feb 2019 08:10:48 +0100 packaging: fix debian changelog stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 03 Feb 2019 08:10:48 +0100] rev 4387
packaging: fix debian changelog
Wed, 30 Jan 2019 04:45:40 +0100 changelog: add relevant entries
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Jan 2019 04:45:40 +0100] rev 4386
changelog: add relevant entries
Tue, 22 Jan 2019 18:40:10 +0530 evolve: add test for the case where public divergence on difference parents
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 22 Jan 2019 18:40:10 +0530] rev 4385
evolve: add test for the case where public divergence on difference parents This test make sure that public divergence resolution also handle the case when divergentes changeset does not share the same parent at one end because one end simply rebase. The other side has actual an actual diff change. For now this would work only for the case when we need to relocate the mutable one. Other case is still left to work on.
Mon, 21 Jan 2019 23:06:10 +0530 evolve: update the public divergence resolution logic to cover --continue case
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 21 Jan 2019 23:06:10 +0530] rev 4384
evolve: update the public divergence resolution logic to cover --continue case To continue the interrupted evolve in case of public divergence: we will have to store the node of that public cset which was in content divergence with the other cset, so that we can perform the phase divergence resolution between that public cset and a newnode which is the result of content-divergence resolution. Added tests reflect the behaviour this patch adds.
Mon, 21 Jan 2019 23:06:34 +0530 evolve: add logic to resolve content-divergence with a public cset
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 21 Jan 2019 23:06:34 +0530] rev 4383
evolve: add logic to resolve content-divergence with a public cset Public content-divergence is the divergence where a cset is content-divergent with a public cset. To solve public divergence: 1) perform content-divergent resolution 2) resultant node is phase divergent 3) perform phase divergence resolution It is the intial logic to solve public divergence. Next patches will be the covering the cases of: 1) relocation: when we need to relocate to node 2) continue: to add this resolution in case of --continue 3) the case when content-divergence resolution gives a result similar to public cset. Added test-evolve-public-content-divergent.t reflect the added behaviour.
Sun, 13 Jan 2019 19:33:19 +0530 evolve: introduce function to create a obsmarker relation even for public cset
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 13 Jan 2019 19:33:19 +0530] rev 4382
evolve: introduce function to create a obsmarker relation even for public cset To create obsmarkers we use obsolete.createmarkers() function, but because of security reasons this function refuses to create obsmarkers for public cset. And we need to create obsmarkers for a public cset while solving public content divergence. So introducing this function which create a obsmarker relation even for immutable cset. Currently this function create obsmarker for a single relation, in contrast of obsolete.createmarkers() which create markers for multiple relations. Upcoming pathces will be using this function.
Tue, 29 Jan 2019 20:45:14 +0800 topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net> [Tue, 29 Jan 2019 20:45:14 +0800] rev 4381
topic: make ranges work in revset relations like 'foo#stack[1:2]'
Mon, 28 Jan 2019 22:31:31 +0800 topic: simplify #stack index check/access
Anton Shestakov <av6@dwimlabs.net> [Mon, 28 Jan 2019 22:31:31 +0800] rev 4380
topic: simplify #stack index check/access Also using stack.revs instead of list(stack). It's equivalent and stack.revs is @propertycache'd.
Sun, 27 Jan 2019 17:39:09 +0800 topic: make ranges work in revset relations like 'foo#topic[1:2]'
Anton Shestakov <av6@dwimlabs.net> [Sun, 27 Jan 2019 17:39:09 +0800] rev 4379
topic: make ranges work in revset relations like 'foo#topic[1:2]' Since #topic is very similar to #generations, we reuse the function directly. Few tests because #generations is already tested in core.
Fri, 25 Jan 2019 16:51:36 +0530 evolve: add description of function solveobswdp
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 25 Jan 2019 16:51:36 +0530] rev 4378
evolve: add description of function solveobswdp
Wed, 23 Jan 2019 12:11:36 -0800 evolve: document the "if not shouldupdate" block
Martin von Zweigbergk <martinvonz@google.com> [Wed, 23 Jan 2019 12:11:36 -0800] rev 4377
evolve: document the "if not shouldupdate" block I missed the "not" in "if not shouldupdate: ... hg.updaterepo()" and it took a long time for me to realize it's about updating *back* to the original commit (or to its successor). Let's add a comment to maybe help the person not make the same mistake.
Wed, 23 Jan 2019 11:55:20 -0800 evolve: make "startnode" consistently be a node, not a context
Martin von Zweigbergk <martinvonz@google.com> [Wed, 23 Jan 2019 11:55:20 -0800] rev 4376
evolve: make "startnode" consistently be a node, not a context This fixes a bug where we didn't print "working directory is not at ..." after `hg evolve --continue` because we were comparing a node and a context.
Tue, 22 Jan 2019 22:36:29 -0800 evolve: use context managers for locks and transaction
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Jan 2019 22:36:29 -0800] rev 4375
evolve: use context managers for locks and transaction
Tue, 22 Jan 2019 10:17:58 -0800 prune: use scmutil.cleanupnodes()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Jan 2019 10:17:58 -0800] rev 4374
prune: use scmutil.cleanupnodes()
Tue, 22 Jan 2019 10:45:16 -0800 uncommit: use scmtutil.cleanupnodes()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Jan 2019 10:45:16 -0800] rev 4373
uncommit: use scmtutil.cleanupnodes()
Tue, 22 Jan 2019 10:33:02 -0800 amend: use scmutil.cleanupnodes() with --patch
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Jan 2019 10:33:02 -0800] rev 4372
amend: use scmutil.cleanupnodes() with --patch
Tue, 22 Jan 2019 10:32:44 -0800 pick: use scmutil.cleanupnodes()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Jan 2019 10:32:44 -0800] rev 4371
pick: use scmutil.cleanupnodes() A side-effect is that `pick` should now also move bookmarks.
Tue, 22 Jan 2019 09:45:25 -0800 fold: use scmutil.cleanupnodes()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Jan 2019 09:45:25 -0800] rev 4370
fold: use scmutil.cleanupnodes() scmutil.cleanupnodes() has existed since 4.3 and had the metadata argument since 4.4, so we can now safely depend on it.
Sat, 26 Jan 2019 23:58:18 +0800 revset: subscriptrelations functions now have two bounds
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Jan 2019 23:58:18 +0800] rev 4369
revset: subscriptrelations functions now have two bounds
Wed, 23 Jan 2019 15:49:44 -0500 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Jan 2019 15:49:44 -0500] rev 4368
branching: merge with stable A new version has been released
Wed, 23 Jan 2019 15:48:44 -0500 packaging: mark as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Jan 2019 15:48:44 -0500] rev 4367
packaging: mark as development version
Wed, 23 Jan 2019 15:46:38 -0500 Added tag 8.4.0 for changeset 8c4289d0e91e stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Jan 2019 15:46:38 -0500] rev 4366
Added tag 8.4.0 for changeset 8c4289d0e91e
Tue, 22 Jan 2019 20:25:36 -0500 packaging: prepare release 8.4.0 stable 8.4.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 20:25:36 -0500] rev 4365
packaging: prepare release 8.4.0
Wed, 23 Jan 2019 09:05:12 -0500 minitopic: add warning about extensions state and testing stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Jan 2019 09:05:12 -0500] rev 4364
minitopic: add warning about extensions state and testing
Tue, 22 Jan 2019 12:57:25 -0500 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 12:57:25 -0500] rev 4363
test-compat: merge mercurial-4.5 into mercurial-4.4
Tue, 22 Jan 2019 12:55:09 -0500 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 12:55:09 -0500] rev 4362
test-compat: merge mercurial-4.6 into mercurial-4.5
Tue, 22 Jan 2019 12:59:33 -0500 branching: closing test-compat branch for mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 12:59:33 -0500] rev 4361
branching: closing test-compat branch for mercurial-4.3 We are dropping support for this version.
Tue, 22 Jan 2019 12:54:44 -0500 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 12:54:44 -0500] rev 4360
test-compat: merge mercurial-4.7 into mercurial-4.6
Tue, 22 Jan 2019 12:54:43 -0500 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 12:54:43 -0500] rev 4359
test-compat: merge mercurial-4.8 into mercurial-4.7
Tue, 22 Jan 2019 12:54:41 -0500 test-compat: merge stable into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 12:54:41 -0500] rev 4358
test-compat: merge stable into mercurial-4.8
Tue, 22 Jan 2019 12:50:54 -0500 changelog: explicit the part related to topic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 12:50:54 -0500] rev 4357
changelog: explicit the part related to topic
Tue, 22 Jan 2019 10:46:02 -0500 branching: merge with future version mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 10:46:02 -0500] rev 4356
branching: merge with future version
Tue, 22 Jan 2019 10:43:44 -0500 branching: start branch for test compat with Mercurial 4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 10:43:44 -0500] rev 4355
branching: start branch for test compat with Mercurial 4.8
Tue, 22 Jan 2019 10:45:09 -0500 test-compat: reverse test change from 9bce7e6c18b3 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 10:45:09 -0500] rev 4354
test-compat: reverse test change from 9bce7e6c18b3 This change are 4.9 only
Tue, 22 Jan 2019 10:44:49 -0500 test-compat: reverse test change from db87432df8de mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 10:44:49 -0500] rev 4353
test-compat: reverse test change from db87432df8de This change are 4.9 only
Tue, 22 Jan 2019 10:44:33 -0500 test-compat: reverse test change from ac39cfb5bddd mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 10:44:33 -0500] rev 4352
test-compat: reverse test change from ac39cfb5bddd This change are 4.9 only
Tue, 22 Jan 2019 10:41:53 -0500 branching: merge stable into default prior to new version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 10:41:53 -0500] rev 4351
branching: merge stable into default prior to new version
Sat, 19 Jan 2019 21:41:15 +0100 branching: merge wit stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 19 Jan 2019 21:41:15 +0100] rev 4350
branching: merge wit stable
Thu, 17 Jan 2019 12:37:40 +0100 obsdiscovery: use consistent filtering during discovery
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 17 Jan 2019 12:37:40 +0100] rev 4349
obsdiscovery: use consistent filtering during discovery If we computed revision using an unfiltered repository, we should run the discovery unfiltered too.
Fri, 18 Jan 2019 23:09:44 +0530 evolve: make sure we don't stop after evolution of obsparent (issue5881)
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 18 Jan 2019 23:09:44 +0530] rev 4348
evolve: make sure we don't stop after evolution of obsparent (issue5881) Before this patch, we were not handling the case when revset given by user also contain wdir parent which is obsolete. We were explicitly checking if wdir parent is obsolete, then update to its successor and return; without checking if we still have some revisions to be evolved. This patch make sure that after it update to the successor of obsolete parent it doesn't stop and continue to evolve other remaining revisions. Changes in tests/test-evolve-issue5881.t reflect the fixed behaviour.
Fri, 18 Jan 2019 23:08:43 +0530 evolve: extract "update" code into its own function
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 18 Jan 2019 23:08:43 +0530] rev 4347
evolve: extract "update" code into its own function This patch moves the code to a function which handles the case when wdir parent is obsolete and evolve will just update to its successor. And extraction of this to a function will also help us to fix the issue5881.
Tue, 25 Dec 2018 16:08:05 +0530 evolve: add test case for issue 5881
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 25 Dec 2018 16:08:05 +0530] rev 4346
evolve: add test case for issue 5881
Fri, 18 Jan 2019 13:54:30 +0530 evolve: add test which shows fixed behaviour of `hg evolve` (issue5686)
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 18 Jan 2019 13:54:30 +0530] rev 4345
evolve: add test which shows fixed behaviour of `hg evolve` (issue5686)
Tue, 25 Dec 2018 14:35:54 +0530 evolve: cover the orphanmerge part missed by lastsolved
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 25 Dec 2018 14:35:54 +0530] rev 4344
evolve: cover the orphanmerge part missed by lastsolved Let's cover the orphanmerge part also as it was missed at the time when we introduced "lastsolved". Chagnes in test-evolve.t reflect the fixed behaviour.
Thu, 17 Jan 2019 16:20:35 +0530 evolve: add test which shows orphan-merge resolution can result to crash
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 17 Jan 2019 16:20:35 +0530] rev 4343
evolve: add test which shows orphan-merge resolution can result to crash It happens when there are still some revisions to evolve after evoluiton of a orphan-merge. And the reason behind crash is that `lastsolved` is not being updated and contain a wrong value which is now hidden. Next patch will fix this problem.
Tue, 25 Dec 2018 10:10:12 +0530 next: populate stacktemplate to the missed _nextevolve function
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 25 Dec 2018 10:10:12 +0530] rev 4342
next: populate stacktemplate to the missed _nextevolve function
Mon, 14 Jan 2019 09:14:38 -0800 evolve: adapt for deprecated ui.progress()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 14 Jan 2019 09:14:38 -0800] rev 4341
evolve: adapt for deprecated ui.progress() This makes a wrapper that has an interface like ui.progress() even though that's the old interface that will eventually go away. That's because it's a lot easier to convert from the ui.progress() to the ui.makeprogress() interface than the other way around. Once we no longer support hg<4.7, we can migrate our callers to ui.makeprogress() and drop the wrapper.
Fri, 11 Jan 2019 09:26:41 -0800 fold: sort concatenated commit messages in topological order
Martin von Zweigbergk <martinvonz@google.com> [Fri, 11 Jan 2019 09:26:41 -0800] rev 4340
fold: sort concatenated commit messages in topological order It seems better to have the proposed commit message look the same whether the user ran `hg fold --exact -r . -r .^` or `hg fold --exact -r .^ -r .`.
Wed, 26 Dec 2018 14:52:07 +0800 topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net> [Wed, 26 Dec 2018 14:52:07 +0800] rev 4339
topic: make revsets like 'foo#topic[0]' work Essentially, 'topic' relation subscript function is the same as 'generations', but is limited to revisions marked with one particular topic.
Thu, 10 Jan 2019 17:30:01 +0100 changelog: add an entry about the revset stack indexing
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 10 Jan 2019 17:30:01 +0100] rev 4338
changelog: add an entry about the revset stack indexing
Thu, 10 Jan 2019 17:36:59 +0100 test: adapt output to minor behavior change
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 10 Jan 2019 17:36:59 +0100] rev 4337
test: adapt output to minor behavior change CORE-TEST-OUTPUT-UPDATE: bad05a6afdc8
Sun, 06 Jan 2019 00:27:54 +0800 tests: remove unused variable and needless subshell in testlib/pythonpath.sh stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 06 Jan 2019 00:27:54 +0800] rev 4336
tests: remove unused variable and needless subshell in testlib/pythonpath.sh
Sat, 05 Jan 2019 05:21:37 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Jan 2019 05:21:37 +0100] rev 4335
branching: merge with stable
Fri, 04 Jan 2019 19:17:38 -0500 tests: conditionalize some output for Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 04 Jan 2019 19:17:38 -0500] rev 4334
tests: conditionalize some output for Windows A couple of these were already present, but out of place.
Fri, 04 Jan 2019 18:49:53 -0500 test-pyflakes: use '/' when printing the files to check stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 04 Jan 2019 18:49:53 -0500] rev 4333
test-pyflakes: use '/' when printing the files to check If paths are printed with '\', `xargs` sees the parts allsmooshedtogether, and pyflakes errors out.
Fri, 04 Jan 2019 18:46:46 -0500 tests: fix PYTHONPATH manipulation on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 04 Jan 2019 18:46:46 -0500] rev 4332
tests: fix PYTHONPATH manipulation on Windows Without the semicolon separator and quotes, the variables ends up like this: c:\Users\Matt\projects\hg-evolve:c:\Users\Matt\projects\hg-evolve: c:\Users\Matt\projects\hg;c:\Users\Matt\projects\hg-evolve\tests; c:\Users\Matt\projects\hg\tests That in turn makes the local evolve code unreachable, and the system installed code is tested instead. I'm testing against `uname` instead of a trivial python script printing os.name because maybe one day tests will run on WSL.
Thu, 03 Jan 2019 00:01:54 -0500 exthelper: update documentation with some examples for using registrar aliases
Matt Harbison <matt_harbison@yahoo.com> [Thu, 03 Jan 2019 00:01:54 -0500] rev 4331
exthelper: update documentation with some examples for using registrar aliases
Thu, 27 Dec 2018 23:46:35 -0500 exthelper: simplify the ability to register filesets
Matt Harbison <matt_harbison@yahoo.com> [Thu, 27 Dec 2018 23:46:35 -0500] rev 4330
exthelper: simplify the ability to register filesets Same mechanism as revsets earlier in this series.
Thu, 27 Dec 2018 21:55:22 -0500 exthelper: simplify the ability to register templates
Matt Harbison <matt_harbison@yahoo.com> [Thu, 27 Dec 2018 21:55:22 -0500] rev 4329
exthelper: simplify the ability to register templates Same mechanism as revsets earlier in this series.
Thu, 27 Dec 2018 21:26:17 -0500 exthelper: simplify the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com> [Thu, 27 Dec 2018 21:26:17 -0500] rev 4328
exthelper: simplify the ability to register revsets I think this is what Yuya and Boris agreed on.[1] This happens *after* the extsetup phase now (and after the _aftercallback notifications). But this is trivial, mergeable between exthelper instances, and doesn't need to have the extension name supplied when registering. [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2018-December/125888.html
Sun, 23 Dec 2018 21:54:56 -0500 exthelper: support the option argument when registering a command
Matt Harbison <matt_harbison@yahoo.com> [Sun, 23 Dec 2018 21:54:56 -0500] rev 4327
exthelper: support the option argument when registering a command Largefiles uses this 5th argument with push and pull, so this will be tested in the next commit. I assume the reason for unrolling and reforming the tuple in each finalxxxsetup() is to validate that something proper was passed in when registering. But it's better to explode when decorating than during the delayed actual registration.
Sat, 22 Dec 2018 22:26:36 -0500 exthelper: simplify configitem registration
Matt Harbison <matt_harbison@yahoo.com> [Sat, 22 Dec 2018 22:26:36 -0500] rev 4326
exthelper: simplify configitem registration
Thu, 27 Dec 2018 21:26:17 -0500 exthelper: avoid a [] default arg to wrapcommand()
Matt Harbison <matt_harbison@yahoo.com> [Thu, 27 Dec 2018 21:26:17 -0500] rev 4325
exthelper: avoid a [] default arg to wrapcommand()
Fri, 04 Jan 2019 00:10:44 -0500 configitems: move the default values to the registrar decorator
Matt Harbison <matt_harbison@yahoo.com> [Fri, 04 Jan 2019 00:10:44 -0500] rev 4324
configitems: move the default values to the registrar decorator The exthelper refactoring of configitems stopped registering dynamicdefault for everything, which in turn causes a lot of warnings about mismatched defaults. There are a few stragglers- I didn't fix topic-mode because I wasn't sure what the default should be, and the alias for odiff was explicitly given a default for compatibility.
Wed, 26 Dec 2018 22:14:23 +0800 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net> [Wed, 26 Dec 2018 22:14:23 +0800] rev 4323
topic: make revsets like foo#stack[-1] work too We remove base commit when n < 0 because it's confusing to see base (which technically isn't a commit inside the stack) at both 0 and -n.
Sun, 16 Dec 2018 11:22:04 +0800 topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net> [Sun, 16 Dec 2018 11:22:04 +0800] rev 4322
topic: make revsets like 'foo#stack[0]' work 'stack' relation subscript function is another way to refer to s0, s1, etc. But instead of aborting in many cases it will simply return an empty set.
Sat, 22 Dec 2018 01:29:59 -0500 exthelper: remove '_' in final_xxx() function names to conform to hg style
Matt Harbison <matt_harbison@yahoo.com> [Sat, 22 Dec 2018 01:29:59 -0500] rev 4321
exthelper: remove '_' in final_xxx() function names to conform to hg style
Mon, 24 Dec 2018 18:38:25 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 18:38:25 +0100] rev 4320
branching: merge with stable
Mon, 24 Dec 2018 18:36:25 +0100 packaging: mark as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 18:36:25 +0100] rev 4319
packaging: mark as development version This avoid confusion when installing from source.
Mon, 24 Dec 2018 18:01:30 +0100 Added tag 8.3.3 for changeset 97b18934d6db stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 18:01:30 +0100] rev 4318
Added tag 8.3.3 for changeset 97b18934d6db
Mon, 24 Dec 2018 17:55:25 +0100 packaging: prepare version 8.3.3 stable 8.3.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 17:55:25 +0100] rev 4317
packaging: prepare version 8.3.3
Mon, 24 Dec 2018 17:47:40 +0100 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 17:47:40 +0100] rev 4316
test-compat: merge mercurial-4.4 into mercurial-4.3
Mon, 24 Dec 2018 17:47:31 +0100 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 17:47:31 +0100] rev 4315
test-compat: merge mercurial-4.5 into mercurial-4.4
Mon, 24 Dec 2018 17:47:29 +0100 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 17:47:29 +0100] rev 4314
test-compat: merge mercurial-4.6 into mercurial-4.5
Mon, 24 Dec 2018 17:47:28 +0100 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 17:47:28 +0100] rev 4313
test-compat: merge mercurial-4.7 into mercurial-4.6
Mon, 24 Dec 2018 17:47:27 +0100 test-compat: merge stable into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 17:47:27 +0100] rev 4312
test-compat: merge stable into mercurial-4.7
Fri, 21 Dec 2018 13:14:59 +0800 evolve: detect unresolved conflict during evolve --continue (issue5966) stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Dec 2018 13:14:59 +0800] rev 4311
evolve: detect unresolved conflict during evolve --continue (issue5966) Evolve --continue was ignoring unresolved conflict, proceeding with its operation without any check. This is now fixed. This test case was built and formalized by Matt Harbison and Anton Shestakov.
Thu, 20 Dec 2018 13:59:07 +0800 tests: filter out uninteresting log events
Anton Shestakov <av6@dwimlabs.net> [Thu, 20 Dec 2018 13:59:07 +0800] rev 4310
tests: filter out uninteresting log events Core has new ui.log() calls added (for tracking extension loading and performance, for example), but in test-discovery-obshashrange.t it produces a bunch of lines that are unrelated to the test. So we filter them out to not touch test output. This is inspired by 1de3364320af in core.
Fri, 21 Dec 2018 20:14:26 +0100 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Dec 2018 20:14:26 +0100] rev 4309
test-compat: merge mercurial-4.4 into mercurial-4.3
Fri, 21 Dec 2018 20:14:23 +0100 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Dec 2018 20:14:23 +0100] rev 4308
test-compat: merge mercurial-4.5 into mercurial-4.4
Fri, 21 Dec 2018 20:14:21 +0100 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Dec 2018 20:14:21 +0100] rev 4307
test-compat: merge mercurial-4.6 into mercurial-4.5
Fri, 21 Dec 2018 20:14:20 +0100 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Dec 2018 20:14:20 +0100] rev 4306
test-compat: merge mercurial-4.7 into mercurial-4.6
Fri, 21 Dec 2018 20:14:18 +0100 test-compat: merge stable into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Dec 2018 20:14:18 +0100] rev 4305
test-compat: merge stable into mercurial-4.7
Fri, 21 Dec 2018 19:48:01 +0100 linter: silence rightful complains about unused variable stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Dec 2018 19:48:01 +0100] rev 4304
linter: silence rightful complains about unused variable
Mon, 03 Dec 2018 14:41:03 +0800 topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net> [Mon, 03 Dec 2018 14:41:03 +0800] rev 4303
topic: merge _showlasttouched logic into _listtopics Makes --age work with --verbose.
Mon, 03 Dec 2018 14:15:00 +0800 topic: simplify _showlasttouched and _getlasttouched (and its data structure)
Anton Shestakov <av6@dwimlabs.net> [Mon, 03 Dec 2018 14:15:00 +0800] rev 4302
topic: simplify _showlasttouched and _getlasttouched (and its data structure)
Thu, 13 Dec 2018 18:57:49 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Dec 2018 18:57:49 +0100] rev 4301
branching: merge with stable
Thu, 13 Dec 2018 17:40:41 +0000 split: add a --interactive flag
Boris Feld <boris.feld@octobus.net> [Thu, 13 Dec 2018 17:40:41 +0000] rev 4300
split: add a --interactive flag While the interactive mode is useful for end-users, there are some cases where they don't need the interactivity overhead. Moreover, this allow the split command to be used in automated scripts.
Wed, 21 Feb 2018 14:39:48 +0100 split: take file patterns to limit selection on matching file patterns
Boris Feld <boris.feld@octobus.net> [Wed, 21 Feb 2018 14:39:48 +0100] rev 4299
split: take file patterns to limit selection on matching file patterns When splitting a big changeset, the user often wants to extract specific files from the changeset while leaving the others files intact. The split command can now be called with multiple file patterns. Only files that match one of the patterns will be shown in the interactive selection. The user will be able to create one or more commits with those files. When the user finishes splitting the matching files, a last commit will be made with the remaining of the files.
Wed, 21 Feb 2018 12:39:17 +0100 split: only accept explicit revision through the `-r` option
Boris Feld <boris.feld@octobus.net> [Wed, 21 Feb 2018 12:39:17 +0100] rev 4298
split: only accept explicit revision through the `-r` option We are about to introduce new non-optionnal arguments to defines files patterns. To avoid confusion and to be closer to the standard options, only accepts revisions with the `-r` option.
Thu, 13 Dec 2018 17:41:06 +0100 issue-6028: resolves 6028 - return (False, ".") instead of (False, '') stable
James Reynolds <james.glenn.reynolds@gmail.com> [Thu, 13 Dec 2018 17:41:06 +0100] rev 4297
issue-6028: resolves 6028 - return (False, ".") instead of (False, '') Since 4.8, repo[] no longer takes an empty string, so we update to a valid with similar semantic. This value is strange and we should probably use an actual node ID here, however, this is an independent issue.
Thu, 13 Dec 2018 17:26:26 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Dec 2018 17:26:26 +0100] rev 4296
branching: merge with stable
Wed, 12 Dec 2018 01:19:30 +0800 tests: add sparserevlog cap since hg now has sparse revlogs by default
Anton Shestakov <av6@dwimlabs.net> [Wed, 12 Dec 2018 01:19:30 +0800] rev 4295
tests: add sparserevlog cap since hg now has sparse revlogs by default CORE-TEST-OUTPUT-UPDATE: 3764330f76a6
Wed, 12 Dec 2018 17:22:58 +0100 split: rework the prompt to be more standard
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 12 Dec 2018 17:22:58 +0100] rev 4294
split: rework the prompt to be more standard We dropped the initial capital and moved to a positive question.
Tue, 20 Feb 2018 09:35:16 +0100 split: add a option to discard remaining change during split
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 20 Feb 2018 09:35:16 +0100] rev 4293
split: add a option to discard remaining change during split This is useful to drop unwanted remaining change spotted during the split.
Tue, 20 Feb 2018 09:35:16 +0100 split: add a way to abort a split from the prompt
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 20 Feb 2018 09:35:16 +0100] rev 4292
split: add a way to abort a split from the prompt This prompt is asking the user about the next step. Offering to abort there make sense.
Tue, 20 Feb 2018 09:36:55 +0100 split: add a help entry to the final prompt
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 20 Feb 2018 09:36:55 +0100] rev 4291
split: add a help entry to the final prompt We are about to add more option in this prompt. Adding a way to document then seems like a good first step.
Wed, 05 Dec 2018 23:15:29 +0800 topic: make revset argument messages be similar to such messages in core stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 05 Dec 2018 23:15:29 +0800] rev 4290
topic: make revset argument messages be similar to such messages in core
Wed, 05 Dec 2018 23:13:26 +0800 tests: don't forget to add hg serve pid to DAEMON_PIDS in test-wireproto.t stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 05 Dec 2018 23:13:26 +0800] rev 4289
tests: don't forget to add hg serve pid to DAEMON_PIDS in test-wireproto.t Otherwise it leaves a process running after each run-tests.py launch.
Tue, 04 Dec 2018 13:33:51 +0100 test: adapt to change output change on default
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 04 Dec 2018 13:33:51 +0100] rev 4288
test: adapt to change output change on default We now have a `wcache` directory in `.hg`.
Sat, 01 Dec 2018 16:08:42 +0800 safeguard: don't reimplement auto-publish if it's in core (will be in 4.9)
Anton Shestakov <av6@dwimlabs.net> [Sat, 01 Dec 2018 16:08:42 +0800] rev 4287
safeguard: don't reimplement auto-publish if it's in core (will be in 4.9)
Sat, 01 Dec 2018 16:07:55 +0800 safeguard: the new default for auto-publish is 'publish'
Anton Shestakov <av6@dwimlabs.net> [Sat, 01 Dec 2018 16:07:55 +0800] rev 4286
safeguard: the new default for auto-publish is 'publish'
Fri, 21 Sep 2018 11:44:34 -0400 stack: add a --children flag to stack
James Reynolds <jreynolds@backstage.com> [Fri, 21 Sep 2018 11:44:34 -0400] rev 4285
stack: add a --children flag to stack If a commit in the stack has been merged outside the current topic, show a trailing status of (external-children)
Sun, 02 Dec 2018 16:52:14 +0100 extensions: avoid shadowing imported module names with exthelper methods
Matt Harbison <matt_harbison@yahoo.com> [Sun, 02 Dec 2018 16:52:14 +0100] rev 4284
extensions: avoid shadowing imported module names with exthelper methods The previous code worked, but confused pyscripter.
Fri, 30 Nov 2018 22:10:39 -0500 extensions: add fileset support to exthelper
Matt Harbison <matt_harbison@yahoo.com> [Fri, 30 Nov 2018 22:10:39 -0500] rev 4283
extensions: add fileset support to exthelper This will be tested by using it in lfs.
Sun, 02 Dec 2018 16:48:05 +0100 extensions: add uipopulate() support to exthelper
Matt Harbison <matt_harbison@yahoo.com> [Sun, 02 Dec 2018 16:48:05 +0100] rev 4282
extensions: add uipopulate() support to exthelper
Sun, 02 Dec 2018 16:45:08 +0100 exthelper: clarify copyright and licence for the module
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Dec 2018 16:45:08 +0100] rev 4281
exthelper: clarify copyright and licence for the module The exthelper is quite useful and Matt Harbison is looking into having it upstreamed. We clarify the legal situation first.
Tue, 27 Nov 2018 04:46:35 +0100 packaging: merge with version 8.3.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:46:35 +0100] rev 4280
packaging: merge with version 8.3.2
Tue, 27 Nov 2018 04:42:45 +0100 packaging: mark development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:42:45 +0100] rev 4279
packaging: mark development version This help reduce the confusion when people install from source.
Tue, 27 Nov 2018 12:53:24 +0100 Added tag 8.3.2 for changeset 7edc5c148df0 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 12:53:24 +0100] rev 4278
Added tag 8.3.2 for changeset 7edc5c148df0
Tue, 27 Nov 2018 04:31:03 +0100 packagin: prepare release 8.3.2 stable 8.3.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:31:03 +0100] rev 4277
packagin: prepare release 8.3.2
Tue, 27 Nov 2018 04:07:38 +0100 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:07:38 +0100] rev 4276
test-compat: merge mercurial-4.4 into mercurial-4.3
Tue, 27 Nov 2018 04:07:36 +0100 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:07:36 +0100] rev 4275
test-compat: merge mercurial-4.5 into mercurial-4.4
Tue, 27 Nov 2018 04:07:35 +0100 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:07:35 +0100] rev 4274
test-compat: merge mercurial-4.6 into mercurial-4.5
Tue, 27 Nov 2018 04:07:33 +0100 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:07:33 +0100] rev 4273
test-compat: merge mercurial-4.7 into mercurial-4.6
Tue, 27 Nov 2018 04:07:31 +0100 test-compat: merge stable into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:07:31 +0100] rev 4272
test-compat: merge stable into mercurial-4.7
Tue, 27 Nov 2018 03:57:30 +0100 changelog: add information about the topic message improvements
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 03:57:30 +0100] rev 4271
changelog: add information about the topic message improvements
Tue, 27 Nov 2018 03:56:27 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 03:56:27 +0100] rev 4270
branching: merge with stable
Tue, 27 Nov 2018 03:46:06 +0100 evolve: update the abort to a ProgrammingError stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 27 Nov 2018 03:46:06 +0100] rev 4269
evolve: update the abort to a ProgrammingError This error should be a ProgrammingError and as Pierre-Yves David said ProgrammingError type did not existed when this code was written, so lets update this now.
Mon, 26 Nov 2018 16:43:39 +0300 topics: improve the message around topic changing
Pulkit Goyal <pulkit@yandex-team.ru> [Mon, 26 Nov 2018 16:43:39 +0300] rev 4268
topics: improve the message around topic changing The new message says 'cleared' when topic name is cleared, if we change to a new topic name, it mentions the new topic name too.
Wed, 21 Nov 2018 11:13:21 +0000 tests: fix for POSIX compliance
Martijn Pieters <mj@octobus.net> [Wed, 21 Nov 2018 11:13:21 +0000] rev 4267
tests: fix for POSIX compliance * Mac ls will exit with a different message and exit code [1], replace with grep (which is what mercurial tests do) * POSIX echo has no -n switch, use printf instead
Wed, 21 Nov 2018 10:47:07 +0000 style: remove unused variables
Martijn Pieters <mj@octobus.net> [Wed, 21 Nov 2018 10:47:07 +0000] rev 4266
style: remove unused variables Both `as e` references are not used and can go.
Tue, 20 Nov 2018 11:33:38 -0500 evolve: fix a documentation typo stable
Eric Spishak-Thomas <spishak@google.com> [Tue, 20 Nov 2018 11:33:38 -0500] rev 4265
evolve: fix a documentation typo
Mon, 19 Nov 2018 02:34:39 +0000 compat: drop 4.3 related obsfate code
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 02:34:39 +0000] rev 4264
compat: drop 4.3 related obsfate code All the necessary piece are supported starting 4.4.
Mon, 19 Nov 2018 02:27:13 +0000 compat: drop code dealing with incompatibility for --publish with 4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 02:27:13 +0000] rev 4263
compat: drop code dealing with incompatibility for --publish with 4.3 We dropped 4.3 support.
Mon, 19 Nov 2018 02:25:37 +0000 compat: clarify when some conditional are used
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 02:25:37 +0000] rev 4262
compat: clarify when some conditional are used The middle condition was an intermediate state that never existed into a release. We can safely drop it.
Mon, 19 Nov 2018 02:20:44 +0000 compat: drop 4.3 "new troubles" report code
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 02:20:44 +0000] rev 4261
compat: drop 4.3 "new troubles" report code This is supported natively for Mercurial 4.4 and above.
Mon, 19 Nov 2018 02:18:58 +0000 compat: drop 4.3 wrapping of createmarker for effect flag support
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 02:18:58 +0000] rev 4260
compat: drop 4.3 wrapping of createmarker for effect flag support This is supported natively in 4.4 and above.
Mon, 19 Nov 2018 01:52:45 +0000 compat: drop 4.3 monkey patch of `copies.mergecopies`
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 01:52:45 +0000] rev 4259
compat: drop 4.3 monkey patch of `copies.mergecopies`
Mon, 19 Nov 2018 01:45:34 +0000 compat: drop 4.3 compatiblity code for `obsutil.allprecursors` function
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 01:45:34 +0000] rev 4258
compat: drop 4.3 compatiblity code for `obsutil.allprecursors` function
Mon, 19 Nov 2018 01:44:28 +0000 compat: drop 4.3 compatiblity code for `ui.edit` method
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 01:44:28 +0000] rev 4257
compat: drop 4.3 compatiblity code for `ui.edit` method
Mon, 19 Nov 2018 01:42:50 +0000 compat: drop 4.3 compatiblity code for 'successors' revset
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 01:42:50 +0000] rev 4256
compat: drop 4.3 compatiblity code for 'successors' revset
Mon, 19 Nov 2018 01:41:36 +0000 compat: drop 4.3 compatiblity code for 'precursors' revset
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 01:41:36 +0000] rev 4255
compat: drop 4.3 compatiblity code for 'precursors' revset
Sat, 10 Nov 2018 23:54:46 -0500 compat: drop Mercurial 4.3 support for exthelper
Matt Harbison <matt_harbison@yahoo.com> [Sat, 10 Nov 2018 23:54:46 -0500] rev 4254
compat: drop Mercurial 4.3 support for exthelper The last release email noted plans to drop 4.3 and 4.4 support in the next feature release. I'd like to move this code into core, and dropping this should allow the class to be copied in unmodified.
Mon, 19 Nov 2018 01:49:34 +0000 compat: update metadata about minimum ag version
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 01:49:34 +0000] rev 4253
compat: update metadata about minimum ag version
Tue, 06 Nov 2018 10:41:50 +0530 next: solve the issue of `next` get confused by split
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 06 Nov 2018 10:41:50 +0530] rev 4252
next: solve the issue of `next` get confused by split This patch solve a problem of next command which get confused by split. Let me describe how it was getting confused: Initial state of repo: A---B---C After splitting B to (B1,B2): @ A---B1---B2 \ ---B---C X * (note: C is orphan; checkedout to B1) Lets make an amend on B1: @ B1' / A---B1---B2 \ X * \ ---B---C X * Now, if run `hg next` (--evolve is True by default now): $ it would give you choice to choose from B2 and C thinking that C could also be a possbile children for B1, instead of stablizing B2 on B1. I fixed this problem by filtering those aspiring children which can be stablized on one of the aspiring children itself. Changes made in test-prev-next.t shows the changed expected behaviour.
Tue, 06 Nov 2018 15:10:56 +0530 next: add test which shows that `next` get confused by split
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 06 Nov 2018 15:10:56 +0530] rev 4251
next: add test which shows that `next` get confused by split
Wed, 31 Oct 2018 14:08:56 +0530 cleanup: avoid a Yoda condition
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 31 Oct 2018 14:08:56 +0530] rev 4250
cleanup: avoid a Yoda condition
Wed, 31 Oct 2018 14:06:17 +0530 evolve: modify and move the comment to appropriate position
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 31 Oct 2018 14:06:17 +0530] rev 4249
evolve: modify and move the comment to appropriate position
Wed, 31 Oct 2018 14:01:58 +0530 next: update the command description
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 31 Oct 2018 14:01:58 +0530] rev 4248
next: update the command description Now, if necessary next command evolve the next child revision by defualt. You don't need to pass the --evolve flag.
Sat, 10 Nov 2018 15:50:05 +0100 next: make next command --evolve by default
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 10 Nov 2018 15:50:05 +0100] rev 4247
next: make next command --evolve by default Before this patch, if we need to evolve to update to the next child, we were suggesting the user to use --evolve flag. This patch make some changes to evolve by default in that conditions. After making next command to evolve by default we have to consider the following points: 1) If we don't need to evolve while updating to the next child: a) And if wdir is dirty, we suggest to use --merge flag b) if wdir is clean, we simply update to next child (if ambiguous, prompt the user to select one) 2) If we need to evolve: a) when wdir is dirty, we suggest the user to use `hg shelve` first, to make wdir clean. As we don't support --merge while evovling. b) when wdir is clean, we evolve the next cset. Changes made in test-prev-next.t reflect the changed behaviour.
Mon, 05 Nov 2018 19:56:33 +0800 safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net> [Mon, 05 Nov 2018 19:56:33 +0800] rev 4246
safeguard: allow push to succeed (and without warning) with --publish
Sun, 04 Nov 2018 22:06:23 +0800 topic: only add --publish flag to push if it's not already there
Anton Shestakov <av6@dwimlabs.net> [Sun, 04 Nov 2018 22:06:23 +0800] rev 4245
topic: only add --publish flag to push if it's not already there
Mon, 05 Nov 2018 16:04:01 +0800 safeguard: check auto-publish value before sending listkeys command
Anton Shestakov <av6@dwimlabs.net> [Mon, 05 Nov 2018 16:04:01 +0800] rev 4244
safeguard: check auto-publish value before sending listkeys command Always sending listkeys command is just wasteful, let's first make sure users even care about auto-publish behavior.
Sat, 10 Nov 2018 17:54:28 +0100 style: silence another flak8 warning
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 17:54:28 +0100] rev 4243
style: silence another flak8 warning Default should be green now.
Sat, 10 Nov 2018 16:11:19 +0100 oops: backed out changeset df22f010cf24 pushed by error
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 16:11:19 +0100] rev 4242
oops: backed out changeset df22f010cf24 pushed by error The changeset still fails some test
Sat, 10 Nov 2018 15:50:05 +0100 next: make next command --evolve by default
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 10 Nov 2018 15:50:05 +0100] rev 4241
next: make next command --evolve by default Before this patch, if we need to evolve to update to the next child, we were suggesting the user to use --evolve flag. This patch make some changes to evolve by default in that conditions. After making next command to evolve by default we have to consider the following points: 1) If we don't need to evolve while updating to the next child: a) And if wdir is dirty, we suggest to use --merge flag b) if wdir is clean, we simply update to next child (if ambiguous, prompt the user to select one) 2) If we need to evolve: a) when wdir is dirty, we suggest the user to use `hg shelve` first, to make wdir clean. As we don't support --merge while evovling. b) when wdir is clean, we evolve the next cset. Changes made in test-prev-next.t reflect the changed behaviour.
Sat, 10 Nov 2018 16:05:34 +0100 next: improve the message for dirty working copy with --evolve
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 16:05:34 +0100] rev 4240
next: improve the message for dirty working copy with --evolve This will be important soon when --evolve will be the default.
Sat, 10 Nov 2018 16:01:31 +0100 next: use the `hint` argument of bail if changed
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 16:01:31 +0100] rev 4239
next: use the `hint` argument of bail if changed The argument is availabel since Mercurial 4.1. So let's use it.
Sat, 10 Nov 2018 15:59:16 +0100 prev: use the `hint` argument of bail if changed
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 15:59:16 +0100] rev 4238
prev: use the `hint` argument of bail if changed The argument is availabel since Mercurial 4.1. So let's use it.
Sat, 10 Nov 2018 15:28:44 +0100 next: explicitly specify --no-evolve in the tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 15:28:44 +0100] rev 4237
next: explicitly specify --no-evolve in the tests The default value for this flag is about to switch.
Sat, 10 Nov 2018 15:47:46 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 15:47:46 +0100] rev 4236
branching: merge with stable
Sat, 10 Nov 2018 15:37:22 +0100 style: fix various flake8 warning stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 15:37:22 +0100] rev 4235
style: fix various flake8 warning
Sat, 10 Nov 2018 15:30:10 +0100 next: set if we need to evolve or not; also move logic to appropriate pos
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 10 Nov 2018 15:30:10 +0100] rev 4234
next: set if we need to evolve or not; also move logic to appropriate pos set the value `needevolve` and also move the logic to find aspiringchildren to appropriate position i.e before we suggest user to use other flags like --merge.
Tue, 06 Nov 2018 11:22:39 +0530 next: move some code to prepare for `next --evolve` by default
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 06 Nov 2018 11:22:39 +0530] rev 4233
next: move some code to prepare for `next --evolve` by default Moved some values before the block where we suggest the user to use --merge flag. As we would need these values to find if we need to evolve or not before we can suggest user to use `--merge` flag. We will suggest user to use `--merge` flag only when we don't need to evolve. Because currently we don't support both --evolve(going to be True by default) and --merge at the same time.
Sat, 10 Nov 2018 00:55:34 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 00:55:34 +0100] rev 4232
branching: merge with stable
Tue, 06 Nov 2018 15:53:18 +0530 topic: improve UX by using pager only when we should stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 06 Nov 2018 15:53:18 +0530] rev 4231
topic: improve UX by using pager only when we should Before this patch we were using pager in every case of topic command, either it is setting up a new topic or clearing the active topic. After this patch it will not use pager in following commands: $ hg topic [TOPIC] -r [rev] $ hg topic --clear
Tue, 06 Nov 2018 10:43:35 +0530 evolvecmd: _possibledestination() skip visiting empty parent stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 06 Nov 2018 10:43:35 +0530] rev 4230
evolvecmd: _possibledestination() skip visiting empty parent I see that even in the case when "parent == -1" we are visiting that also and find succsets for that and in last -1 is being added in the set of possible destination. Why not skip that?
Sat, 03 Nov 2018 12:21:19 +0530 pick: `hg help` was not showing the full cmd desc of `pick` stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 03 Nov 2018 12:21:19 +0530] rev 4229
pick: `hg help` was not showing the full cmd desc of `pick` after running command `hg help` it was not including the second line of command description. I guess it picks the firstline only. So I moved that part in first line of cmd description.
Fri, 09 Nov 2018 20:19:01 +0100 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Nov 2018 20:19:01 +0100] rev 4228
test-compat: merge mercurial-4.4 into mercurial-4.3
Fri, 09 Nov 2018 20:18:59 +0100 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Nov 2018 20:18:59 +0100] rev 4227
test-compat: merge mercurial-4.5 into mercurial-4.4
Fri, 09 Nov 2018 20:18:58 +0100 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Nov 2018 20:18:58 +0100] rev 4226
test-compat: merge mercurial-4.6 into mercurial-4.5
Fri, 09 Nov 2018 20:18:57 +0100 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Nov 2018 20:18:57 +0100] rev 4225
test-compat: merge mercurial-4.7 into mercurial-4.6
Fri, 09 Nov 2018 20:18:55 +0100 test-compat: merge stable into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Nov 2018 20:18:55 +0100] rev 4224
test-compat: merge stable into mercurial-4.7
Wed, 07 Nov 2018 19:35:48 +0100 compat: fix fixedcopytracing compatibility with mercurial 4.8 and narrow stable
Boris Feld <boris.feld@octobus.net> [Wed, 07 Nov 2018 19:35:48 +0100] rev 4223
compat: fix fixedcopytracing compatibility with mercurial 4.8 and narrow Mercurial 4.8 version of _fullcopytracing includes some new narrow code. As https://phab.mercurial-scm.org/D3896 has not yet landed, update fixedcopytracing behind a version detection condition. This was spotted by Augie Fackler.
Thu, 01 Nov 2018 21:33:15 +0300 utility: don't translate commit messages in revselection prompt (issue6016) stable
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 01 Nov 2018 21:33:15 +0300] rev 4222
utility: don't translate commit messages in revselection prompt (issue6016) Commit messages should not be translated and should be shown the same. I am not sure if I can add a test for this by creating a commit with non-ascii character in commit message.
Fri, 26 Oct 2018 12:54:40 +0530 evolve: use stack template in --continue case also
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 26 Oct 2018 12:54:40 +0530] rev 4221
evolve: use stack template in --continue case also We use stack indexes (s#) in evolve msging when revs being evolved are in active topic. Before this patch we are not covering the --continue case. So this patch cover the same and use the stack indexes s# even when we continue an interrupted evolve. In this patch I used the same concept (to check if we should use s#) as we are using in cases other than `--continue`. Thanks to PYD for refactoring those lines. Changes in tests also reflects the expected behaviour.
Wed, 24 Oct 2018 19:38:02 +0530 evolve: add test showing currently stackalias fails in --continue case
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 24 Oct 2018 19:38:02 +0530] rev 4220
evolve: add test showing currently stackalias fails in --continue case
Thu, 25 Oct 2018 18:51:55 +0200 branching; merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:51:55 +0200] rev 4219
branching; merge with stable
Thu, 25 Oct 2018 18:50:42 +0200 packaging: mark version as devel version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:50:42 +0200] rev 4218
packaging: mark version as devel version This avoid confusion from people installing from source.
Thu, 25 Oct 2018 18:44:07 +0200 Added tag 8.3.1 for changeset b90422a11a88 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:44:07 +0200] rev 4217
Added tag 8.3.1 for changeset b90422a11a88
Thu, 25 Oct 2018 18:42:49 +0200 packaging: prepare version 8.3.1 stable 8.3.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:42:49 +0200] rev 4216
packaging: prepare version 8.3.1
Thu, 25 Oct 2018 18:32:54 +0200 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:32:54 +0200] rev 4215
test-compat: merge mercurial-4.4 into mercurial-4.3
Thu, 25 Oct 2018 18:32:52 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:32:52 +0200] rev 4214
test-compat: merge mercurial-4.5 into mercurial-4.4
Thu, 25 Oct 2018 18:32:51 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:32:51 +0200] rev 4213
test-compat: merge mercurial-4.6 into mercurial-4.5
Thu, 25 Oct 2018 18:32:50 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:32:50 +0200] rev 4212
test-compat: merge mercurial-4.7 into mercurial-4.6
Thu, 25 Oct 2018 18:32:49 +0200 test-compat: merge stable into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:32:49 +0200] rev 4211
test-compat: merge stable into mercurial-4.7
Thu, 25 Oct 2018 18:09:08 +0200 evolve: do not try to display stack index of changeset who do not have one stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:09:08 +0200] rev 4210
evolve: do not try to display stack index of changeset who do not have one
Thu, 25 Oct 2018 18:08:34 +0200 evolve: check if we should use stack template for each item in the stack stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:08:34 +0200] rev 4209
evolve: check if we should use stack template for each item in the stack We should probably just track the current topic and move all the logic in the template itself. However, this is a good first step.
Thu, 25 Oct 2018 17:03:34 +0200 branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 17:03:34 +0200] rev 4208
branching: merge stable back into default
Thu, 25 Oct 2018 16:33:10 +0200 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 16:33:10 +0200] rev 4207
test-compat: merge mercurial-4.4 into mercurial-4.3
Thu, 25 Oct 2018 13:05:14 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 13:05:14 +0200] rev 4206
test-compat: merge mercurial-4.5 into mercurial-4.4
Thu, 25 Oct 2018 13:04:08 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 13:04:08 +0200] rev 4205
test-compat: merge mercurial-4.6 into mercurial-4.5
Thu, 25 Oct 2018 13:03:30 +0200 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 13:03:30 +0200] rev 4204
test-compat: merge mercurial-4.7 into mercurial-4.6
Thu, 25 Oct 2018 13:03:03 +0200 test-compat: merge stable into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 13:03:03 +0200] rev 4203
test-compat: merge stable into mercurial-4.7
Thu, 25 Oct 2018 13:24:34 +0200 branching: revert test outptu change for 4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 13:24:34 +0200] rev 4202
branching: revert test outptu change for 4.7
Thu, 25 Oct 2018 10:01:58 +0200 pullbundle: drop erroneous flagging of the command as basic stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 10:01:58 +0200] rev 4201
pullbundle: drop erroneous flagging of the command as basic This is a debug command, not a basic part of the UI.
Thu, 25 Oct 2018 12:55:37 +0200 test-compat: backed out changeset ba1e83c841f2 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:55:37 +0200] rev 4200
test-compat: backed out changeset ba1e83c841f2 Preparing the branch for 4.8.
Thu, 25 Oct 2018 12:55:22 +0200 test-compat: backed out changeset b0084d599112 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:55:22 +0200] rev 4199
test-compat: backed out changeset b0084d599112 Preparing the branch for 4.8.
Thu, 25 Oct 2018 12:55:12 +0200 test-compat: backed out changeset e2d083cc447e stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:55:12 +0200] rev 4198
test-compat: backed out changeset e2d083cc447e Preparing the branch for 4.8.
Thu, 25 Oct 2018 12:53:48 +0200 test-compat: backed out changeset ccbfbeee6cf3 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:53:48 +0200] rev 4197
test-compat: backed out changeset ccbfbeee6cf3 Preparing the branch for 4.8.
Thu, 25 Oct 2018 12:53:09 +0200 test-compat: backed out changeset 7091f7215651 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:53:09 +0200] rev 4196
test-compat: backed out changeset 7091f7215651 Preparing the branch for 4.8.
Thu, 25 Oct 2018 12:52:34 +0200 test-compat: backed out changeset 8eec9422bd8e stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:52:34 +0200] rev 4195
test-compat: backed out changeset 8eec9422bd8e Preparing the branch for 4.8.
Thu, 25 Oct 2018 12:49:48 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:49:48 +0200] rev 4194
branching: merge stable into default
Thu, 25 Oct 2018 12:41:16 +0200 branching: start test compatibility branch for Mercurial 4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:41:16 +0200] rev 4193
branching: start test compatibility branch for Mercurial 4.7 Mercurial 4.8-rc0 have been released
Sun, 21 Oct 2018 00:08:27 +0300 topic: add the changelog argument to branchinfo() stable
Pulkit Goyal <pulkit@yandex-team.ru> [Sun, 21 Oct 2018 00:08:27 +0300] rev 4192
topic: add the changelog argument to branchinfo() 47c03042cd1d in core added a changelog argument to revbranchcache.branchinfo() and we wrap that function in topic extension. So let's add this optional argument in topic extension too.
Thu, 18 Oct 2018 22:11:43 -0700 evolve: adapt for changed @command decorator stable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 18 Oct 2018 22:11:43 -0700] rev 4191
evolve: adapt for changed @command decorator Core changed the hacky "^command" syntax to be a proper decorator option in fa88170c10bb (help: adding a proper declaration for shortlist/basic commands (API), 2018-10-12). This patch makes evolve compatible with that.
Wed, 17 Oct 2018 14:47:38 +0200 topicidx: stop assigning index number to obsolete changesets stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Oct 2018 14:47:38 +0200] rev 4190
topicidx: stop assigning index number to obsolete changesets Obsolete changeset are no longer part of the stack, the old logic tried to assigns them the index of their successors but this is flacky and error prone. So we stop doing so.
Thu, 25 Oct 2018 11:32:43 +0200 stack-index: add some test featuring content diversion stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 11:32:43 +0200] rev 4189
stack-index: add some test featuring content diversion This will be useful to display various issues.
Thu, 25 Oct 2018 10:01:58 +0200 pullbundle: drop erroneous flagging of the command as basic
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 10:01:58 +0200] rev 4188
pullbundle: drop erroneous flagging of the command as basic This is a debug command, not a basic part of the UI.
Sun, 21 Oct 2018 00:08:27 +0300 topic: add the changelog argument to branchinfo()
Pulkit Goyal <pulkit@yandex-team.ru> [Sun, 21 Oct 2018 00:08:27 +0300] rev 4187
topic: add the changelog argument to branchinfo() 47c03042cd1d in core added a changelog argument to revbranchcache.branchinfo() and we wrap that function in topic extension. So let's add this optional argument in topic extension too.
Fri, 19 Oct 2018 09:02:35 -0700 topics: "prairie" is a not an animal (AFAIK, anyway)
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Oct 2018 09:02:35 -0700] rev 4186
topics: "prairie" is a not an animal (AFAIK, anyway)
Thu, 18 Oct 2018 21:59:24 -0700 tests: remove a"| head -n 2" that just hides an error code
Martin von Zweigbergk <martinvonz@google.com> [Thu, 18 Oct 2018 21:59:24 -0700] rev 4185
tests: remove a"| head -n 2" that just hides an error code The output from core used to be longer and it made sense, but no longer does. CORE-TEST-OUTPUT-UPDATE: 5199c5b6fd29
Thu, 18 Oct 2018 22:11:43 -0700 evolve: adapt for changed @command decorator
Martin von Zweigbergk <martinvonz@google.com> [Thu, 18 Oct 2018 22:11:43 -0700] rev 4184
evolve: adapt for changed @command decorator Core changed the hacky "^command" syntax to be a proper decorator option in fa88170c10bb (help: adding a proper declaration for shortlist/basic commands (API), 2018-10-12). This patch makes evolve compatible with that.
Wed, 17 Oct 2018 23:10:30 +0800 commands: adjust metavariables as appropriate
Anton Shestakov <av6@dwimlabs.net> [Wed, 17 Oct 2018 23:10:30 +0800] rev 4183
commands: adjust metavariables as appropriate Apart from looking better in hg help command, these strings are also helpful when generating shell completions programmatically.
Wed, 17 Oct 2018 14:02:18 +0200 branching: merge with default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Oct 2018 14:02:18 +0200] rev 4182
branching: merge with default
Wed, 17 Oct 2018 13:44:06 +0200 branching: preserve the expected output on default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Oct 2018 13:44:06 +0200] rev 4181
branching: preserve the expected output on default
Sun, 14 Oct 2018 13:37:11 +0200 evolvecmd: use modern vocabulary in help text for evolve stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 14 Oct 2018 13:37:11 +0200] rev 4180
evolvecmd: use modern vocabulary in help text for evolve
Sun, 14 Oct 2018 13:35:13 +0200 evolvecmd: mark flags with old instability names as deprecated stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 14 Oct 2018 13:35:13 +0200] rev 4179
evolvecmd: mark flags with old instability names as deprecated
Wed, 17 Oct 2018 13:36:08 +0200 packaging: mark as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Oct 2018 13:36:08 +0200] rev 4178
packaging: mark as development version
Fri, 12 Oct 2018 16:31:20 +0200 Added tag 8.3.0 for changeset 45d4b49d81d9 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 16:31:20 +0200] rev 4177
Added tag 8.3.0 for changeset 45d4b49d81d9
Fri, 12 Oct 2018 16:19:39 +0200 packaging: prepare release 8.3.0 stable 8.3.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 16:19:39 +0200] rev 4176
packaging: prepare release 8.3.0
Fri, 12 Oct 2018 16:25:06 +0200 pullbundle: document working version and update changelog to mention it stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 16:25:06 +0200] rev 4175
pullbundle: document working version and update changelog to mention it
Fri, 12 Oct 2018 15:20:54 +0200 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:20:54 +0200] rev 4174
test-compat: merge mercurial-4.4 into mercurial-4.3
Fri, 12 Oct 2018 15:15:09 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:15:09 +0200] rev 4173
test-compat: merge mercurial-4.5 into mercurial-4.4
Fri, 12 Oct 2018 15:15:07 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:15:07 +0200] rev 4172
test-compat: merge mercurial-4.6 into mercurial-4.5
Fri, 12 Oct 2018 15:15:05 +0200 test-compat: merge stable into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:15:05 +0200] rev 4171
test-compat: merge stable into mercurial-4.6
Fri, 12 Oct 2018 15:37:22 +0200 topic: fix '{topicidx}' keyword registration for mercurial <= 4.5 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:37:22 +0200] rev 4170
topic: fix '{topicidx}' keyword registration for mercurial <= 4.5
Fri, 12 Oct 2018 15:03:29 +0200 branching: prepare release 8.3.0 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:03:29 +0200] rev 4169
branching: prepare release 8.3.0
Fri, 12 Oct 2018 15:07:23 +0200 test: other harmless output change stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:07:23 +0200] rev 4168
test: other harmless output change These are new test that need adjustment for 4.7 output.
Fri, 12 Oct 2018 15:02:51 +0200 changelog: mention the fix of cache warming on hg strip stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:02:51 +0200] rev 4167
changelog: mention the fix of cache warming on hg strip
Fri, 12 Oct 2018 14:56:00 +0200 test: backed out output changes from changeset 6f391c2a773b stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 14:56:00 +0200] rev 4166
test: backed out output changes from changeset 6f391c2a773b
Fri, 12 Oct 2018 14:55:46 +0200 test: backed out test output changes from changeset ef22eef37ecc stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 14:55:46 +0200] rev 4165
test: backed out test output changes from changeset ef22eef37ecc
Fri, 12 Oct 2018 14:55:37 +0200 test: backed out output changes from changeset 0171a7ceb574 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 14:55:37 +0200] rev 4164
test: backed out output changes from changeset 0171a7ceb574
Fri, 12 Oct 2018 14:55:27 +0200 test: backed out output changes from changeset dfa69b5ece87 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 14:55:27 +0200] rev 4163
test: backed out output changes from changeset dfa69b5ece87
Fri, 12 Oct 2018 14:55:20 +0200 test: backed out output changes from changeset 01ad46551d7c stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 14:55:20 +0200] rev 4162
test: backed out output changes from changeset 01ad46551d7c
Fri, 12 Oct 2018 14:40:03 +0200 prev: also use stack shortcut in output when possible
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 14:40:03 +0200] rev 4161
prev: also use stack shortcut in output when possible This mirror what `hg evolve` is doing since cc3a0b13ae57.
Fri, 12 Oct 2018 14:33:03 +0200 next: also use stack shortcut in output when possible
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 14:33:03 +0200] rev 4160
next: also use stack shortcut in output when possible This mirror what `hg evolve` is doing since cc3a0b13ae57.
Fri, 12 Oct 2018 11:33:30 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 11:33:30 +0200] rev 4159
branching: merge stable into default
Fri, 12 Oct 2018 02:12:23 +0300 rewind: alias the command to undo
Pulkit Goyal <pulkit@yandex-team.ru> [Fri, 12 Oct 2018 02:12:23 +0300] rev 4158
rewind: alias the command to undo This is a step in unifiying rewind and undo and not talk about them as different commands or concepts. If there exists rewind command, that should be an alias of undo and the vice versa. The exact implmentation detail and how the command works etc. is a different thing but there should be just one command.
Fri, 12 Oct 2018 01:23:16 +0200 changelog: add a line about the usage of s# in evolve
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 01:23:16 +0200] rev 4157
changelog: add a line about the usage of s# in evolve
Thu, 11 Oct 2018 13:38:38 +0200 caches: no longer warm the cache on strip in "auto" mode stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Oct 2018 13:38:38 +0200] rev 4156
caches: no longer warm the cache on strip in "auto" mode Before this patch, a strip would trigger a full and blind cache load that would include the stablerange cache. In repository like Mozilla this was a bit painful. The default "auto" mode now behave has intended.
Tue, 02 Oct 2018 12:55:29 +0530 evolve: use stack alias s# in `hg evolve` msgs
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 02 Oct 2018 12:55:29 +0530] rev 4155
evolve: use stack alias s# in `hg evolve` msgs As repository grows revision number lose their usefulness. To make it a little better than now, after this patch we will be using short stack aliases introduced by the topic extension (as displayed by `hg stack`). These stack aliases s# will be used only when user has enabled topic extension and his repo's current active topic is same as the revs to be evolved. For now, this patch doesn't cover `continue` case. I will discuss about this with Pierre-Yves David. Maybe we have to store the info in evolvestate that "we were using stack aliases".
Mon, 01 Oct 2018 19:59:17 +0530 evolve: extract displayer to _solveone()
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 01 Oct 2018 19:59:17 +0530] rev 4154
evolve: extract displayer to _solveone() I extracted this displayer method to _solveone() so that it would be easy to pass a different template to show evolve msgs. In upcoming patches we will be using stacktemplate in some cases where we want to include stack alias s# in evolve msgs.
Mon, 01 Oct 2018 13:20:30 +0530 utility: add a template alias that will be used in evolve msgs
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 01 Oct 2018 13:20:30 +0530] rev 4153
utility: add a template alias that will be used in evolve msgs This template use stack alias s# instead of rev number in messages printed when we run `hg evolve`. For example, this template's msgs will look like this: move:[s3] add aaa atop:[s2] add bbb move:[s4] add ccc I will be using this template in upcoming patches.
Mon, 01 Oct 2018 12:37:42 +0530 topic: add topicidx template keyword
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 01 Oct 2018 12:37:42 +0530] rev 4152
topic: add topicidx template keyword This keyword will be useful where we want to see the index of the changeset in the stack when we run `hg stack`.
Tue, 09 Oct 2018 15:14:32 +0200 changelog: fix version number
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 09 Oct 2018 15:14:32 +0200] rev 4151
changelog: fix version number
Tue, 02 Oct 2018 20:38:37 +0300 tests: update the test-topic.t with changes in core mercurial
Pulkit Goyal <pulkit@yandex-team.ru> [Tue, 02 Oct 2018 20:38:37 +0300] rev 4150
tests: update the test-topic.t with changes in core mercurial Yuya stabilized the -T option and now it's in help by default. CORE-TEST-OUTPUT-UPDATE: 0d703063d0c8
Wed, 26 Sep 2018 19:17:04 +0200 pullbundle: fix style warning
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 26 Sep 2018 19:17:04 +0200] rev 4149
pullbundle: fix style warning
Wed, 26 Sep 2018 18:41:55 +0200 pullbundle: improves management of multiple branch while dealing with a head
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 26 Sep 2018 18:41:55 +0200] rev 4148
pullbundle: improves management of multiple branch while dealing with a head There were still case where a range was issued too early.
Wed, 26 Sep 2018 18:42:44 +0200 pullbundle: deal with head in a predicable order
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 26 Sep 2018 18:42:44 +0200] rev 4147
pullbundle: deal with head in a predicable order We use node order to make this repeatable from one clone to another. This is an arbitrary pick.
Wed, 26 Sep 2018 17:17:11 +0200 pullbundle: deal with another special case introduced by arbitrary ranges
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 26 Sep 2018 17:17:11 +0200] rev 4146
pullbundle: deal with another special case introduced by arbitrary ranges previous, we dealt with the case where the tippest subrange of the stable parent was too long. Now, we need to deal with the case where it is too small.
Wed, 26 Sep 2018 13:15:40 +0200 pullbundle: compat with Mercurial 4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 26 Sep 2018 13:15:40 +0200] rev 4145
pullbundle: compat with Mercurial 4.7
Tue, 25 Sep 2018 19:35:33 +0200 pullbundle: add some information on the cached change
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 19:35:33 +0200] rev 4144
pullbundle: add some information on the cached change This also adds a way to skip "caching" smaller range in the debugcommand (not in the extensions itself).
Tue, 25 Sep 2018 18:41:51 +0200 pullbundle: add data about the cached bundle size and hit
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 18:41:51 +0200] rev 4143
pullbundle: add data about the cached bundle size and hit
Tue, 25 Sep 2018 18:23:46 +0200 pullbundle: add a command to generate cache hit statistic
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 18:23:46 +0200] rev 4142
pullbundle: add a command to generate cache hit statistic This new command should help checking that the stable range produce reusable bundle.
Tue, 25 Sep 2018 13:44:32 +0200 pullbundle: point out the output flooding issue from core
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 13:44:32 +0200] rev 4141
pullbundle: point out the output flooding issue from core Right now, we don't have a reliable progress report when using pullbundle.
Tue, 25 Sep 2018 13:29:49 +0200 pullbundle: issue local branches in the right order
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 13:29:49 +0200] rev 4140
pullbundle: issue local branches in the right order
Tue, 25 Sep 2018 12:53:34 +0200 pullbundle: delay cache file opening
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 12:53:34 +0200] rev 4139
pullbundle: delay cache file opening Otherwise we can end-up with a too many file open at the same time.
Tue, 25 Sep 2018 12:20:26 +0200 pullbundle: improve slicing of the lower part of range
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 12:20:26 +0200] rev 4138
pullbundle: improve slicing of the lower part of range The previous method could get confuse by merge and overslice. The new method is better at using sticking on power of two boundaries.
Tue, 25 Sep 2018 12:19:41 +0200 stablerange: fix slicing of arbitrary ranges
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 12:19:41 +0200] rev 4137
stablerange: fix slicing of arbitrary ranges Pull bundle trigger slicing from range with arbitrary initial skip. We have to adjust the current slicing to take this into account.
Mon, 24 Sep 2018 01:16:00 +0200 pullbundle: attempt to save stablerange cache after each computation
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Sep 2018 01:16:00 +0200] rev 4136
pullbundle: attempt to save stablerange cache after each computation Since we do not serve the full repository, we use more stablerange starting from a random point. These are probably not loaded yet and should be cached. This is best effort caching, if we can't save them we won't.
Mon, 24 Sep 2018 00:51:39 +0200 pullbundle: add basic extension metadata
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Sep 2018 00:51:39 +0200] rev 4135
pullbundle: add basic extension metadata
Mon, 24 Sep 2018 00:28:10 +0200 pullbundle: add a config option for the cache directory
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Sep 2018 00:28:10 +0200] rev 4134
pullbundle: add a config option for the cache directory
Sun, 23 Sep 2018 22:58:11 +0200 pullbundle: add an output about the time spent slicing the set
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 23 Sep 2018 22:58:11 +0200] rev 4133
pullbundle: add an output about the time spent slicing the set This will be useful to monitor overall performance.
Sun, 23 Sep 2018 22:45:23 +0200 pullbundle: add extension documentation
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 23 Sep 2018 22:45:23 +0200] rev 4132
pullbundle: add extension documentation
Sun, 23 Sep 2018 23:46:49 +0200 pullbundle: add an extra test showing how cache are reusable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 23 Sep 2018 23:46:49 +0200] rev 4131
pullbundle: add an extra test showing how cache are reusable We issue a single final pull, most of its item are reusable.
Sun, 23 Sep 2018 00:08:02 +0200 pullbundle: add caching logic
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 23 Sep 2018 00:08:02 +0200] rev 4130
pullbundle: add caching logic We now only generate a bundle once (and store it to disk). If we need it again, we use it directly from disk.
Sun, 23 Sep 2018 23:41:08 +0200 pullbundle: slice pull into multiple ranges
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 23 Sep 2018 23:41:08 +0200] rev 4129
pullbundle: slice pull into multiple ranges We subdivide the set of missing revisions into multiple "range" using the "stable range" data structure. This slicing aims at maximizing the capability of the resulting ranges.
Sun, 23 Sep 2018 23:53:23 +0200 pullbundle: initial commit
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 23 Sep 2018 23:53:23 +0200] rev 4128
pullbundle: initial commit Right now, we do not do any slicing, but we install the wrapping and the tests.
Fri, 21 Sep 2018 20:02:03 +0200 test: update output to make streamv2 capabilities
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Sep 2018 20:02:03 +0200] rev 4127
test: update output to make streamv2 capabilities CORE-TEST-OUTPUT-UPDATE: 4bd6e444c76f
Fri, 21 Sep 2018 18:33:55 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Sep 2018 18:33:55 +0200] rev 4126
branching: merge with stable
Sat, 22 Sep 2018 13:09:06 +0200 topic: respect preexisting 'topic' value on workingcommitctx stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 22 Sep 2018 13:09:06 +0200] rev 4125
topic: respect preexisting 'topic' value on workingcommitctx Mercurial's core changeset: 6c8ceebce309 revealed an issue. If the creator of a workingcommitctx explicitly assigned a 'topic', it was silently overridden by the current active on. This break import of patch with topic information. We now respect preexisting topic information.
Fri, 21 Sep 2018 19:49:28 +0200 topic: add a compatibility to access transaction's names stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Sep 2018 19:49:28 +0200] rev 4124
topic: add a compatibility to access transaction's names The attribute was made private in 4024c363cd33.
Fri, 21 Sep 2018 17:50:28 +0200 topic: add a compatibility to access transaction's validator stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Sep 2018 17:50:28 +0200] rev 4123
topic: add a compatibility to access transaction's validator The attribute was made private in ebbba3ba3f66.
Fri, 21 Sep 2018 15:52:53 +0530 evovle: remove redundancy in evolve output
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 21 Sep 2018 15:52:53 +0530] rev 4122
evovle: remove redundancy in evolve output Copying the discription of this redundancy issue given by Pierre Yves David: When running `hg evolve` to stabilize orphan changeset output about the currently stabilized changeset is issued. For example: $ hg evolve move:[3] a3 atop:[4] a2 working directory is now at 7c5649f73d11 This output can become quite repetitive when orphan are stabilized atop each other. For example: $ hg evolve --all move:[8] dansk 2! atop:[10] dansk! merging main-file-1 move:[9] dansk 3! atop:[11] dansk 2! In this case it would be smoother to issue: $ hg evolve --all move:[8] dansk 2! atop:[10] dansk! merging main-file-1 move:[9] dansk 3! Since we are moving "dansk 3!" atop the changeset we just stabilized. When adding this be careful that we still want to issue the "atop" message in various cases: 1. first changesets in a stack 2. when the orphan is not stabilized atop previous one 3. when using hg evolve --continue to resume an evolution So, I have made the changes which also respect above listed three points. And changes in tests/test-evovle*.t reflecting the changed behavior.
Fri, 21 Sep 2018 11:58:42 +0200 amend: handle crash before transaction initialization with --patch stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Sep 2018 11:58:42 +0200] rev 4121
amend: handle crash before transaction initialization with --patch The `tr` object can be None.
Tue, 18 Sep 2018 02:14:10 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Sep 2018 02:14:10 +0200] rev 4120
branching: merge with stable
Mon, 17 Sep 2018 09:25:28 -0700 obsdiscovery: adopt to calling convention change stable
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 17 Sep 2018 09:25:28 -0700] rev 4119
obsdiscovery: adopt to calling convention change Upstream commits 71d83b315778 and abce899c985f changed the calling convention of setdiscovery._takefullsample(). We inspect the signature of the function before calling it so we can pass the proper arguments.
Fri, 14 Sep 2018 12:21:32 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 12:21:32 +0200] rev 4118
branching: merge stable into default
Fri, 14 Sep 2018 12:18:22 +0200 packaging: mark as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 12:18:22 +0200] rev 4117
packaging: mark as development version This avoid confusion when people install version from source.
Fri, 14 Sep 2018 12:17:21 +0200 Added tag 8.2.1 for changeset c6362c4abd69 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 12:17:21 +0200] rev 4116
Added tag 8.2.1 for changeset c6362c4abd69
Fri, 14 Sep 2018 12:17:06 +0200 packagin: prepare release 8.2.1 stable 8.2.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 12:17:06 +0200] rev 4115
packagin: prepare release 8.2.1
Fri, 14 Sep 2018 10:51:44 +0200 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 10:51:44 +0200] rev 4114
test-compat: merge mercurial-4.4 into mercurial-4.3
Fri, 14 Sep 2018 10:51:43 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 10:51:43 +0200] rev 4113
test-compat: merge mercurial-4.5 into mercurial-4.4
Fri, 14 Sep 2018 10:51:42 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 10:51:42 +0200] rev 4112
test-compat: merge mercurial-4.6 into mercurial-4.5
Fri, 14 Sep 2018 10:51:40 +0200 test-compat: merge stable into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 10:51:40 +0200] rev 4111
test-compat: merge stable into mercurial-4.6
Fri, 14 Sep 2018 10:47:57 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 10:47:57 +0200] rev 4110
branching: merge stable into default
Fri, 14 Sep 2018 10:39:01 +0200 caches: issue both debug and blackbox log message stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 10:39:01 +0200] rev 4109
caches: issue both debug and blackbox log message This increase the odd someone looking for issue will find them.
Thu, 13 Sep 2018 00:04:17 +0800 cmdrewrite: rename variable and move it closer to where it is used
Anton Shestakov <av6@dwimlabs.net> [Thu, 13 Sep 2018 00:04:17 +0800] rev 4108
cmdrewrite: rename variable and move it closer to where it is used Renaming to satisfy pep8-naming linter plugin, which complained on this variable because all-uppercase names are reserved for constants, and constants need to be module-level. This variable is not a good choice for moving up to the module level because it's used only in one place. Additionally, let's have it closer to the place it's actually used to potentially avoid an extra call to _() function (however cheap it may be).
Thu, 13 Sep 2018 19:46:05 +0200 changelog: mention the cache improvements stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 19:46:05 +0200] rev 4107
changelog: mention the cache improvements
Thu, 13 Sep 2018 17:09:44 +0200 obshashrangecache: be more paranoid in the errors we catch stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 17:09:44 +0200] rev 4106
obshashrangecache: be more paranoid in the errors we catch It seems like there error were already covered. Better safe than sorry.
Thu, 13 Sep 2018 17:09:34 +0200 stablerangecache: be more paranoid in the errors we catch stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 17:09:34 +0200] rev 4105
stablerangecache: be more paranoid in the errors we catch It seems like there error were already covered. Better safe than sorry.
Thu, 13 Sep 2018 19:22:03 +0200 stablesortcache: update the variable tracking on-disk state after write stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 19:22:03 +0200] rev 4104
stablesortcache: update the variable tracking on-disk state after write Since we updated the on disk content, we should update that value. In practice the object will likely be discarded after the write, but there is nothing wrong in being more correct.
Thu, 13 Sep 2018 19:22:39 +0200 stablesortcache: ignore permission and OS errors when writing stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 19:22:39 +0200] rev 4103
stablesortcache: ignore permission and OS errors when writing This cache is related to the obshashrange one and we update it lazily by default. This can be an issue when pulling locally from a read only repository that was not configured for a more aggressive cache warming. The raised permission error was uncaught and could crash the whole process. Errors during cache update should not block Mercurial operations.
Thu, 13 Sep 2018 19:09:48 +0200 firstmergecache: update the variable tracking on-disk state after write stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 19:09:48 +0200] rev 4102
firstmergecache: update the variable tracking on-disk state after write Since we updated the on disk content, we should update that value. In practice the object will likely be discarded after the write, but there is nothing wrong in being more correct.
Thu, 13 Sep 2018 17:08:18 +0200 firstmergecache: ignore permission and OS errors when writing stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 17:08:18 +0200] rev 4101
firstmergecache: ignore permission and OS errors when writing This cache is related to the obshashrange one and we update it lazily by default. This can be an issue when pulling locally from a read only repository that was not configured for a more aggressive cache warming. The raised permission error was uncaught and could crash the whole process. Errors during cache update should not block Mercurial operations.
Thu, 13 Sep 2018 18:56:04 +0200 depthcache: update the variable tracking on disk state after write stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 18:56:04 +0200] rev 4100
depthcache: update the variable tracking on disk state after write Since we updated the on disk content, we should update that value. In practice the object will likely be discarded after the write, but there is nothing wrong in being more correct.
Thu, 13 Sep 2018 17:08:05 +0200 depthcache: ignore permission and OS errors when writing stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 17:08:05 +0200] rev 4099
depthcache: ignore permission and OS errors when writing This cache is related to the obshashrange one and we update it lazily by default. This can be an issue when pulling locally from a read only repository that was not configured for a more aggressive cache warming. The raised permission error was uncaught and could crash the whole process. Errors during Cache update should not block Mercurial operations.
Thu, 13 Sep 2018 18:20:50 +0200 obscache: update the variable tracking on disk state after write stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 18:20:50 +0200] rev 4098
obscache: update the variable tracking on disk state after write Since we updated the on disk content, we should update that value. In practice the object will likely be discarded after the write, but there is nothing wrong in being more correct.
Thu, 13 Sep 2018 18:21:07 +0200 obscache: ignore permission and OS errors when writing stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 18:21:07 +0200] rev 4097
obscache: ignore permission and OS errors when writing In practice we always update this cache along side a new transaction, with lock taken so permission issues should not happens. However, staying on the safe side is better. Errors during Cache update should not block Mercurial operations.
Thu, 13 Sep 2018 02:49:58 +0200 obshashrange: force reset if many changes stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 02:49:58 +0200] rev 4096
obshashrange: force reset if many changes If there is many new markers (or the markers affect many changesets) resetting affected changeset can get slow. A common case for that is then changeset and markers are added in different transaction, (eg: when using clone bundle). When we detect such case, we reset the obshashrange cache, rewarming it should be faster. Here many is arbitrarily set to 10 000. The number might get adjusted.
Tue, 04 Sep 2018 19:30:19 +0800 topic: refactor revset.py slightly
Anton Shestakov <av6@dwimlabs.net> [Tue, 04 Sep 2018 19:30:19 +0800] rev 4095
topic: refactor revset.py slightly Checking both kind == 'literal' and topic.startswith('literal:') seems to be redundant, because of how stringutil.stringmatcher() works.
Wed, 12 Sep 2018 12:02:17 +0200 test: update output to match new `hg verify` reports
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 12 Sep 2018 12:02:17 +0200] rev 4094
test: update output to match new `hg verify` reports CORE-TEST-OUTPUT-UPDATE: f1186c292d03
Wed, 12 Sep 2018 11:53:41 +0200 test: update output to match new "pull" phase report
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 12 Sep 2018 11:53:41 +0200] rev 4093
test: update output to match new "pull" phase report CORE-TEST-OUTPUT-UPDATE: 89630d0b3e23
Wed, 12 Sep 2018 10:37:14 +0200 test: adapt to change in revert messages order
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 12 Sep 2018 10:37:14 +0200] rev 4092
test: adapt to change in revert messages order CORE-TEST-OUTPUT-UPDATE: cb70501d8b71
Fri, 07 Sep 2018 11:08:47 -0700 rewind: fix help text (mostly grammar, but also s/precursor/predecessor) stable
Martin von Zweigbergk <martinvonz@google.com> [Fri, 07 Sep 2018 11:08:47 -0700] rev 4091
rewind: fix help text (mostly grammar, but also s/precursor/predecessor)
Thu, 06 Sep 2018 16:14:24 -0700 evolve: fix use of "'%d' % ctx" stable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 06 Sep 2018 16:14:24 -0700] rev 4090
evolve: fix use of "'%d' % ctx" ctx has not been convertible to int since Mercurial commit 38f480502043 (context: remove basectx.__int__ (API), 2018-02-24). I decided to use "%s" instead to match other similar messages in evolvecmd.py. I also added a space to match the other messages.
Thu, 06 Sep 2018 23:24:26 -0400 stablerange: only issue the message once stable
Gerald Squelart <gsquelart@mozilla.com> [Thu, 06 Sep 2018 23:24:26 -0400] rev 4089
stablerange: only issue the message once There is a flag to prevent issuing the long load message multiple time. However, it was never set. This is now fixed
Fri, 07 Sep 2018 00:06:00 -0400 changelog: fix version number stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 07 Sep 2018 00:06:00 -0400] rev 4088
changelog: fix version number
Mon, 03 Sep 2018 23:30:28 +0200 branching: merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 23:30:28 +0200] rev 4087
branching: merge back with stable
Mon, 03 Sep 2018 23:29:15 +0200 packaing: mark as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 23:29:15 +0200] rev 4086
packaing: mark as development version This help avoid confusion when installing in progress work.
Mon, 03 Sep 2018 23:27:54 +0200 Added tag 8.2.0 for changeset 8d8f08245f97 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 23:27:54 +0200] rev 4085
Added tag 8.2.0 for changeset 8d8f08245f97
Mon, 03 Sep 2018 23:21:39 +0200 branching: merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 23:21:39 +0200] rev 4084
branching: merge back with stable
Mon, 03 Sep 2018 23:17:50 +0200 packaging: prepare new release stable 8.2.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 23:17:50 +0200] rev 4083
packaging: prepare new release
Mon, 03 Sep 2018 22:59:20 +0200 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:59:20 +0200] rev 4082
test-compat: merge mercurial-4.4 into mercurial-4.3
Mon, 03 Sep 2018 22:59:19 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:59:19 +0200] rev 4081
test-compat: merge mercurial-4.5 into mercurial-4.4
Mon, 03 Sep 2018 22:59:18 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:59:18 +0200] rev 4080
test-compat: merge mercurial-4.6 into mercurial-4.5
Mon, 03 Sep 2018 22:59:16 +0200 test-compat: merge stable into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:59:16 +0200] rev 4079
test-compat: merge stable into mercurial-4.6
Mon, 03 Sep 2018 22:47:18 +0200 topic: rework topic templatekw declaration to be 4.5 compatible again stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:47:18 +0200] rev 4078
topic: rework topic templatekw declaration to be 4.5 compatible again Mercurial prior to 4.5 does not have a requires keyword, so we need a compatibility layer.
Mon, 03 Sep 2018 22:09:26 +0200 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:09:26 +0200] rev 4077
test-compat: merge mercurial-4.4 into mercurial-4.3
Mon, 03 Sep 2018 22:06:12 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:06:12 +0200] rev 4076
test-compat: merge mercurial-4.5 into mercurial-4.4
Mon, 03 Sep 2018 22:05:12 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:05:12 +0200] rev 4075
test-compat: merge mercurial-4.6 into mercurial-4.5
Mon, 03 Sep 2018 21:59:24 +0200 test-compat: merge stable into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 21:59:24 +0200] rev 4074
test-compat: merge stable into mercurial-4.6
Mon, 03 Sep 2018 21:08:33 +0200 branching: merge the two stable heads stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 21:08:33 +0200] rev 4073
branching: merge the two stable heads
Mon, 03 Sep 2018 17:21:16 +0200 test-output: backout test output update in 8fcee1e65e29 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 17:21:16 +0200] rev 4072
test-output: backout test output update in 8fcee1e65e29
Mon, 03 Sep 2018 17:20:28 +0200 test-output: backout test output update in 503ae2689df8 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 17:20:28 +0200] rev 4071
test-output: backout test output update in 503ae2689df8
Mon, 03 Sep 2018 20:54:17 +0200 topic: update the changelog with the 's#' alias change
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 20:54:17 +0200] rev 4070
topic: update the changelog with the 's#' alias change
Mon, 03 Sep 2018 20:53:12 +0200 topic: update other occurrence of 't0' is 's0' in the code
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 20:53:12 +0200] rev 4069
topic: update other occurrence of 't0' is 's0' in the code
Mon, 03 Sep 2018 17:28:50 +0200 topic: mention t0 in topic documentation stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 17:28:50 +0200] rev 4068
topic: mention t0 in topic documentation
Mon, 03 Sep 2018 17:07:36 +0200 stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 17:07:36 +0200] rev 4067
stack: display 's#' instead of 't#' and 'b#' If we want people to use it, we should display it.
Mon, 03 Sep 2018 16:41:32 +0200 stack: clarify s# error message in case of branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 16:41:32 +0200] rev 4066
stack: clarify s# error message in case of branch A branch might have a lots of changeset, with all of them public.
Mon, 03 Sep 2018 16:29:02 +0200 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 16:29:02 +0200] rev 4065
alias: allow reference through 's#' We keep the 't#' option, but we hope to be able to deprecate it at some point. We move to 's#' because it refers to `stack` a more generic concept. than topic. In addition, this allows to phase out 'b#' that collide with normal hex-node.
Sat, 01 Sep 2018 14:00:41 +0200 topic-revset: get the list of revset through the official localrepo API
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 01 Sep 2018 14:00:41 +0200] rev 4064
topic-revset: get the list of revset through the official localrepo API This is simpler and faster. In addition we tighter the logic to be used in case of empty topic. We do not need to fall back to revision search.
Sat, 01 Sep 2018 21:47:00 +0200 topic-revset: strictly read string
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 01 Sep 2018 21:47:00 +0200] rev 4063
topic-revset: strictly read string Making a clear distinction between string and symbol passed to topic is important when it comes to empty topic. Filtering an empty topic name is harmless. Searching a non existent revision is not.
Sat, 01 Sep 2018 21:45:15 +0200 test: search for empty topic as a string
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 01 Sep 2018 21:45:15 +0200] rev 4062
test: search for empty topic as a string The reduce the ambiguity in the test to help with the next change.
Thu, 30 Aug 2018 21:05:17 +0800 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Aug 2018 21:05:17 +0800] rev 4061
topic: handle ambiguous arguments to topic() revset These arguments can be interpreted as either string or a revset. The decision is made based on existence of topic with such a name. This matches the behavior of branch() revset. The code needs to know all topics that ever existed in the repo, because some commands report "disappearance" of topics after certain operations, using this revset (e.g. via stack.stack or repo.revs).
Thu, 30 Aug 2018 20:21:17 +0800 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Aug 2018 20:21:17 +0800] rev 4060
topic: handle revsets passed to topic() revset This handles cases when the argument can't be interpreted as a string at all.
Thu, 30 Aug 2018 19:13:56 +0800 topic: handle string argument to topic() revset earlier
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Aug 2018 19:13:56 +0800] rev 4059
topic: handle string argument to topic() revset earlier
Thu, 30 Aug 2018 18:02:41 +0800 topic: prepare to handle non-string arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Aug 2018 18:02:41 +0800] rev 4058
topic: prepare to handle non-string arguments to topic() revset
Thu, 30 Aug 2018 17:42:11 +0800 topic: return result early if there are no arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Aug 2018 17:42:11 +0800] rev 4057
topic: return result early if there are no arguments to topic() revset
Fri, 31 Aug 2018 00:31:01 +0200 obshashrange: enable by default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 00:31:01 +0200] rev 4056
obshashrange: enable by default We have been testing this in various placed and specific stress test have been performed. It is time to enable this by default
Thu, 30 Aug 2018 22:50:26 +0200 obshashrange: issue a warning if the cache takes a long time to load
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Aug 2018 22:50:26 +0200] rev 4055
obshashrange: issue a warning if the cache takes a long time to load The -current- implementation of the obshashrange cache can get slow. This will be fixed eventually, in the mean time we inform people on large repository of what have been going on. Since we are about to enable obshashrange by default, we need to make sure nobody will have an (unexplained) bad surprise.
Fri, 31 Aug 2018 14:26:37 +0200 pick: fix last references of grab in code
Boris Feld <boris.feld@octobus.net> [Fri, 31 Aug 2018 14:26:37 +0200] rev 4054
pick: fix last references of grab in code Grab was still referenced on comments and variable names.
Fri, 31 Aug 2018 09:21:19 +0200 pick: replace `hg grab` invocation in test with `hg pick`
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:21:19 +0200] rev 4053
pick: replace `hg grab` invocation in test with `hg pick`
Fri, 31 Aug 2018 09:20:21 +0200 pick: replace "grabstate" with "pickstate"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:20:21 +0200] rev 4052
pick: replace "grabstate" with "pickstate"
Fri, 31 Aug 2018 09:19:13 +0200 pick: use "pick" as operation name in obsolescence markers
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:19:13 +0200] rev 4051
pick: use "pick" as operation name in obsolescence markers
Fri, 31 Aug 2018 12:45:56 +0200 pick: use "pick" instead of "grab" for various internal API
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 12:45:56 +0200] rev 4050
pick: use "pick" instead of "grab" for various internal API This should not much user visible impact but this is cleaner.
Fri, 31 Aug 2018 09:13:11 +0200 pick: update command output to mention pick instead of grab
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:13:11 +0200] rev 4049
pick: update command output to mention pick instead of grab
Fri, 31 Aug 2018 09:11:04 +0200 pick: rename the grab command to pick
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:11:04 +0200] rev 4048
pick: rename the grab command to pick Grab is ambiguous with "graft", "pick" match the associated verb in histedit. The "grab" name is preserved as an alias for now.
Fri, 31 Aug 2018 09:08:13 +0200 grab: prefix function with 'cmd' as for the other command in the extension
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:08:13 +0200] rev 4047
grab: prefix function with 'cmd' as for the other command in the extension
Thu, 30 Aug 2018 19:40:18 +0200 readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Aug 2018 19:40:18 +0200] rev 4046
readme: document the purpose of the evolve extension Another place for the explanation to live.
Thu, 30 Aug 2018 19:50:39 +0200 prune: replace --biject with --pair
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Aug 2018 19:50:39 +0200] rev 4045
prune: replace --biject with --pair People have been complaining about `--biject` being to obscure for a while. A recent discussion with Pulkit Goyal and Dan Villiom Podlaski Christiansen produce some new concrete proposal that we liked. We eventually settle on using `--pair`. The `--biject` flag will be kept as an alias for a while.
Tue, 28 Aug 2018 21:28:41 +0800 topic: check that repo.currenttopic is set before using it as an argument
Anton Shestakov <av6@dwimlabs.net> [Tue, 28 Aug 2018 21:28:41 +0800] rev 4044
topic: check that repo.currenttopic is set before using it as an argument repo.currenttopic can be an empty string, which means there's no current topic set. This fact can be used to short-circuit some checks. Also, this avoids passing an empty string as an argument to topic() revset.
Wed, 29 Aug 2018 18:59:07 +0200 test: update output after merge message change
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 18:59:07 +0200] rev 4043
test: update output after merge message change CORE-TEST-OUTPUT-UPDATE: f785073f792c CORE-TEST-OUTPUT-UPDATE: a3fd84f4fb38
Wed, 29 Aug 2018 17:32:47 +0200 readme: document the tag we use on output change
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 17:32:47 +0200] rev 4042
readme: document the tag we use on output change
Wed, 29 Aug 2018 17:23:25 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 17:23:25 +0200] rev 4041
branching: merge with stable
Wed, 29 Aug 2018 10:46:37 +0200 packaging: fix debian version numbers stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 10:46:37 +0200] rev 4040
packaging: fix debian version numbers
Wed, 29 Aug 2018 10:46:37 +0200 packaging: fix debian version numbers
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 10:46:37 +0200] rev 4039
packaging: fix debian version numbers
Tue, 28 Aug 2018 21:53:42 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 21:53:42 +0200] rev 4038
branching: merge stable into default
Tue, 28 Aug 2018 21:53:07 +0200 packaging: mark in progress work as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 21:53:07 +0200] rev 4037
packaging: mark in progress work as development version This avoid confusion when people install development version.
Tue, 28 Aug 2018 20:30:57 +0200 Added tag 8.1.2 for changeset f1cde4c97806 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 20:30:57 +0200] rev 4036
Added tag 8.1.2 for changeset f1cde4c97806
Tue, 28 Aug 2018 19:59:20 +0200 packagin: prepare version 8.1.2 stable 8.1.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 19:59:20 +0200] rev 4035
packagin: prepare version 8.1.2
Tue, 28 Aug 2018 20:00:46 +0200 obshashrange: force obshashrange invalidation by bumping schema stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 20:00:46 +0200] rev 4034
obshashrange: force obshashrange invalidation by bumping schema The fix in 8.1.1 deserve recomputing the obs hash range cache. So we bump its schema version to declare the older cache invalid. The other caches, including the expensive stablerange are unaffected.
Tue, 28 Aug 2018 11:25:32 +0200 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:25:32 +0200] rev 4033
test-compat: merge mercurial-4.4 into mercurial-4.3
Tue, 28 Aug 2018 11:24:52 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:24:52 +0200] rev 4032
test-compat: merge mercurial-4.5 into mercurial-4.4
Tue, 28 Aug 2018 11:24:50 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:24:50 +0200] rev 4031
test-compat: merge mercurial-4.6 into mercurial-4.5
Tue, 28 Aug 2018 11:24:49 +0200 test-compat: merge stable into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:24:49 +0200] rev 4030
test-compat: merge stable into mercurial-4.6
Tue, 28 Aug 2018 11:18:58 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:18:58 +0200] rev 4029
branching: merge with stable
Tue, 28 Aug 2018 10:24:18 +0200 changelog: mention the database robutness fix in the changelog stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 10:24:18 +0200] rev 4028
changelog: mention the database robutness fix in the changelog
Mon, 27 Aug 2018 12:40:47 +0200 sqlcache: also catch malformed database error stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:40:47 +0200] rev 4027
sqlcache: also catch malformed database error This is apparently another way for sqlite to fail at concurrency.
Mon, 27 Aug 2018 12:40:41 +0200 stablerange: rework saving logic to be clearer and safer stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:40:41 +0200] rev 4026
stablerange: rework saving logic to be clearer and safer
Mon, 27 Aug 2018 12:12:49 +0200 obshashrange: rework saving branching to be clearer and safer stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:12:49 +0200] rev 4025
obshashrange: rework saving branching to be clearer and safer
Mon, 27 Aug 2018 11:40:32 +0200 sqlcache: protect read query too stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:40:32 +0200] rev 4024
sqlcache: protect read query too Some error (like locked database) can even happens when doing readonly operation. So we protect them too. At that point, it seems that pysqlite3 is not the right tool for this job.
Mon, 27 Aug 2018 11:33:09 +0200 sqlite: fast path when nothing to save stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:33:09 +0200] rev 4023
sqlite: fast path when nothing to save If we have no new data to save, we should try to do anything. Doing something concurrently is hard enough. If we can avoid doing it at all that would be great.
Mon, 27 Aug 2018 11:27:04 +0200 sqlcache: initialize meta table last stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:27:04 +0200] rev 4022
sqlcache: initialize meta table last It turns out that pysqlite commit after each table creation. This commit is an hopeless attemps to make the caches more concurrent friendly.
Mon, 27 Aug 2018 10:20:15 +0200 obshashrange: always check in base cachekey against the recorded one stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 10:20:15 +0200] rev 4021
obshashrange: always check in base cachekey against the recorded one Ignoring the check in the none case is just disaster waiting to happens.
Mon, 27 Aug 2018 10:16:12 +0200 stablerangecache: fix output in the drifted case stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 10:16:12 +0200] rev 4020
stablerangecache: fix output in the drifted case The node were not hex, and the field had different order in the pair. This is now fixed.
Mon, 27 Aug 2018 00:35:51 +0200 sqlcache: also ignore integrity error stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:35:51 +0200] rev 4019
sqlcache: also ignore integrity error integrity error can happens when multiple client tries to warm similar cache. Given we leave multiple hole in the cache that can be warmed by anyone, this is harder to avoid that we would like. We simply catch the error in this case. Someone will warm the missing entry later.
Mon, 27 Aug 2018 00:28:19 +0200 sqlcache: cache OperationError when saving stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:28:19 +0200] rev 4018
sqlcache: cache OperationError when saving This is a cache, so we should not crash when trying to operate on it. OperationError can happens when the database is seen as readonly or locked.
Mon, 27 Aug 2018 00:18:06 +0200 sqlcache: passe better connection option stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:18:06 +0200] rev 4017
sqlcache: passe better connection option These new options should help with handling transaction consistency and database access on high load.
Sun, 26 Aug 2018 20:55:26 +0200 contrib: introduce a small script to stress tests obsolescence exchange stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 26 Aug 2018 20:55:26 +0200] rev 4016
contrib: introduce a small script to stress tests obsolescence exchange Tester have been reporting some error that seems to originate from concurrent access/update to the cache. This script will be useful to reproduce these situations locally.
Tue, 28 Aug 2018 10:24:18 +0200 changelog: mention the database robutness fix in the changelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 10:24:18 +0200] rev 4015
changelog: mention the database robutness fix in the changelog
Mon, 27 Aug 2018 12:40:47 +0200 sqlcache: also catch malformed database error
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:40:47 +0200] rev 4014
sqlcache: also catch malformed database error This is apparently another way for sqlite to fail at concurrency.
Mon, 27 Aug 2018 12:40:41 +0200 stablerange: rework saving logic to be clearer and safer
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:40:41 +0200] rev 4013
stablerange: rework saving logic to be clearer and safer
Mon, 27 Aug 2018 12:12:49 +0200 obshashrange: rework saving branching to be clearer and safer
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:12:49 +0200] rev 4012
obshashrange: rework saving branching to be clearer and safer
Mon, 27 Aug 2018 11:40:32 +0200 sqlcache: protect read query too
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:40:32 +0200] rev 4011
sqlcache: protect read query too Some error (like locked database) can even happens when doing readonly operation. So we protect them too. At that point, it seems that pysqlite3 is not the right tool for this job.
Mon, 27 Aug 2018 11:33:09 +0200 sqlite: fast path when nothing to save
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:33:09 +0200] rev 4010
sqlite: fast path when nothing to save If we have no new data to save, we should try to do anything. Doing something concurrently is hard enough. If we can avoid doing it at all that would be great.
Mon, 27 Aug 2018 11:27:04 +0200 sqlcache: initialize meta table last
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:27:04 +0200] rev 4009
sqlcache: initialize meta table last It turns out that pysqlite commit after each table creation. This commit is an hopeless attemps to make the caches more concurrent friendly.
Mon, 27 Aug 2018 10:20:15 +0200 obshashrange: always check in base cachekey against the recorded one
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 10:20:15 +0200] rev 4008
obshashrange: always check in base cachekey against the recorded one Ignoring the check in the none case is just disaster waiting to happens.
Mon, 27 Aug 2018 10:16:12 +0200 stablerangecache: fix output in the drifted case
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 10:16:12 +0200] rev 4007
stablerangecache: fix output in the drifted case The node were not hex, and the field had different order in the pair. This is now fixed.
Mon, 27 Aug 2018 00:35:51 +0200 sqlcache: also ignore integrity error
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:35:51 +0200] rev 4006
sqlcache: also ignore integrity error integrity error can happens when multiple client tries to warm similar cache. Given we leave multiple hole in the cache that can be warmed by anyone, this is harder to avoid that we would like. We simply catch the error in this case. Someone will warm the missing entry later.
Mon, 27 Aug 2018 00:28:19 +0200 sqlcache: cache OperationError when saving
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:28:19 +0200] rev 4005
sqlcache: cache OperationError when saving This is a cache, so we should not crash when trying to operate on it. OperationError can happens when the database is seen as readonly or locked.
Mon, 27 Aug 2018 00:18:06 +0200 sqlcache: passe better connection option
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:18:06 +0200] rev 4004
sqlcache: passe better connection option These new options should help with handling transaction consistency and database access on high load.
Sun, 26 Aug 2018 20:55:26 +0200 contrib: introduce a small script to stress tests obsolescence exchange
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 26 Aug 2018 20:55:26 +0200] rev 4003
contrib: introduce a small script to stress tests obsolescence exchange Tester have been reporting some error that seems to originate from concurrent access/update to the cache. This script will be useful to reproduce these situations locally.
Tue, 21 Aug 2018 14:09:33 +0200 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 14:09:33 +0200] rev 4002
test-compat: merge mercurial-4.4 into mercurial-4.3
Tue, 21 Aug 2018 13:59:27 +0200 test: adjust glob in previous changeset mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 13:59:27 +0200] rev 4001
test: adjust glob in previous changeset I forgot to glob the time.
Tue, 21 Aug 2018 15:32:02 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 15:32:02 +0200] rev 4000
branching: merge with stable
Tue, 21 Aug 2018 15:30:54 +0200 packaging: mark as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 15:30:54 +0200] rev 3999
packaging: mark as development version This avoid confusion.
Tue, 21 Aug 2018 15:29:32 +0200 Added tag 8.1.1 for changeset e7abf863e113 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 15:29:32 +0200] rev 3998
Added tag 8.1.1 for changeset e7abf863e113
Tue, 21 Aug 2018 15:29:13 +0200 packaging: prepare release 8.1.1 stable 8.1.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 15:29:13 +0200] rev 3997
packaging: prepare release 8.1.1 Topic is untouched so we keep the previous version number.
Tue, 21 Aug 2018 14:23:47 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 14:23:47 +0200] rev 3996
branching: merge with stable
Tue, 21 Aug 2018 13:26:35 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 13:26:35 +0200] rev 3995
test-compat: merge mercurial-4.5 into mercurial-4.4
Tue, 21 Aug 2018 13:25:29 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 13:25:29 +0200] rev 3994
test-compat: merge mercurial-4.6 into mercurial-4.5
Tue, 21 Aug 2018 13:25:28 +0200 test-compat: merge stable into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 13:25:28 +0200] rev 3993
test-compat: merge stable into mercurial-4.6
Tue, 21 Aug 2018 13:18:52 +0200 changelog: add a line about improved prune documentation stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 13:18:52 +0200] rev 3992
changelog: add a line about improved prune documentation
Tue, 21 Aug 2018 13:17:27 +0200 changelog: reorder content stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 13:17:27 +0200] rev 3991
changelog: reorder content
Tue, 21 Aug 2018 12:13:28 +0200 prune: more human-friendly documentation stable
Dan Villiom Podlaski Christiansen <dan@magenta.dk> [Tue, 21 Aug 2018 12:13:28 +0200] rev 3990
prune: more human-friendly documentation The previous help string generally had a highly technical language. I've tried my best to address that.
Tue, 21 Aug 2018 12:14:04 +0200 prune: improve help first line stable
Dan Villiom Podlaski Christiansen <dan@magenta.dk> [Tue, 21 Aug 2018 12:14:04 +0200] rev 3989
prune: improve help first line The previous help string for prune didn't mention successors in the first line. Note: Pierre-Yves David changed the original "hidden" to "obsolete" as it is better concept to put forward. (a bit more specific and with more consequence than just "hidden"). We need a good `hg help obsolete/obsolescence` result. We'll try to get this in the next version.
Tue, 21 Aug 2018 12:21:05 +0200 prune: try to clarify the "multi" revisions case stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 12:21:05 +0200] rev 3988
prune: try to clarify the "multi" revisions case I hope this highlight the use case for all three options.
Tue, 21 Aug 2018 12:21:59 +0200 prune: move help about biject after the one about split and fold stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 12:21:59 +0200] rev 3987
prune: move help about biject after the one about split and fold The --biject flag seems a less common use case.
Tue, 21 Aug 2018 12:18:11 +0200 prune: no longer consider dropping --biject stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 12:18:11 +0200] rev 3986
prune: no longer consider dropping --biject Field testing show it save people one wrong call often enough that it is worth keeping.
Tue, 21 Aug 2018 12:13:01 +0200 prune: more human-friendly documentation for --biject stable
Dan Villiom Podlaski Christiansen <dan@magenta.dk> [Tue, 21 Aug 2018 12:13:01 +0200] rev 3985
prune: more human-friendly documentation for --biject
Tue, 21 Aug 2018 11:56:49 +0200 prune: use ``-s/--succ`` in documentation stable
Dan Villiom Podlaski Christiansen <dan@magenta.dk> [Tue, 21 Aug 2018 11:56:49 +0200] rev 3984
prune: use ``-s/--succ`` in documentation Extracted by Pierre-Yves David
Tue, 21 Aug 2018 04:08:38 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 04:08:38 +0200] rev 3983
branching: merge with stable
Tue, 21 Aug 2018 04:05:12 +0200 compat: import the module dagutil module in evolve
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 04:05:12 +0200] rev 3982
compat: import the module dagutil module in evolve Discovery code is core have been rewritten to no longer depends on dagutil and the module have been removed. This break evolve's obsmarker discovery (older version of the discovery use the same concept).. A quick work around is to import the dagutil module in evolve and use that for now.
Mon, 20 Aug 2018 12:21:39 +0300 evolve: delete evolvestate after aborting interrupted `next --evolve` stable
Pulkit Goyal <pulkit@yandex-team.ru> [Mon, 20 Aug 2018 12:21:39 +0300] rev 3981
evolve: delete evolvestate after aborting interrupted `next --evolve` We didn't use to delete the evolvestate after aborting an interrupted `next --evolve`. This patch makes sure we do that. The test changes demonstrate the fix and we add a CHANGELOG entry about the fix.
Mon, 20 Aug 2018 12:19:05 +0300 tests: check that we delete evolvestate correctly after abort/stop stable
Pulkit Goyal <pulkit@yandex-team.ru> [Mon, 20 Aug 2018 12:19:05 +0300] rev 3980
tests: check that we delete evolvestate correctly after abort/stop This patch adds test to check whether we delete the evolvestate correctly after aborting or stopping an interrupted evolve which is caused because of `next --evolve`.
Mon, 20 Aug 2018 23:04:37 +0200 changelog: update with issue5927 fix stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 20 Aug 2018 23:04:37 +0200] rev 3979
changelog: update with issue5927 fix
Sat, 18 Aug 2018 21:03:45 +0530 evolve: set the second parent if we get conflicts while evolving stable
Pulkit Goyal <pulkit@yandex-team.ru> [Sat, 18 Aug 2018 21:03:45 +0530] rev 3978
evolve: set the second parent if we get conflicts while evolving This patch makes sure we set the second parent correctly if we run into conflicts while evolving. Also, we need to make sure to reset to one parent before committing.
Sat, 18 Aug 2018 21:01:14 +0530 evolvecmd: import mercurial.node module as nodemod stable
Pulkit Goyal <pulkit@yandex-team.ru> [Sat, 18 Aug 2018 21:01:14 +0530] rev 3977
evolvecmd: import mercurial.node module as nodemod We use node as a variable name at few places and the conflicts with variable name are not good. Moreover this practice is followed in core mercurial also.
Sat, 18 Aug 2018 20:24:41 +0530 tests: demonstrate the interrupted evolve does not set p2 stable
Pulkit Goyal <pulkit@yandex-team.ru> [Sat, 18 Aug 2018 20:24:41 +0530] rev 3976
tests: demonstrate the interrupted evolve does not set p2 This patch adds a test to demonstrate issue5927 which is about evolving not setting p2 correctly in interruption.
Sat, 18 Aug 2018 01:32:52 +0200 cleanup: remove unused import
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 18 Aug 2018 01:32:52 +0200] rev 3975
cleanup: remove unused import
Sat, 18 Aug 2018 01:03:19 +0200 cleanup: remove old comment that lost all meaning
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 18 Aug 2018 01:03:19 +0200] rev 3974
cleanup: remove old comment that lost all meaning
Sat, 18 Aug 2018 01:02:52 +0200 template: remove compatibility layer for `showobsolete`
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 18 Aug 2018 01:02:52 +0200] rev 3973
template: remove compatibility layer for `showobsolete` The keyword exist in core since 4.2
Sat, 18 Aug 2018 01:06:30 +0200 exthelper: drop compatibility layer for `command`
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 18 Aug 2018 01:06:30 +0200] rev 3972
exthelper: drop compatibility layer for `command` We dropped support for 4.2.
Sat, 18 Aug 2018 01:05:00 +0200 topic: drop compat layer for `command`
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 18 Aug 2018 01:05:00 +0200] rev 3971
topic: drop compat layer for `command` We dropped support for 4.2
Sat, 18 Aug 2018 01:00:08 +0200 legacy: drop compat layer for "command"
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 18 Aug 2018 01:00:08 +0200] rev 3970
legacy: drop compat layer for "command"
Sat, 18 Aug 2018 00:59:44 +0200 drophack: drop compat layer for "command"
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 18 Aug 2018 00:59:44 +0200] rev 3969
drophack: drop compat layer for "command"
Sat, 18 Aug 2018 00:53:12 +0200 compat: drop compatibility layer for updatecaches
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 18 Aug 2018 00:53:12 +0200] rev 3968
compat: drop compatibility layer for updatecaches The `repo.updatecaches` method is support since Mercurial 4.2
Sat, 18 Aug 2018 00:48:05 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 18 Aug 2018 00:48:05 +0200] rev 3967
branching: merge with stable
Fri, 17 Aug 2018 16:26:44 +0200 obshashrange: force saving of stablesort and firstmerge cache stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Aug 2018 16:26:44 +0200] rev 3966
obshashrange: force saving of stablesort and firstmerge cache For some reason the check in repo is not working for stable sort. We also force firstmerge to be saved as test show it was missing.
Fri, 17 Aug 2018 13:31:35 +0200 test: add a test about cache warming stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Aug 2018 13:31:35 +0200] rev 3965
test: add a test about cache warming This test reveal that multiple cache are not saved to disk after discovery (firstmerge, stablesort).
Fri, 17 Aug 2018 12:56:13 +0200 stablerange: save stablesort cache alongside the stablerange one stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Aug 2018 12:56:13 +0200] rev 3964
stablerange: save stablesort cache alongside the stablerange one This one does not introduce inconsistency but helps performance. G: changed hgext3rd/evolve/stablerangecache.py
Fri, 17 Aug 2018 12:07:55 +0200 obshashrange: always save stable range cache alongside the obshashrange one stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Aug 2018 12:07:55 +0200] rev 3963
obshashrange: always save stable range cache alongside the obshashrange one If the on disk date cover different area, the invalidation of affected range will misbehave.
Fri, 17 Aug 2018 12:06:43 +0200 obshashrange: clear in-memory cache alongside the sqlite one stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Aug 2018 12:06:43 +0200] rev 3962
obshashrange: clear in-memory cache alongside the sqlite one Clearing on disk data in nice, but we also need to remove in memory one or we'll get incorrect results.
Fri, 17 Aug 2018 01:07:37 +0200 branching: merge with fixes on stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Aug 2018 01:07:37 +0200] rev 3961
branching: merge with fixes on stable
Fri, 17 Aug 2018 01:04:49 +0200 changelog: summarize the recent improvement stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Aug 2018 01:04:49 +0200] rev 3960
changelog: summarize the recent improvement
Fri, 17 Aug 2018 00:27:10 +0200 obshashrange: re-enabled more selective pruning of affected range stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Aug 2018 00:27:10 +0200] rev 3959
obshashrange: re-enabled more selective pruning of affected range
Fri, 17 Aug 2018 00:23:20 +0200 obshashrange: fix computation of affected ranges stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Aug 2018 00:23:20 +0200] rev 3958
obshashrange: fix computation of affected ranges The computation of impacted nodes and associated revs is fully reworked. In addition,we introduce multiple new tests covering cases that were previous wrongly handled.
Thu, 16 Aug 2018 22:45:36 +0200 obshashrange: add more validation output to tests stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 16 Aug 2018 22:45:36 +0200] rev 3957
obshashrange: add more validation output to tests We are about to update the logic and add more tests.
Thu, 16 Aug 2018 21:12:57 +0200 obshashrange: correctly detect changeset directly affected by prune stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 16 Aug 2018 21:12:57 +0200] rev 3956
obshashrange: correctly detect changeset directly affected by prune Before this changesets, parent of standard obsmarkers were wrongly considered affected and pruned changeset were wrongly not considered affected.
Thu, 16 Aug 2018 21:18:18 +0200 obshashrange: do not search for affected ranges above the highest we have stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 16 Aug 2018 21:18:18 +0200] rev 3955
obshashrange: do not search for affected ranges above the highest we have It is a fast way to know we don't have an affected range for an affected revision.
Thu, 16 Aug 2018 20:49:55 +0200 obshashrange: do not search for affected stable range cache is unavailable stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 16 Aug 2018 20:49:55 +0200] rev 3954
obshashrange: do not search for affected stable range cache is unavailable Before this changeset we where resetting in all cases, and then looking for affected ranges. In addition is the stable range were not available, the functions silently returned no ranges affected. Now, do one or the other depending of the availability of the stable range cache. In practice we always do a broad reset because the code detecting affected changeset is currently buggy.
Thu, 16 Aug 2018 20:22:19 +0200 stablerange: build closure a bit less inefficiently stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 16 Aug 2018 20:22:19 +0200] rev 3953
stablerange: build closure a bit less inefficiently The new way make me a bit less sad than the old one.
Thu, 16 Aug 2018 22:19:19 +0200 discovery: make sure repository wrapping happens in the right order stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 16 Aug 2018 22:19:19 +0200] rev 3952
discovery: make sure repository wrapping happens in the right order Otherwise we may end up in situation were cache are not warmed in the right order, crashing.
Thu, 16 Aug 2018 11:58:07 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 16 Aug 2018 11:58:07 +0200] rev 3951
branching: merge with stable
Thu, 16 Aug 2018 11:54:30 +0200 changelog: add an entry about the next --evolve fix stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 16 Aug 2018 11:54:30 +0200] rev 3950
changelog: add an entry about the next --evolve fix
Thu, 16 Aug 2018 11:53:49 +0200 changelog: update 8.1.0 release date stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 16 Aug 2018 11:53:49 +0200] rev 3949
changelog: update 8.1.0 release date
Thu, 16 Aug 2018 11:44:32 +0200 next: fix topic constraint in the --evolve case stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 16 Aug 2018 11:44:32 +0200] rev 3948
next: fix topic constraint in the --evolve case We were using the wrong variable.
Thu, 16 Aug 2018 11:43:53 +0200 next: use set for membership testing stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 16 Aug 2018 11:43:53 +0200] rev 3947
next: use set for membership testing There are no reason to use a list here.
Tue, 14 Aug 2018 19:22:54 +0200 test: adapt to core output change on unknown command
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Aug 2018 19:22:54 +0200] rev 3946
test: adapt to core output change on unknown command CORE-TEST-OUTPUT-UPDATE: 5199c5b6fd29
Tue, 14 Aug 2018 19:15:35 +0200 compat: use new style template keyword declaration
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Aug 2018 19:15:35 +0200] rev 3945
compat: use new style template keyword declaration
Tue, 14 Aug 2018 18:32:30 +0200 test: fix previous changeset output
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Aug 2018 18:32:30 +0200] rev 3944
test: fix previous changeset output The previous changeset got published prematurely.
Tue, 14 Aug 2018 15:24:22 +0200 obshashrange: add a test for `hg debugupdatecache`
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Aug 2018 15:24:22 +0200] rev 3943
obshashrange: add a test for `hg debugupdatecache` It seem to be properly filling the caches.
Tue, 14 Aug 2018 18:21:23 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Aug 2018 18:21:23 +0200] rev 3942
branching: merge with stable
Wed, 08 Aug 2018 20:21:34 +0900 templatekw: do not override in-core {obsolete} keyword stable
Yuya Nishihara <yuya@tcha.org> [Wed, 08 Aug 2018 20:21:34 +0900] rev 3941
templatekw: do not override in-core {obsolete} keyword The extension version uses old API, which will be deprecated in Mercurial 4.8.
Mon, 13 Aug 2018 12:55:10 +0200 packaging: mark version as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 13 Aug 2018 12:55:10 +0200] rev 3940
packaging: mark version as development version This avoid confusion when installing non-tagged version.
Fri, 03 Aug 2018 05:43:54 +0200 Added tag 8.1.0 for changeset 2c5d79c6459c stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Aug 2018 05:43:54 +0200] rev 3939
Added tag 8.1.0 for changeset 2c5d79c6459c
Fri, 03 Aug 2018 05:41:08 +0200 packaging: prepare version stable 8.1.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Aug 2018 05:41:08 +0200] rev 3938
packaging: prepare version
Fri, 03 Aug 2018 01:16:51 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Aug 2018 01:16:51 +0200] rev 3937
branching: merge stable into default
Fri, 03 Aug 2018 00:22:50 +0200 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Aug 2018 00:22:50 +0200] rev 3936
test-compat: merge mercurial-4.4 into mercurial-4.3
Fri, 03 Aug 2018 00:19:47 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Aug 2018 00:19:47 +0200] rev 3935
test-compat: merge mercurial-4.5 into mercurial-4.4
Fri, 03 Aug 2018 00:19:46 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Aug 2018 00:19:46 +0200] rev 3934
test-compat: merge mercurial-4.6 into mercurial-4.5
Fri, 03 Aug 2018 00:19:45 +0200 test-compat: merge stable into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Aug 2018 00:19:45 +0200] rev 3933
test-compat: merge stable into mercurial-4.6
Fri, 03 Aug 2018 00:52:10 +0200 compat: fix obslog compatiblity with 4.3 stable
Boris Feld <boris.feld@octobus.net> [Fri, 03 Aug 2018 00:52:10 +0200] rev 3932
compat: fix obslog compatiblity with 4.3 Due to the way of how successor sets are retrieved in new Mercurial version, retrieving it again in 4.3 way would be a performance hit and complexify the code too much. Don't retrieve markers of successor sets which makes obslog filtered output more limited in 4.3.
Thu, 02 Aug 2018 16:54:40 +0300 compat: add a fixed version of mergecopies for hg<=4.3 stable
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 02 Aug 2018 16:54:40 +0300] rev 3931
compat: add a fixed version of mergecopies for hg<=4.3 In hg<=4.3, copies._fullcopytracing() does not exist and we have to wrap copies.mergecopies() to fix the AssertionError coming from core.
Thu, 02 Aug 2018 02:47:44 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Aug 2018 02:47:44 +0200] rev 3930
test-compat: merge mercurial-4.5 into mercurial-4.4
Thu, 02 Aug 2018 02:42:15 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Aug 2018 02:42:15 +0200] rev 3929
test-compat: merge mercurial-4.6 into mercurial-4.5
Thu, 02 Aug 2018 02:42:14 +0200 test-compat: merge stable into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Aug 2018 02:42:14 +0200] rev 3928
test-compat: merge stable into mercurial-4.6
Thu, 02 Aug 2018 04:11:54 +0200 compat: make compatible call to ui.edit for hg <= 4.3 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Aug 2018 04:11:54 +0200] rev 3927
compat: make compatible call to ui.edit for hg <= 4.3 This is similar to what is already happening elsewhere.
Thu, 02 Aug 2018 03:08:52 +0200 compat: ignore extra status feature for hg <= 4.3 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Aug 2018 03:08:52 +0200] rev 3926
compat: ignore extra status feature for hg <= 4.3 The feature does not exist in 4.3 and below.
Thu, 02 Aug 2018 02:41:33 +0200 format: fix indentation level stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Aug 2018 02:41:33 +0200] rev 3925
format: fix indentation level Previous change got pushed without the fix by mistake.
Thu, 02 Aug 2018 01:58:44 +0200 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Aug 2018 01:58:44 +0200] rev 3924
test-compat: merge mercurial-4.6 into mercurial-4.5
Thu, 02 Aug 2018 01:57:13 +0200 test-compat: merge stable into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Aug 2018 01:57:13 +0200] rev 3923
test-compat: merge stable into mercurial-4.6
Thu, 02 Aug 2018 02:15:48 +0200 compat: disable empty topic warning on `hg phases` for hg <=4.5 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Aug 2018 02:15:48 +0200] rev 3922
compat: disable empty topic warning on `hg phases` for hg <=4.5 This is annoying to support for lower version.
Thu, 02 Aug 2018 01:31:02 +0200 compat: restore compatibility with Mercurial <= 4.5 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Aug 2018 01:31:02 +0200] rev 3921
compat: restore compatibility with Mercurial <= 4.5 The __init__ arguments changed a lot in 4.6 and 4.7, lets do be as transparent as possible
Thu, 02 Aug 2018 01:53:01 +0200 test-compat: merge stable into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Aug 2018 01:53:01 +0200] rev 3920
test-compat: merge stable into mercurial-4.6
Tue, 31 Jul 2018 12:54:46 +0200 test-compat: merge stable into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 31 Jul 2018 12:54:46 +0200] rev 3919
test-compat: merge stable into mercurial-4.6
Wed, 01 Aug 2018 23:52:10 +0200 branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 01 Aug 2018 23:52:10 +0200] rev 3918
branching: merge stable back into default
Tue, 31 Jul 2018 07:38:37 -0500 compat: improve detection of Mercurial 4.6 stable
Andrew Fischer <andrew@apastron.co> [Tue, 31 Jul 2018 07:38:37 -0500] rev 3917
compat: improve detection of Mercurial 4.6 fixed case where AttributeError can be thrown when importing wireproto
Tue, 31 Jul 2018 13:06:20 +0200 cleanup: use NotImplementedError instead of NotImplemented stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 31 Jul 2018 13:06:20 +0200] rev 3916
cleanup: use NotImplementedError instead of NotImplemented Caught by pyflakes.
Tue, 24 Jul 2018 00:52:14 +0530 CHANGELOG: add some entries and remove duplicated entries stable
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 24 Jul 2018 00:52:14 +0530] rev 3915
CHANGELOG: add some entries and remove duplicated entries
Tue, 31 Jul 2018 12:52:06 +0200 branching: merge default into stable stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 31 Jul 2018 12:52:06 +0200] rev 3914
branching: merge default into stable The stable branch of Mercurial core now contains Mercurial 4.7 so evolve branch policy requires this merge. The @ bookmark is in the right location, so people doing clone will get to the latest release.
Tue, 31 Jul 2018 12:07:39 +0200 branching: merge with the other head mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 31 Jul 2018 12:07:39 +0200] rev 3913
branching: merge with the other head
Tue, 31 Jul 2018 11:48:15 +0200 test-compat: backed out changeset 8fe8152ff071 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 31 Jul 2018 11:48:15 +0200] rev 3912
test-compat: backed out changeset 8fe8152ff071 These output change were for 4.7 only.
Tue, 31 Jul 2018 11:47:20 +0200 test-compat: backed out changeset 41fc764bf28c mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 31 Jul 2018 11:47:20 +0200] rev 3911
test-compat: backed out changeset 41fc764bf28c These output change are for mercurial-4.7 only
Tue, 31 Jul 2018 11:46:30 +0200 test-compat: backed out changeset dda5b2134b32 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 31 Jul 2018 11:46:30 +0200] rev 3910
test-compat: backed out changeset dda5b2134b32 These change were for Mercurial 4.7 only.
Tue, 31 Jul 2018 11:45:01 +0200 test-compat: backout change to 1e103c7f7663 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 31 Jul 2018 11:45:01 +0200] rev 3909
test-compat: backout change to 1e103c7f7663
Tue, 31 Jul 2018 11:25:57 +0200 compat: use older API for older version
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 31 Jul 2018 11:25:57 +0200] rev 3908
compat: use older API for older version This API changed in 4.7, we need to adjust.
Tue, 31 Jul 2018 09:28:19 +0200 branching: create mercurial-4.6 branch for updated test output mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 31 Jul 2018 09:28:19 +0200] rev 3907
branching: create mercurial-4.6 branch for updated test output This branch will be used to check for 4.6 compatibility.
Wed, 25 Jul 2018 16:12:01 -0700 builddependencies: extract function for getting successors
Martin von Zweigbergk <martinvonz@google.com> [Wed, 25 Jul 2018 16:12:01 -0700] rev 3906
builddependencies: extract function for getting successors The code no longer makes a difference between single- and mult-successor cases and just needs a set (or generator, really) of successors to iterate over. Let's extract that into a function.
Wed, 25 Jul 2018 16:23:25 -0700 builddependencies: share code between single- and multi-successor cases
Martin von Zweigbergk <martinvonz@google.com> [Wed, 25 Jul 2018 16:23:25 -0700] rev 3905
builddependencies: share code between single- and multi-successor cases The two cases now have more similar structure ("if succ in revs: dependencies[r].add(succ)"), so let's share the code so it doesn't start drifting apart again.
Wed, 25 Jul 2018 14:33:48 -0700 builddependencies: build inverse dict from forward dict
Martin von Zweigbergk <martinvonz@google.com> [Wed, 25 Jul 2018 14:33:48 -0700] rev 3904
builddependencies: build inverse dict from forward dict It's error-prone to keep "dependencies" and "rdependencies" in sync (we don't do it correctly when there are multiple successors or a node). It's easier to just create "rependencies" from "dependencies" after it's complete.
Wed, 25 Jul 2018 14:21:49 -0700 builddependencies: remove a use of defaultdict
Martin von Zweigbergk <martinvonz@google.com> [Wed, 25 Jul 2018 14:21:49 -0700] rev 3903
builddependencies: remove a use of defaultdict I don't see much reason to make "rdependencies" be a defaultdict when "dependencies" is not. It's easy to initialize each entry ourselves.
Tue, 31 Jul 2018 09:03:35 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 31 Jul 2018 09:03:35 +0200] rev 3902
branching: merge with stable
Wed, 25 Jul 2018 15:30:37 -0700 builddependencies: don't remove found deps when divergence found (issue5946) stable
Martin von Zweigbergk <martinvonz@google.com> [Wed, 25 Jul 2018 15:30:37 -0700] rev 3901
builddependencies: don't remove found deps when divergence found (issue5946) It seems obviously wrong to not keep any dependencies for a revision that we had already found (for p1) if we run into divergence (from p2). It also happens to fix issue5946 :)
Wed, 25 Jul 2018 14:47:16 -0700 builddependencies: don't add dependency on revision outside input set stable
Martin von Zweigbergk <martinvonz@google.com> [Wed, 25 Jul 2018 14:47:16 -0700] rev 3900
builddependencies: don't add dependency on revision outside input set This was already handled in the single-successor case, but had been missed in the multiple-successors case. Note that there seems to be a copy of builddependencies() in the topics extension. I don't use topics more than I have to, so I'll let someone else fix that code.
Wed, 25 Jul 2018 15:16:25 -0700 builddependencies: consider all divergent successors stable
Martin von Zweigbergk <martinvonz@google.com> [Wed, 25 Jul 2018 15:16:25 -0700] rev 3899
builddependencies: consider all divergent successors We were only considering one. In test-evolve-abort-conentdiv.t:165, the input revs were {5, 8} and dependency dict was {8: set([]), 5: set([10])}, which is a little weird (10 is not in the input set). It still worked because the callers used it (they seemed to only care if there were *any* dependencies). This patch fixes the issue by considering all successors. That means the dependency dict will be {8: set([]), 5: set([8, 10])} after this patch. The next patch will remove the 10 from that set.
Wed, 25 Jul 2018 14:00:49 -0700 tests: add test for issue5946 stable
Martin von Zweigbergk <martinvonz@google.com> [Wed, 25 Jul 2018 14:00:49 -0700] rev 3898
tests: add test for issue5946 The test case is a copy of the one for 5833. The only difference is that the merge parents are recorded in the opposite order (and that the test is truncated because it fails).
Fri, 25 May 2018 17:17:56 +0200 obslog: check filtered output with folded changesets
Boris Feld <boris.feld@octobus.net> [Fri, 25 May 2018 17:17:56 +0200] rev 3897
obslog: check filtered output with folded changesets
Fri, 25 May 2018 16:50:04 +0200 obslog: check filtered output with splitted changesets
Boris Feld <boris.feld@octobus.net> [Fri, 25 May 2018 16:50:04 +0200] rev 3896
obslog: check filtered output with splitted changesets
Fri, 25 May 2018 11:52:48 +0200 obslog: check filtered output with pruned changesets
Boris Feld <boris.feld@octobus.net> [Fri, 25 May 2018 11:52:48 +0200] rev 3895
obslog: check filtered output with pruned changesets
Tue, 22 May 2018 16:48:35 +0200 obslog: check filtered output with amended changesets
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 16:48:35 +0200] rev 3894
obslog: check filtered output with amended changesets
Fri, 25 May 2018 11:48:19 +0200 tests: add a content-divergent obshistory test
Boris Feld <boris.feld@octobus.net> [Fri, 25 May 2018 11:48:19 +0200] rev 3893
tests: add a content-divergent obshistory test
Tue, 22 May 2018 17:44:05 +0200 tests: extract the obshistory amend then fold test case into a separate file
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 17:44:05 +0200] rev 3892
tests: extract the obshistory amend then fold test case into a separate file
Tue, 22 May 2018 17:42:56 +0200 tests: extract the content-divergence test case into a separate file
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 17:42:56 +0200] rev 3891
tests: extract the content-divergence test case into a separate file
Tue, 22 May 2018 17:41:57 +0200 tests: extract the obshistory fold test case into a separate file
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 17:41:57 +0200] rev 3890
tests: extract the obshistory fold test case into a separate file
Tue, 22 May 2018 17:40:56 +0200 tests: extract the obshistory lots of split test case into a separate file
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 17:40:56 +0200] rev 3889
tests: extract the obshistory lots of split test case into a separate file
Tue, 22 May 2018 17:37:51 +0200 tests: extract the obshistory split test case into a separate file
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 17:37:51 +0200] rev 3888
tests: extract the obshistory split test case into a separate file
Tue, 22 May 2018 17:37:40 +0200 tests: extract the obshistory prune test case into a separate file
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 17:37:40 +0200] rev 3887
tests: extract the obshistory prune test case into a separate file
Tue, 22 May 2018 15:40:29 +0200 tests: extract the obshistory amend test case into a separate file
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 15:40:29 +0200] rev 3886
tests: extract the obshistory amend test case into a separate file
Tue, 22 May 2018 15:35:54 +0200 tests: extract obshistory setup in a separate file
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 15:35:54 +0200] rev 3885
tests: extract obshistory setup in a separate file We are gonna soon explode the obshistory test file into several, extract the setup to reuse it as much as possible.
Tue, 22 May 2018 12:07:24 +0200 obslog: add a new flag to filter out non-local nodes
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 12:07:24 +0200] rev 3884
obslog: add a new flag to filter out non-local nodes
Thu, 26 Jul 2018 18:28:44 +0200 compat: drop compatibility hack for mercurial <4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Jul 2018 18:28:44 +0200] rev 3883
compat: drop compatibility hack for mercurial <4.3 We no longer support version prior 4.3.
Sat, 21 Jul 2018 02:42:29 +0530 compat: temporarily move copies fix to compat.py
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 21 Jul 2018 02:42:29 +0530] rev 3882
compat: temporarily move copies fix to compat.py This patch moves a fixed version of copies._fullcopytracing() to compat.py as this was not fixed in core before release and also we need to do this anyway for the older versions of mercurial. This fix is that when base changeset is not ancestor of any of the merging commits, we don't throw an error. The phabricator differential which will fix this in core is https://phab.mercurial-scm.org/D3896. This fixes the traceback we get in previous changeset while relocating one of the content-divergent changeset.
Thu, 07 Jun 2018 18:18:30 +0530 evolve: continue conflicted relocation content-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 18:18:30 +0530] rev 3881
evolve: continue conflicted relocation content-divergence This patch adds logic to continue an conflicted content-divergence resolution which was interrupted while relocating one of the divergent commits. The tests shows the there is some mishandling of copies internally which will be fixed in next patch.
Wed, 18 Jul 2018 18:17:16 +0800 topic: use self instead of repo in topicrepo methods stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 18 Jul 2018 18:17:16 +0800] rev 3880
topic: use self instead of repo in topicrepo methods Referring to repo here was somehow preventing it from being garbage-collected (important in hgweb, where currently every request gets a new repo).
Sun, 08 Jul 2018 22:16:17 +0530 evolvecmd: introduce fn to be wrapped by extensions resolving content-div
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 08 Jul 2018 22:16:17 +0530] rev 3879
evolvecmd: introduce fn to be wrapped by extensions resolving content-div The function added will be used by extension by wrapping it and adding logic to merge data introduced by them. For example: topic extension can wrap this function and add logic to merge topic names.
Sun, 08 Jul 2018 21:18:33 +0530 evolvecmd: move remaining logic to merge commit desc to existing utility fn
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 08 Jul 2018 21:18:33 +0530] rev 3878
evolvecmd: move remaining logic to merge commit desc to existing utility fn This was a bit awful because we had a utility function and still we did some of merging outside of that fn. So let's move the remaining parts there.
Sun, 08 Jul 2018 22:52:33 +0530 amend: allow aborting an `amend --patch` by saving an empty file (issue5925)
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 08 Jul 2018 22:52:33 +0530] rev 3877
amend: allow aborting an `amend --patch` by saving an empty file (issue5925) This patch fixes issue5925 by allow aborting a `hg amend --patch` call by saving an empty patch file. This is similar to aborting of `hg amend` when commit message is empty. Test changes demonstrate the fix.
Sun, 08 Jul 2018 22:50:16 +0530 tests: add a test to demonstrate issue5925
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 08 Jul 2018 22:50:16 +0530] rev 3876
tests: add a test to demonstrate issue5925 The issue will be fixed in next patch.
Mon, 09 Jul 2018 01:18:40 +0200 test: fix possible output change from 4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 09 Jul 2018 01:18:40 +0200] rev 3875
test: fix possible output change from 4.7 Change in debug timing can display these extra messages.
Fri, 06 Jul 2018 11:36:24 -0700 state: add the get() method that evolvecmd:1836 expects
Martin von Zweigbergk <martinvonz@google.com> [Fri, 06 Jul 2018 11:36:24 -0700] rev 3874
state: add the get() method that evolvecmd:1836 expects
Sun, 17 Jun 2018 03:56:54 +0200 rewing: prevent rewind in case of uncommitted changes
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 03:56:54 +0200] rev 3873
rewing: prevent rewind in case of uncommitted changes rewind can update, which means merge and troubles. We might relax this limitation in the future.
Sun, 17 Jun 2018 03:46:46 +0200 rewind: default to rewinding the current stack
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 03:46:46 +0200] rev 3872
rewind: default to rewinding the current stack
Sun, 17 Jun 2018 03:10:19 +0200 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 03:10:19 +0200] rev 3871
rewing: add the ability to rewind "from" revisions
Sun, 17 Jun 2018 03:29:34 +0200 evolve: exclude "identical" precursors from the precursors set
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 03:29:34 +0200] rev 3870
evolve: exclude "identical" precursors from the precursors set I'm not sure it is the right thing to do, but it simply thing a lot for now. Otherwise, using 'precursors' to find rewind direction become too complex. This is going to give problematic result in case of prune. Since there are no other precursors to follow.
Sun, 17 Jun 2018 03:07:53 +0200 rewind: move revision selection into its own function
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 03:07:53 +0200] rev 3869
rewind: move revision selection into its own function This will help making the logic more advanced.
Sun, 17 Jun 2018 02:32:29 +0200 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 02:32:29 +0200] rev 3868
rewind: automatically rewind entire stack We now rewind the full stack, avoiding creating orphans. A `--exact` flag is added to force rewinding only the explicitly specified changesets.
Sun, 17 Jun 2018 02:22:28 +0200 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 02:22:28 +0200] rev 3867
rewind: add a test about rewinding top of stack For now this rewind is creating an orphan. We add the test to check the behavior in that case.
Sun, 17 Jun 2018 02:03:03 +0200 rewind: use rewinded parent when creating multiple changesets
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 02:03:03 +0200] rev 3866
rewind: use rewinded parent when creating multiple changesets Use use the rewinded parent instead of creating orphans based on identical, but obsolete, changesets.
Sun, 17 Jun 2018 00:22:31 +0200 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 00:22:31 +0200] rev 3865
rewind: add a test for rewinding a fold The code already have basic support for case. However the result create orphan that will need to be improved. However, we keep this changeset simple.
Sun, 17 Jun 2018 01:36:30 +0200 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 01:36:30 +0200] rev 3864
rewind: add a test for rewinding a split There are no code change needed but it is worth testing on its own.
Sun, 17 Jun 2018 00:33:43 +0200 rewind: update the working copy if it gets obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 00:33:43 +0200] rev 3863
rewind: update the working copy if it gets obsoleted If the working copy parent is rewinded, follow the rewind.
Sun, 17 Jun 2018 01:04:20 +0200 rewind: add a message about obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 01:04:20 +0200] rev 3862
rewind: add a message about obsolete changeset Not the best output, but useful to have the data. We can improve that later.
Sun, 17 Jun 2018 00:15:18 +0200 rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 00:15:18 +0200] rev 3861
rewind: obsolete latest successors unless instructed otherwise To prevent the creations of divergence, we automatically mark the successors set of the rewinded changeset as obsoleted by the rewind result. A new flag `--as-divergence` is added to disable this behavior.
Sat, 16 Jun 2018 23:32:22 +0200 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Jun 2018 23:32:22 +0200] rev 3860
rewind: test rewinding an amended changesets We are now able to rewind a simple amended changeset. For now, its current successors has not been obsoleted and we created divergence.
Sun, 17 Jun 2018 00:57:09 +0200 rewind: add a message about the rewinded changesets
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 00:57:09 +0200] rev 3859
rewind: add a message about the rewinded changesets This helps to understand what happened.
Sat, 16 Jun 2018 23:11:52 +0200 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Jun 2018 23:11:52 +0200] rev 3858
rewind: add a proto version of the command This first version focus on rewinding a single revision without care for the consequence.
Fri, 29 Jun 2018 16:51:56 +0200 stablesort: make sure heads are processed in sorted order
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 29 Jun 2018 16:51:56 +0200] rev 3857
stablesort: make sure heads are processed in sorted order changeset 72621094505f will fix some ordering issue in the `heads` revset so we stabilise the output in advance.
Tue, 19 Jun 2018 23:21:54 +0530 evolve: move the bookmarks also when updating to successor (issue5923)
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 19 Jun 2018 23:21:54 +0530] rev 3856
evolve: move the bookmarks also when updating to successor (issue5923) When we are on an obsolete node and does `hg evolve`, it updates to it's sucessor, however it does not move the bookmark to the successor. This patch adds logic to make sure we move the bookmark too. Test change demonstrates the fix.
Tue, 19 Jun 2018 23:21:44 +0530 tests: add test to demonstrate issue5923
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 19 Jun 2018 23:21:44 +0530] rev 3855
tests: add test to demonstrate issue5923 This will be fixed in upcoming patch.
Thu, 28 Jun 2018 17:26:16 +0200 changelog: add an entry about the new `evolve.interrupted` section
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Jun 2018 17:26:16 +0200] rev 3854
changelog: add an entry about the new `evolve.interrupted` section
Fri, 15 Jun 2018 00:50:17 +0530 evolve: make one missed error to align other error messages
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 15 Jun 2018 00:50:17 +0530] rev 3853
evolve: make one missed error to align other error messages Previous patches missed this error to change it to the new format. Let's align this with all other messages raised by `hg evolve` command.
Fri, 15 Jun 2018 00:16:29 +0530 evolve: raise error.InterventionRequired instead of Abort when conflicts
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 15 Jun 2018 00:16:29 +0530] rev 3852
evolve: raise error.InterventionRequired instead of Abort when conflicts error.InterventionRequired is a better error to raise in such cases. Thanks to marmoute for noticing this.
Thu, 14 Jun 2018 02:58:30 +0200 changelog: add a changelog entry about divergence resolution
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Jun 2018 02:58:30 +0200] rev 3851
changelog: add a changelog entry about divergence resolution We made a lots of progress there.
Thu, 14 Jun 2018 01:39:33 +0530 evolve: create resolved cset on successors of current parents
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Jun 2018 01:39:33 +0530] rev 3850
evolve: create resolved cset on successors of current parents While resolving content-divergence, sometimes, the parent can be obsolete and have a successor. We should consider the successors of the parents instead of obsolete parents as that will do something like orphan+content-divergence resolution both at the same time which is powerful and results in a single stack while resolving content-divergence of stacks. The test changes demonstrates that we can now successfully evolve a content divergent stack.
Thu, 14 Jun 2018 01:39:11 +0530 tests: fix a test case to not create conflicts
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Jun 2018 01:39:11 +0530] rev 3849
tests: fix a test case to not create conflicts This is the test case where we are testing about divergence resolution of stack of patches. If the stack is as follows: C1 C2 | | B1 B2 | | A1 A2 \/ base And A1-A2, B1-B2 and C1-C2 are content-divergent, and merging A1-A2 results in conflicts. Now if you resolve conflicts and continue resoling B1-B2, the conflicts of A1-A2 will still be there. We need somehow to understand the work we has done and not create conflicts again. To test the evolution functionality for now, we make sure conflicts does not occur.
Thu, 14 Jun 2018 01:06:12 +0530 evolve: introduce a resolutionparent variable and store it in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Jun 2018 01:06:12 +0530] rev 3848
evolve: introduce a resolutionparent variable and store it in evolvestate This patch introduces a resolutionparent variable which will be the parent of final changeset after resolving content-divergent changesets. Till now, the parent is always the parent of one of the divergent node, but now in upcoming cases, it can be a successor of both the parents of divergent nodes.
Wed, 13 Jun 2018 18:08:57 +0530 evolve: introduce a dirstatedance() fn to fix dirstate after parent change
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 13 Jun 2018 18:08:57 +0530] rev 3847
evolve: introduce a dirstatedance() fn to fix dirstate after parent change This patch introduces a dirstatedance() function which will be used after fixing the dirstate when we change parents using repo.dirstate.setparents(). Look at docs added for more details.
Wed, 13 Jun 2018 17:15:10 +0530 evolve: create a new commit instead of amending one of the divergents
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 13 Jun 2018 17:15:10 +0530] rev 3846
evolve: create a new commit instead of amending one of the divergents This patch changes the behavior of evolve command while resolving content-divergence to create a new commit instead of amending one of the divergent ones. In past, I have made this change, backed out this change and now today again I am doing this change, so let's dive in some history. Using cmdrewrite.amend() was never a good option as that requires hack to delete the evolvestate and also gives us less control over things. We can't make the commit on top of different parents as that of content-divergent ones. Due to all these, I first made this change to create a new commit instead of amending one. But, after few days, there was flakiness observed in the tests and turned out that we need to do some dirstate dance as repo.dirstate.setparents() does not always fix the dirstate. That flakiness was a blocker for progress at that time and we decided to switch to amend back so that we can have things working with some hacks and we can later fix the implementation part. Now, yesterday while tackling resolving content-divergence of a stack which is as follows: C1 C2 | | B1 B2 | | A1 A2 \/ base where, A1-A2, B1-B2, C1-C2 are content-divergent with each other. Now we can resolve A1-A2 very well because they have the same parent and let's say that resolution leads to A3. Now, we want to resolve B1-B2 and make the new resolution commit on top of A3 so that we can end up something like: C3 | B3 | A3 | base however, amending one of the divergent changesets, it's not possible to create a commit on a different parent like A3 here without some relocation. We should prevent relocation as that may leads to some conflicts and should change the parent before committing. So, looking ahead, we can't move with using amend as still using that we will need some relocation hacks making code ugly and prone to bad behaviors, bugs. Let's change back to creating a new commit so that we can move forward in a good way. About repo.dirstate.setparents() not setting the dirstate, I have researched yesterday night about how we can do that and found out that we can use cmdrewrite._uncommitdirstate() here. Expect upcoming patches to improve the documentation of that function. There are lot of test changes because of change in hash but there is no behavior change. The only behavior change is in test-evolve-abort-contentdiv.t which is nice because creating a new commit helps us in stripping that while aborting. We have a lot of testing of content-divergence and no behavior change gives enough confidence for making this change. I reviewed the patch carefully to make sure there is no behavior change and I suggest reviewer to do the same.
Tue, 12 Jun 2018 23:20:54 +0530 evolve: always order the revs to be evolved
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 12 Jun 2018 23:20:54 +0530] rev 3845
evolve: always order the revs to be evolved The current code only order the revs if we are resolving orphans and not in other case. The ordering is important when we pass --all and tackle multiple occurence of the same instability. Let's order the revs for each instability. There are enough test coverage of phase-divergence and content-divergence that I feel confident doing it because none of the test changed. The change in test-evolve-content-divergent.t demonstrates the indeed ordering helped.
Tue, 12 Jun 2018 21:13:02 +0530 tests: add test of resolution of content-divergent stacks
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 12 Jun 2018 21:13:02 +0530] rev 3844
tests: add test of resolution of content-divergent stacks This patch adds a test of resolution of content-divergence stacks where a series of changesets get mutated as two different series resulting in whole content-divergent stacks. As the tests shows, we are not processing the changesets in right order which needs to be fixed first.
Tue, 12 Jun 2018 19:00:12 +0530 evolve: improve error messages when conflicts occur
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 12 Jun 2018 19:00:12 +0530] rev 3843
evolve: improve error messages when conflicts occur This patch improves the error messages when conflicts occur. First, we drop the line 'evolution failed', that is not the best line we can show and evolution didn't failed, it's just interrupted by the conflicts and when user will run `hg evolve --continue`, things will be fine. I still remember when I first saw 'evolution failed', I got a bit scare as am I in a recoverable position or not. So let's drop this scary line. Second, we replace the error messages to say `resolve conflicts and see help-topic`. The help topic was added recently and documents all the three flags very well. Addition of tests also showed that all the three flags works fine with all the three instability type. So we should advertise them more. Third, we now raise the error with our error message rather than raising MergeFailure and having evolution related text in hint or stderr above. This increase the focus on the error message we want to show. After this patch, I think error messages by evolve in case of conflicts will be same in every case.
Tue, 12 Jun 2018 04:01:19 +0530 evolve: point to `hg help evolve.interrupted` while resolving content-div
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 12 Jun 2018 04:01:19 +0530] rev 3842
evolve: point to `hg help evolve.interrupted` while resolving content-div Recent test additions shows that --abort and --stop works well while resolving content-divergence and we should advertise them. This patch does so by pointing to evolve.interrupted help topic.
Tue, 12 Jun 2018 03:29:13 +0530 tests: add test about aborting content-divergence when multiple parents
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 12 Jun 2018 03:29:13 +0530] rev 3841
tests: add test about aborting content-divergence when multiple parents This patch adds tests for --abort flag of hg evolve command when we are resolving content-divergence which are on different parents and parent of one of them is the gca of both of them. The tests shows that we are doing good and we should advertise the flag during conflicts.
Wed, 13 Jun 2018 15:47:19 +0530 CHANGELOG: add an entry about the --update flag
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 13 Jun 2018 15:47:19 +0530] rev 3840
CHANGELOG: add an entry about the --update flag Since --update is still the default, we make the entry about --no-update.
Wed, 06 Jun 2018 04:29:05 +0530 evolve: show unfinished information in `hg status -v` (issue5886)
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jun 2018 04:29:05 +0530] rev 3839
evolve: show unfinished information in `hg status -v` (issue5886) `hg status -v` shows information about unfinished states or `hg status` shows it when `commands.status.verbose=True` is set. Before this patch, information about interrupted evolve does not show up because evolve does not resgiters in cmdutil.STATES. This patch make sure we register evolve related information there. There has been an idea to unify cmdutil.unfinishedstates and cmdutil.STATES which needs some work and the resulting state does looks a bit complicated. So till the time we unify them, let's fix this bug by registering in cmdutil.STATES.
Tue, 12 Jun 2018 13:58:14 +0200 style: drop a (commented) debug print
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 12 Jun 2018 13:58:14 +0200] rev 3838
style: drop a (commented) debug print Left-over from 4dcf87849f9d.
Sun, 10 Jun 2018 20:58:55 +0530 tests: update tests output with changes in d0abd7949ea3 in core hg
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Jun 2018 20:58:55 +0530] rev 3837
tests: update tests output with changes in d0abd7949ea3 in core hg CORE-TEST-OUTPUT-UPDATE: d0abd7949ea3 CORE-TEST-OUTPUT-UPDATE: 1e9c357d3ddf
Tue, 12 Jun 2018 10:40:57 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Jun 2018 10:40:57 +0200] rev 3836
branching: merge with stable Merging with the new 8.0.1 release.
Mon, 11 Jun 2018 23:31:44 +0530 Added tag 8.0.1 for changeset 0887c30255a1 stable
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 23:31:44 +0530] rev 3835
Added tag 8.0.1 for changeset 0887c30255a1
Mon, 11 Jun 2018 23:30:24 +0530 packaging: prepare for 8.0.1 release stable 8.0.1
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 23:30:24 +0530] rev 3834
packaging: prepare for 8.0.1 release
Mon, 11 Jun 2018 20:24:45 +0200 changelog: add a couple of missing entry stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Jun 2018 20:24:45 +0200] rev 3833
changelog: add a couple of missing entry
Mon, 11 Jun 2018 20:17:56 +0530 evolve: strip the extra obsmarkers if any on `hg evolve --abort`
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 20:17:56 +0530] rev 3832
evolve: strip the extra obsmarkers if any on `hg evolve --abort` Previous patches started storing some obsmarkers which needs to stripped during `evolve --abort` which can't be stripped by stripping the new evolved changesets because they point to a node which existed before the evolution was performed. This patch adds logic to strip those obsmarkers by finding their indices in the obsstore and then stripping them.
Mon, 11 Jun 2018 20:13:36 +0530 evolve: store the obsmarkers to be deleted in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 20:13:36 +0530] rev 3831
evolve: store the obsmarkers to be deleted in evolvestate Sometimes, we don't create a new node and obsolete one of the old node in favour of an existing node. When user calls, `hg evolve --abort`, we need to strip that obsmarker to go back in the same old state. The obsmarker created for new node are stripped when the new nodes are stripped. This patch start storing such obsmarkers in the evolvestate so that we can delete them later if required. Right now we just store successsor and predecessor information, we might need a better obsmarker serialization techinque in future to make it more robust.
Mon, 11 Jun 2018 15:52:11 +0530 evolve: store obsmarkers to be deleted in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 15:52:11 +0530] rev 3830
evolve: store obsmarkers to be deleted in evolvestate There are operations which don't create a new node rather they just obsolete one of the unstable node in favour of existing one. In such cases if a further resolution leads to conflicts and user calls `evolve --abort` or `evolve --stop`, we might need to delete that obsmarker. So let's store such obsmarkers in the evolvestate.
Mon, 11 Jun 2018 15:38:43 +0530 evolve: factor out logic to merge branches in separate function
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 15:38:43 +0530] rev 3829
evolve: factor out logic to merge branches in separate function This patch moves the logic to merge branches while resolving content-divergence to a separate function. This makes code clear and better to understand.
Mon, 11 Jun 2018 01:00:57 +0530 tests: add more test of --stop while resolving content-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 01:00:57 +0530] rev 3828
tests: add more test of --stop while resolving content-divergence This tests the --stop flag when conflicts occur while relocating one of the divergent changesets.
Mon, 11 Jun 2018 00:47:28 +0530 evolve: strip the relocation commit on `hg evolve --stop`
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 00:47:28 +0530] rev 3827
evolve: strip the relocation commit on `hg evolve --stop` While resolving content-divergence on multiple parents, we relocate one of the commit on the parent of another one and then merge the divergent changesets. Merging can leads to conflicts, and if user does `hg evolve --stop`, we need to strip that relocated changeset too! This patch does that. Test changes demonstrates the fix.
Mon, 11 Jun 2018 00:43:39 +0530 evolve: declare updated and pctx variables in stopevolve()
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 00:43:39 +0530] rev 3826
evolve: declare updated and pctx variables in stopevolve() They will used in next patch.
Sun, 10 Jun 2018 22:52:11 +0530 evolve: store the old other divergent node after relocation in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Jun 2018 22:52:11 +0530] rev 3825
evolve: store the old other divergent node after relocation in evolvestate When the content-divergent changes are on different parents and we relocate of the node to the parent of another one, we get a new other-divergent node. We still need to store the older other-divergent in evolvestate so that we can use that information.
Sun, 10 Jun 2018 22:42:57 +0530 evolve: factor out logic for --stop flag in separate function
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Jun 2018 22:42:57 +0530] rev 3824
evolve: factor out logic for --stop flag in separate function This will make code clean
Sun, 10 Jun 2018 22:38:08 +0530 tests: add test for --stop flag when resolving multiparents content-div
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Jun 2018 22:38:08 +0530] rev 3823
tests: add test for --stop flag when resolving multiparents content-div This patch adds a test for --stop flag when we are in an interrupted content-divergent resolution which have multiple parents. Conflicts happen we merge the divergent changesets after relocation. The test shows that we need to strip the relocated changeset.
Sun, 10 Jun 2018 20:35:48 +0530 evolve: move logic to continue interrupted content-div resolution to new fn
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Jun 2018 20:35:48 +0530] rev 3822
evolve: move logic to continue interrupted content-div resolution to new fn Each of the other type has defined their own function to continue/complete the interrupted resolution. We take out the logic for content-div resolution too in a separate function to make the top level function looks clean.
Mon, 11 Jun 2018 01:12:12 +0530 evolve: rename help topic evolve.interrupted-evolve to evolve.interrupted
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 01:12:12 +0530] rev 3821
evolve: rename help topic evolve.interrupted-evolve to evolve.interrupted `evolve.interrupted-evolve` has the word evolve twice. Now that this help topic is a part of evolve command, evolve.interrupted will mean the interrupted evolve command only.
Sat, 09 Jun 2018 00:15:27 +0530 packaging: update tested-with statements in evolve and topic stable
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 09 Jun 2018 00:15:27 +0530] rev 3820
packaging: update tested-with statements in evolve and topic
Sat, 09 Jun 2018 00:12:08 +0530 CHANGELOG: mention about 4.6.1 compatibility stable
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 09 Jun 2018 00:12:08 +0530] rev 3819
CHANGELOG: mention about 4.6.1 compatibility
Fri, 08 Jun 2018 22:52:53 +0530 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jun 2018 22:52:53 +0530] rev 3818
test-compat: merge mercurial-4.4 into mercurial-4.3
Fri, 08 Jun 2018 22:52:52 +0530 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jun 2018 22:52:52 +0530] rev 3817
test-compat: merge mercurial-4.5 into mercurial-4.4
Fri, 08 Jun 2018 22:52:51 +0530 test-compat: merge stable into mercurial-4.5 mercurial-4.5
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jun 2018 22:52:51 +0530] rev 3816
test-compat: merge stable into mercurial-4.5
Tue, 22 May 2018 23:51:57 +0530 utility: use ui.interactive() instead of checking config value stable
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 22 May 2018 23:51:57 +0530] rev 3815
utility: use ui.interactive() instead of checking config value Before this patch, the rev selection prompt which pops up in case of ambiguity to ask user to select a rev used to check the config value of ui.interactive which can is by default set to None. We should use ui.interactive() instead which is more smart in such cases. Thanks to martinvonz for suggesting this.
Fri, 08 Jun 2018 19:48:53 +0530 CHANGELOG: add couple of entries about things fixed stable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jun 2018 19:48:53 +0530] rev 3814
CHANGELOG: add couple of entries about things fixed We are preparing for a release!
Fri, 08 Jun 2018 17:36:28 +0530 next-prev: always respect the --merge flag stable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jun 2018 17:36:28 +0530] rev 3813
next-prev: always respect the --merge flag An earlier bug fix series which started respecting commands.update.check introduced a bug in which --merge was not respected sometimes. This patch fixes that behavior by passing updatecheck as 'none' to hg.updatetotally() if --merge is passed which is similar to what `hg update` does.
Fri, 08 Jun 2018 18:32:48 +0530 next-prev: add tests showing --merge not respected in some cases stable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jun 2018 18:32:48 +0530] rev 3812
next-prev: add tests showing --merge not respected in some cases This patch adds tests which show that --merge is not respected when you set commands.update.check to any value. This is a bug I wrote few days ago and will fix it in next changeset. I like this process of writing bugs and fixing them.
Thu, 07 Jun 2018 22:59:39 +0530 evolve: store the evolvestate if relocation results in conflicts
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 22:59:39 +0530] rev 3811
evolve: store the evolvestate if relocation results in conflicts We missed storing the evolvestate on disk when relocation lead to conflicts. We need to store it to grab information to continue or abort or stop the evolve.
Thu, 07 Jun 2018 22:45:54 +0530 tests: add more test of resolution of content-divergent changesets
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 22:45:54 +0530] rev 3810
tests: add more test of resolution of content-divergent changesets This patch adds test of resolution of content-divergent changesets when relocation is required and it leads to conflicts. The test shows that we are not doing the right thing. This will be fixed in upcoming patches.
Thu, 07 Jun 2018 18:18:10 +0530 evolvestate: store info about relocation while resolving content-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 18:18:10 +0530] rev 3809
evolvestate: store info about relocation while resolving content-divergence While resolving content-divergence when they are on different parents, we relocate one of the node to parent of another one and this can lead to conflicts sometimes. So we need to store information about that state in evolvestate so that we can use that when user does `hg evolve --continue` or `--stop` or `--abort`. Now that we make sure, we store the new other node in evolvestate, we fix the behavior of handling the relocated commit and merge the right changesets.
Thu, 07 Jun 2018 18:13:54 +0530 evolve: factor out logic to merge content divergent csets in separate fn
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 18:13:54 +0530] rev 3808
evolve: factor out logic to merge content divergent csets in separate fn This will help us in reusing the logic if we need to while doing evolve --continue.
Thu, 07 Jun 2018 20:27:03 +0530 evolve: commit the transaction if conflicts occur while merging content-div
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 20:27:03 +0530] rev 3807
evolve: commit the transaction if conflicts occur while merging content-div Yes, let's commit the transaction in case conflicts occur. Yes, this is what unshelve does and this is one of the reasons we don't like unshelve. Previous patches added support for resolving content-divergence when they are on different parents with parent of one being the gca. In such cases, we relocate one of the divergent commit to the parent of another one. All the relocation stuff and merging divergent changeset stuff happens in a single transaction, so if there are conflicts while merging, we abort and the transaction rollsback and our relocated commit is not applied after abort. We don't want to process the relocation because that can lead to conflicts and we will have dirty wdir because of resolving conflicts. So, we commit the transaction when merging results in conflicts to make sure if relocation happened, we commit that. This fixes the absence of relocation commit found in previous patch and uncover a new bug about handling of relocated commit. Upcoming patch will fix it.
Thu, 07 Jun 2018 15:54:32 +0530 tests: add tests for resolving content-divergence when different parents
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 15:54:32 +0530] rev 3806
tests: add tests for resolving content-divergence when different parents This patch adds more tests for cases when we try to resolve content-divergence when they are on different parents. The last test shows the we are somehow missing the relocated commit in interrupted transaction. This will be fixed in next patch.
Fri, 01 Jun 2018 19:52:06 +0530 evolve: implement resolution of content-divergence when on differet parents
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 01 Jun 2018 19:52:06 +0530] rev 3805
evolve: implement resolution of content-divergence when on differet parents This patch implements the basic version of resolution of content-divergence changesets when they are on different parents but one of the parent is gca of both the different parents. The functionality first relocates the divergent changeset which was left behind and then resolves the content-divergence like it resolves in normal cases. This is a very basic implementation because it still does not work on interrupted evolution. Test changes in this patch shows the basic functionality working. The output of dry-run is also required to be tweaked in such cased. Upcoming patches will add more tests and will improve the implementation to work during conflicts too.
Fri, 01 Jun 2018 19:57:19 +0530 tests: add tests for resolving content-divergence with parent change
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 01 Jun 2018 19:57:19 +0530] rev 3804
tests: add tests for resolving content-divergence with parent change This patch adds a new test file test-evolve-content-divergence.t which tests the resolution of content divergence when the divergent changesets does not have the same parents.
Wed, 06 Jun 2018 03:49:17 +0530 CHANGELOG: add an entry about fixing issue5877
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jun 2018 03:49:17 +0530] rev 3803
CHANGELOG: add an entry about fixing issue5877
Wed, 06 Jun 2018 03:26:47 +0530 evolve: pop up editor if conflicts occur while merging commit messages
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jun 2018 03:26:47 +0530] rev 3802
evolve: pop up editor if conflicts occur while merging commit messages Last patch added support for merging commit messages while resolving content divergence. In case of conflicts we fallback to one of the divergent commit messages. After this patch, we will pop up an editor where user has to resolve the conflicts in the commit messages and then continue. Tests are added for this. We need to fix handling in test-sharing.t to use HGEDITOR to fix conflicts and pass the new commit message. Future improvement can be that we should respect HGMERGE while merging commit descriptions too.
Mon, 04 Jun 2018 01:28:02 +0530 evolve: merge commit messages while resolving content-divergence (issue5877)
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 04 Jun 2018 01:28:02 +0530] rev 3801
evolve: merge commit messages while resolving content-divergence (issue5877) While resolving content-divergence, there can be divergence in commit messages too which should be resolved. This patch uses the hg's internal merge API's to merge commit messages of divergent changesets with predecessor as the base. In case of conflicts, we fallback to divergent's commit message which should be changed in future. We should pop up the editor with the commit message and the conflict markers and let user fix that. Tests are added for the functionality added.
Wed, 06 Jun 2018 01:19:36 +0530 evolve: move if-else block under the right block
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jun 2018 01:19:36 +0530] rev 3800
evolve: move if-else block under the right block the index related if-else should be only executed when all three base, divergent and other have different branch names. I coded this last night and mistakenly mis-indented it. Caught when I was adding more tests.
Tue, 05 Jun 2018 22:02:24 +0530 tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 22:02:24 +0530] rev 3799
tests: make sure we don't result in commit messages conflict Upcoming patches will introduce functionality of merging commit messages while resolving content divergence which can lead to conflicts. We don't want to test the conflicts scenario here, so let's make sure there are no conflicts of commit messages in this test.
Tue, 05 Jun 2018 21:02:09 +0530 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 21:02:09 +0530] rev 3798
tests: don't use mkcommit shell function in test-divergent.t Upcoming series will start merging commit descriptions while resolving content-divergence. This tests are here to test the basics of content-divegrence resolution and we should not be testing much of commit description merge here. Replacing mkcommit function with normal hg calls will help us decide on the commit messages ourselves and prevent conflicts while merging commit messages.
Wed, 06 Jun 2018 14:35:36 +0200 evolve: remove duplicated documentation
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 06 Jun 2018 14:35:36 +0200] rev 3797
evolve: remove duplicated documentation File saving failure…
Wed, 06 Jun 2018 04:09:49 +0530 evolve: show `hg help evolve.interrupted-evolve` in error when conflicts
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jun 2018 04:09:49 +0530] rev 3796
evolve: show `hg help evolve.interrupted-evolve` in error when conflicts The help list various flags which you can use during interrupted evolve resolution and description about what they do. This will be very helpful for user on how to continue an interrupted evolve.
Wed, 23 May 2018 01:11:59 +0530 evolve: add a help topic `Interrupted-Evolve`
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 01:11:59 +0530] rev 3795
evolve: add a help topic `Interrupted-Evolve` This help topic contains description on how the various flags work during interrupted evolve. This help topic will be included in error message during interrupted evolve in next patch.
Tue, 05 Jun 2018 03:37:15 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Jun 2018 03:37:15 +0200] rev 3794
branching: merge with stable
Tue, 05 Jun 2018 03:36:40 +0200 changelog: fix version number error stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Jun 2018 03:36:40 +0200] rev 3793
changelog: fix version number error
Thu, 24 May 2018 02:12:14 +0530 evolve: return the new node formed only as the replacement
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 02:12:14 +0530] rev 3792
evolve: return the new node formed only as the replacement sometimes, the the other content divergent changeset is obsoleted in favour of the local divergent changeset in which case we should not store that as a replacement because `hg evolve --abort` will strip that changeset. Let's make sure we return the newnode only if formed. The test results shows that we are still not 100% accurate as we need to strip an obsmarker.
Thu, 24 May 2018 17:04:20 +0530 tests: add more test of --abort flag for content-divergence resolution
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 17:04:20 +0530] rev 3791
tests: add more test of --abort flag for content-divergence resolution This patch adds test when we resolve multiple content-divergence changesets at once and resolution fo first content-divergence does not form new commits, resolution of second one leads to conflicts. As the output shows, we are wrongly stripping a changeset here, which should be fixed in next patch.
Mon, 04 Jun 2018 04:03:02 +0530 evolve: prompt user for branch selection while resolving content-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 04 Jun 2018 04:03:02 +0530] rev 3790
evolve: prompt user for branch selection while resolving content-divergence When resolving content-divergence, there can be case when both the content-divergent changesets are on different named branches. In that case, we are not sure which branch should the resolution commit should be on. This patch adds logic to prompt user to choose the branch which the resolution commit should be on and then creates the new resolution commit on that branch. This also adds a new test file which have tests for the branch selection feature we have added.
Tue, 05 Jun 2018 03:51:01 +0530 evolve: pass the base revision in _completecontentdivergent()
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 03:51:01 +0530] rev 3789
evolve: pass the base revision in _completecontentdivergent() We need the base revision to merge commit messages, branches and more stuff. Let's make sure we have that by passing into the function which completes the divergence resolution.
Tue, 05 Jun 2018 03:49:49 +0530 evolve: store the base of content-divergents in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 03:49:49 +0530] rev 3788
evolve: store the base of content-divergents in evolvestate We need the base changeset for merging commit messages, branches. Let's store it in evolvestate.
Tue, 05 Jun 2018 00:53:21 +0530 evolve: use cmdrewrite.amend() instead of creating a new commit
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 00:53:21 +0530] rev 3787
evolve: use cmdrewrite.amend() instead of creating a new commit This patch backs out changeset 88601e1cd5d8. We replaced cmdrewrite.amend() with creating new commit because using amend(), a high level function was not good and creating a new commit gave us more control over things. **HOWEVER** to get more control, you need to get arrange all the pieces together perfectly. Creating a new commit, the existing logic has some bugs around dirstate handling, the `repo.dirstate.setparents()` call especially. Sometimes this fixes the dirstate correctly sometimes not. As Pierre-Yves David said, "Having a "clumsy" implementation with the right behavior is usually a good first step. So having an amend based implementation seems like a good first step.", let's take a step back and get back using amend so that we can have a correct basic implementation which is bug free.
Sun, 03 Jun 2018 01:59:41 +0530 corecompat: update the tests output to show phase update summary
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 01:59:41 +0530] rev 3786
corecompat: update the tests output to show phase update summary eb9835014d20 in core added support to transactions to show a summary on the phase changed during that transaction. Due to this, couple of tests output needs to be updated. This patch does that. While realeasing evolve, this patch should be backed out on branches where hg<=4.6. CORE-TEST-OUTPUT-UPDATE: eb9835014d20
Sun, 03 Jun 2018 03:24:43 +0530 CHANGELOG: add an entry about issue 5808 being fixed stable
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 03:24:43 +0530] rev 3785
CHANGELOG: add an entry about issue 5808 being fixed
Sun, 03 Jun 2018 03:21:25 +0530 next-prev: replace the error hint to mention about `--merge` flag stable
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 03:21:25 +0530] rev 3784
next-prev: replace the error hint to mention about `--merge` flag
Sun, 03 Jun 2018 03:13:47 +0530 tests: add tests for conflicts while respecting commands.update.check stable
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 03:13:47 +0530] rev 3783
tests: add tests for conflicts while respecting commands.update.check This patch adds tests to check that we don't run into conflicts while respecting commands.update.check. The error message now does not show the hint about --merge option which we should fix.
Sun, 03 Jun 2018 02:37:13 +0530 next: respect `commands.update.check` config option in `hg next` (issue5808) stable
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 02:37:13 +0530] rev 3782
next: respect `commands.update.check` config option in `hg next` (issue5808) `commands.update.check` config option determines what level of checking should be done when we update to another revision. When we set this config option to `noconflict`, it updates your working directory to a specified revision only when there will be no conflicts which is a very nice behavior. This patch adds logic to respect the config option so that we can have that nice behavior with `hg next` too. It turns out, we just needed to use hg.updatetotally() and add some cases to check config option. Right now, we only respect the config if value is set to `noconflict`. Otherwise we fallback to the default behavior. This is a part of fixing issue5808. Test changes demonstrate the fix.
Sun, 03 Jun 2018 02:36:24 +0530 prev: respect `commands.update.check` config option in `hg prev` (issue5808) stable
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 02:36:24 +0530] rev 3781
prev: respect `commands.update.check` config option in `hg prev` (issue5808) `commands.update.check` config option determines what level of checking should be done when we update to another revision. When we set this config option to `noconflict`, it updates your working directory to a specified revision only when there will be no conflicts which is a very nice behavior. This patch adds logic to respect the config option so that we can have that nice behavior with `hg prev` too. It turns out, we just needed to use hg.updatetotally() and add some cases to check config option. Right now, we only respect the config if value is set to `noconflict`. Otherwise we fallback to the default behavior. This is a part of fixing issue5808. Test changes demonstrate the fix.
Sun, 03 Jun 2018 02:50:55 +0530 tests: add test demonstrating issue5808 stable
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 02:50:55 +0530] rev 3780
tests: add test demonstrating issue5808 This patch adds test showing that `next` and `prev` does not respect the `commands.update.check` config option, particularly when set to `noconflict`.
Sun, 03 Jun 2018 02:26:19 +0530 next: bail out early in `hg next --evolve` if dirty wdir stable
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 02:26:19 +0530] rev 3779
next: bail out early in `hg next --evolve` if dirty wdir This patch adds logic to bail out early when --evolve is passed with next command and the working directory is dirty. This will help us in preventing the message saying `do you want --merge` which is useless and misleading when `--evolve` is passed.
Sun, 03 Jun 2018 02:24:28 +0530 tests: add test of `hg next --evolve` with dirty working directory stable
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 02:24:28 +0530] rev 3778
tests: add test of `hg next --evolve` with dirty working directory I was testing some output change to `hg next --evolve` in dirty working directory and found that we don't have any test for that.
Sun, 03 Jun 2018 03:35:22 +0530 CHANGELOG: add an entry about fixing issue5897 stable
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 03:35:22 +0530] rev 3777
CHANGELOG: add an entry about fixing issue5897
Sun, 27 May 2018 02:32:58 +0530 evolve: fix `hg abort` when hg next --evolve leads to conflicts (issue5897) stable
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 27 May 2018 02:32:58 +0530] rev 3776
evolve: fix `hg abort` when hg next --evolve leads to conflicts (issue5897) Before this patch, if you do `hg next --evolve` and end up having conflicts and then you try `hg abort`, it will throw a KeyError. This patch fixes that.
Wed, 30 May 2018 00:34:35 +0530 tests: add a test demonstrating issue5897 stable
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 30 May 2018 00:34:35 +0530] rev 3775
tests: add a test demonstrating issue5897 When conflicts are caused due to `hg next --evolve`, `hg evolve --abort` breaks! This patch adds test to demonstrate that. This will be fixed in next patch.
Thu, 24 May 2018 17:50:02 +0530 evolve: add an `--update` flag to `hg evolve` command
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 17:50:02 +0530] rev 3774
evolve: add an `--update` flag to `hg evolve` command This patch adds a new `--update` flag which defaults to True. The update flag updates the working directory to the head of evolved revisions after `hg evolve` command. This flag can be used to not update your working directory after `hg evolve` which has been one of the biggest feature request from fig team at Google. To not update your working directory, the user can do `hg evolve --no-update`. If the working directory get obsoleted by evolve command, it will update to the successor. This patch also adds some basic tests for the flag introduced.
Thu, 24 May 2018 02:02:11 +0530 tests: add tests for testing --abort while content-divergence resolution
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 02:02:11 +0530] rev 3773
tests: add tests for testing --abort while content-divergence resolution This patch adds a new test file with a very basic test of `--abort` on an interrupted evolve which was resolving content-divergence. Upcoming patches will add more rigourous tests.
Thu, 24 May 2018 00:58:50 +0530 evolve: fix storage of replacements and temprevs node in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 00:58:50 +0530] rev 3772
evolve: fix storage of replacements and temprevs node in evolvestate The _completephaseivergent() was not respecting rules on how to store the new node ids created in evolvestate. The rules are: * store the temporary relocated commits in temprevs * store the final new commit in replacements This patch make sure we follow the above rules and also use the return value returned by _resolvephasedivergence(). The tests change demonstrates that we are all good now.
Thu, 24 May 2018 00:58:35 +0530 tests: add more tests related to aborting while resolving phase-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 00:58:35 +0530] rev 3771
tests: add more tests related to aborting while resolving phase-divergence The tests shows the something is still broken related to abort while resolving phase-divergence which will be fixed in upcoming patches.
Wed, 23 May 2018 12:16:24 +0200 topic: suggest to clear a topic that becomes empty
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 23 May 2018 12:16:24 +0200] rev 3770
topic: suggest to clear a topic that becomes empty We add a hint suggesting "hg topic --clear" when a topic becomes empty. This usually happens when all its changesets get public, that is when the user does a 'phase -p' or when they pull from a server. To discriminate relevant cases for which we should display the hint (and typically exclude explicit 'hg topic --clear' operation), we look for the transaction "type" to only consider 'phase' or 'push' transaction. In the latter case, the transaction name is not simply 'push-response' but it also included the remote URL so we need to match on string content.
Wed, 23 May 2018 11:37:37 +0200 topic: display a hint pointing at help when a topic becomes non-empty
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 23 May 2018 11:37:37 +0200] rev 3769
topic: display a hint pointing at help when a topic becomes non-empty This is an attempt at avoiding "mistakes" by new users of topics when they pull a topic and publish its changesets while being checked out. In this case, the topic will become empty but still be active; however, if this is a "foreign" topic, the user will not likely want to keep it active for the next commit operation. So we add a hint message pointing at general help of "topics" command so that they can eventually do something and learn about "hg topics --clear".
Thu, 24 May 2018 18:57:46 +0200 branching: merge with compat fix on default
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 24 May 2018 18:57:46 +0200] rev 3768
branching: merge with compat fix on default
Thu, 24 May 2018 01:50:26 +0530 evolve: add compat for repair.stripbmrevset which is moved to scmutil stable
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 01:50:26 +0530] rev 3767
evolve: add compat for repair.stripbmrevset which is moved to scmutil This patch adds compatibility logic for repair.stripbmrevset() which is moved to scmutil as bookmarkrevs(). This fixes test-prune.t failure.
Wed, 23 May 2018 11:18:14 +0200 evolve: update the readme with more information about contribution stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 May 2018 11:18:14 +0200] rev 3766
evolve: update the readme with more information about contribution
Wed, 23 May 2018 11:03:31 +0200 topic: dedent items about publishing behavior in docstring stable
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 23 May 2018 11:03:31 +0200] rev 3765
topic: dedent items about publishing behavior in docstring Also change item bullets from '#' to '*'.
Wed, 23 May 2018 11:00:11 +0200 topic: use preformatted block for config snippets documentation stable
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 23 May 2018 11:00:11 +0200] rev 3764
topic: use preformatted block for config snippets documentation We add :: markers, empty line and properly indent blocks where needed.
Wed, 23 May 2018 11:09:37 +0200 tests: add a test for "hg help -e topic" stable
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 23 May 2018 11:09:37 +0200] rev 3763
tests: add a test for "hg help -e topic" Currently, some configuration snippets do not render well; we'll fix this in forthcoming changesets.
Wed, 23 May 2018 01:24:02 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 May 2018 01:24:02 +0200] rev 3762
branching: merge with stable
Tue, 22 May 2018 21:33:50 +0530 content-div: add test showing `--stop` works during interrupted resolution
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 22 May 2018 21:33:50 +0530] rev 3761
content-div: add test showing `--stop` works during interrupted resolution This patch adds a test showing that the --stop flag of `hg evolve` works well during interrupted content-divergence resolution. The --stop flag now works with all the three different type of instability resolution very well and we should advertise it more.
Mon, 23 Apr 2018 14:48:53 +0530 evolve: create new commit while resolving content-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 23 Apr 2018 14:48:53 +0530] rev 3760
evolve: create new commit while resolving content-divergence Before this patch, we used to amend one of the content-divergent changes with the changes from the merge. Creating a new commit will certain advantages like letting user enter a commit message, showing user the new merge diff before commiting the content-divergent resolution and give us more control in the implementation part. The reason amend was used initially was just because it was easy. There are some tests update due to change.
Tue, 22 May 2018 20:33:42 +0530 content-divergence: store the resolved revs in evolvestate['replacements']
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 22 May 2018 20:33:42 +0530] rev 3759
content-divergence: store the resolved revs in evolvestate['replacements'] The support for continuing a conflicted content-divergence resolution was added some time ago. That support lacked storing of the resolved rev in the evolvestate['replacements'] which marks the node as resolved and does not try to resolve that node again. Since we didn't store, the resolution, processes the same node again. This patch makes sure we store the information in evolvestate that a certain content-divergent node is resolved to prevent pre-processing it again.
Tue, 22 May 2018 23:51:57 +0530 utility: use ui.interactive() instead of checking config value
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 22 May 2018 23:51:57 +0530] rev 3758
utility: use ui.interactive() instead of checking config value Before this patch, the rev selection prompt which pops up in case of ambiguity to ask user to select a rev used to check the config value of ui.interactive which can is by default set to None. We should use ui.interactive() instead which is more smart in such cases. Thanks to martinvonz for suggesting this.
Wed, 23 May 2018 02:46:20 +0530 evolve: make `--abort` strip the temporary revs created during resolution
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:46:20 +0530] rev 3757
evolve: make `--abort` strip the temporary revs created during resolution During divergence resolution, `hg evolve` created temporary relocation commits which needs to be stripped off during `hg evolve --abort` to get back to the same state where we were. Previous patch added a new list temprevs to be stored in evolvestate. This patch starts storing the temp relocated node created during phase-divergence resolution in evolvestate and make sure we consider stripping it too while `hg evolve --abort`. The test changes demonstrate the fix. Now we are sucessfully aborting a phase-divergence resolution.
Wed, 23 May 2018 02:43:23 +0530 evolve: store a list of temprevs in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:43:23 +0530] rev 3756
evolve: store a list of temprevs in evolvestate There are temporary revisions which are created as a part of divergence resolution which needs to be stripped off if user runs `hg evolve --abort`. We need to save the nodeids of those temporary revisions in the evolvestate. The temprevs list will help in the above mentioned use cases.
Wed, 23 May 2018 02:36:14 +0530 evolve: check for None before adding in set of revisions to strip
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:36:14 +0530] rev 3755
evolve: check for None before adding in set of revisions to strip After previous patch, replacements can contain None. Let's make sure we don't add None to the revisions to strip during `hg evolve --abort` The test changes demonstrate the usefulness of this and the previous patch. Now abort is working and public changesets are not a problem.
Wed, 23 May 2018 02:33:14 +0530 evolve: return the new replacement node to be stored in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:33:14 +0530] rev 3754
evolve: return the new replacement node to be stored in evolvestate While resolving phase-divergence, we can end up obsoleting the phase-divergent commit in favor of the public commit. Before this patch we return the node of public commit to store as a replacement of the phase-divergent commit. The above will not cause any problem till the time we use `hg evolve --abort` on an interrupted evolve which tries to strip the replacement nodes because it thinks that the replacements nodes are the ones which are created during the resolution and are new. Since we will be stripping a public node, `evolve --abort` will error out saying cannot strip public changeset, unable to abort evolve which is bad. We should make sure, replacements should only consist of new nodes formed. If the instablity is resolved by obsoleting in favour of old changeset, we should not store the old changeset in replacements in evolvestate.
Wed, 23 May 2018 02:39:38 +0530 evolve: don't make values of replacements dict lists
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:39:38 +0530] rev 3753
evolve: don't make values of replacements dict lists There was inconsistency in code base related to the values stored in replacements dict in evolvestate. At some places we store a list, at some places we just store the nodeid. Let's make sure we store only the nodeid, not a list. If there are cases, when there are multiple replacements or changesets created during resolution, later patch will introduce storing temprevs in evolvestate which should be used.
Wed, 23 May 2018 02:41:08 +0530 tests: add a test file `--abort` flag while resolving phase-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:41:08 +0530] rev 3752
tests: add a test file `--abort` flag while resolving phase-divergence This patch adds a new test file test-evolve-abort-phasediv.t which will contain tests for `hg evolve --abort` flag while resolving phase-divergence. There is a case in this test which does not work right which will be fixed in upcoming patches.
Tue, 15 May 2018 22:17:27 -0700 evolve: pass revisions as strings to commands.*() stable
Martin von Zweigbergk <martinvonz@google.com> [Tue, 15 May 2018 22:17:27 -0700] rev 3751
evolve: pass revisions as strings to commands.*() It's usually fine to pass integer revisions to e.g. commands.update(), but when directaccess is enabled, it attempts to parse it a revset, which fails.
Wed, 23 May 2018 01:27:13 +0530 tests: rename test-evolve-abort.t to test-evolve-abort-orphan.t
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 01:27:13 +0530] rev 3750
tests: rename test-evolve-abort.t to test-evolve-abort-orphan.t We renamed the test file because it contains all the cases related to orphan resolution. Now we care about divergence resolution too and hence we must have separate specific test files for each type.
Mon, 21 May 2018 16:56:52 +0200 branching: merge with branch for stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 21 May 2018 16:56:52 +0200] rev 3749
branching: merge with branch for stable
Mon, 21 May 2018 16:25:29 +0200 compat: update obshashrange test output
Boris Feld <boris.feld@octobus.net> [Mon, 21 May 2018 16:25:29 +0200] rev 3748
compat: update obshashrange test output Mercurial core bfe8ef6e370e seems to have changed the order of some messages. Simply accept the change in the test file. CORE-TEST-OUTPUT-UPDATE: bfe8ef6e370e
Mon, 21 May 2018 14:56:51 +0200 test: update to new outputs
Boris Feld <boris.feld@octobus.net> [Mon, 21 May 2018 14:56:51 +0200] rev 3747
test: update to new outputs Mercurial core ea63a2004d09 update the hidden changeset warning during update after the effective update. CORE-TEST-OUTPUT-UPDATE: ea63a2004d09
Mon, 21 May 2018 13:07:49 +0200 compat: fix obslog with Mercurial 4.6+
Boris Feld <boris.feld@octobus.net> [Mon, 21 May 2018 13:07:49 +0200] rev 3746
compat: fix obslog with Mercurial 4.6+ Mercurial core 3fe1c9263024 removed the diffopts attribute on changesetprinter. Backport consuming diffopts in the constructor for old versions of changesetprinter and update the non-graph code to extract the patch option and pass it directly.
Sat, 19 May 2018 18:26:36 +0530 debian: add line to clean-docs target to delete additional docs file stable
Faheem Mitha <faheem@faheem.info> [Sat, 19 May 2018 18:26:36 +0530] rev 3745
debian: add line to clean-docs target to delete additional docs file
Mon, 14 May 2018 15:25:38 -0700 amend: use context manager for locks (issue5887) stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 14 May 2018 15:25:38 -0700] rev 3744
amend: use context manager for locks (issue5887)
Thu, 10 May 2018 21:37:28 -0700 evolve: point to '--abort' in verbose status message stable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 10 May 2018 21:37:28 -0700] rev 3743
evolve: point to '--abort' in verbose status message f6979d64b9fb (evolve: point to '--abort' in error message, 2018-04-22) changed "hg update -C ." to "hg evolve --abort" in error messages. This commit makes the same change in the verbose status message (the one that warns about unfinished evolve). There's still one mention "hg update -C" in our codebase. That's after "hg evolve --content-divergent" fails, but I don't think "hg evolve --abort" works in that case (yet?).
Sun, 22 Apr 2018 20:14:42 +0530 evolvecmd: add comments and new lines in content-divergence handling logic
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 22 Apr 2018 20:14:42 +0530] rev 3742
evolvecmd: add comments and new lines in content-divergence handling logic I have visited this logic three times in last 10 days and I have to re-read the whole code to make sure I don't miss any part. Adding comments will help understanding the code in better and fast way.
Sun, 29 Apr 2018 19:18:54 +0530 evolve: show cset hash in "merging conetnt-divergent changeset"
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 19:18:54 +0530] rev 3741
evolve: show cset hash in "merging conetnt-divergent changeset" While I was here I also mae de it repo.ui.status() instead of repo.ui.note() to align the behavior with rest of the messages.
Sun, 29 Apr 2018 19:14:41 +0530 evolve: show cset hash in "update to local conflict" message
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 19:14:41 +0530] rev 3740
evolve: show cset hash in "update to local conflict" message
Sun, 29 Apr 2018 19:11:29 +0530 evolve: use hg.updaterepo() instead of hg.update() to hide stats
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 19:11:29 +0530] rev 3739
evolve: use hg.updaterepo() instead of hg.update() to hide stats
Sun, 29 Apr 2018 19:04:18 +0530 evolve: fix the conflicts error message during content-divergence resolution
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 19:04:18 +0530] rev 3738
evolve: fix the conflicts error message during content-divergence resolution Before last patch, we didn't had an automated way to continue an interrupted content-divergence resolution and we used to show a very long error message on how to continue manually. This patch replaces that long error message with nice small message which tells how to continue and how to abort. We still show `hg update -C .` to abort as we need to test and make `--abort` work in case of content-divergence.
Sun, 29 Apr 2018 18:51:56 +0530 evolve: add logic to continue interrupted content-divergence resolution
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 18:51:56 +0530] rev 3737
evolve: add logic to continue interrupted content-divergence resolution We continue the interrupted content-divergence using the logic to complete content-divergence which we refactored in it's own function few patches ago. We had to delete evolvestate file before using cmdutil.amend() because otherwise we can't use the function. This leads to a hack which deletes the evolvestate file, we may want to not to use the high level API function here. Also we had to pass evolvestate also to _completecontentdivergent function because of this. This patch also, adds a test which demonstrates that the logic works fine.
Sun, 29 Apr 2018 18:48:36 +0530 evolve: store the evolvestate file when encountering conflicts
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 18:48:36 +0530] rev 3736
evolve: store the evolvestate file when encountering conflicts This patch makes `hg evolve` store the evolvestate file when it encounters merge conflicts while resolving content-divergence.
Sun, 29 Apr 2018 18:13:29 +0530 evolve: take out logic to complete phase-divergence in separate fn
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 18:13:29 +0530] rev 3735
evolve: take out logic to complete phase-divergence in separate fn This patch takes out the logic to complete the content-divergence resolution to it's own separate function so that we can reuse it in case of interrupted resolution.
Sun, 29 Apr 2018 17:54:01 +0530 evolve: store divergent nodes in evolvestate when resolving content-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 17:54:01 +0530] rev 3734
evolve: store divergent nodes in evolvestate when resolving content-divergence We need to store the divergent nodes in evolvestate so that we can continue an interrupted phase divergence resolution.
Wed, 02 May 2018 11:59:06 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 02 May 2018 11:59:06 +0200] rev 3733
branching: merge stable into default
Sat, 28 Apr 2018 18:44:07 +0530 tests: add test showing `hg evolve --stop` works fine with phase-divergence stable
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 28 Apr 2018 18:44:07 +0530] rev 3732
tests: add test showing `hg evolve --stop` works fine with phase-divergence This patch adds a new test file which contains test demonstrating that `--stop` flag works well while resolving phase-divergence using `hg evolve`.
Sat, 28 Apr 2018 18:03:32 +0530 tests: rename the test file to add 'orphan' in the name stable
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 28 Apr 2018 18:03:32 +0530] rev 3731
tests: rename the test file to add 'orphan' in the name test-evolve-stop.t contains test for `hg evolve --stop` for orphan resolution only. We also need to test the flag while resolving divergence. It will be good if we have a test file for each type of instability.
Fri, 27 Apr 2018 16:28:34 +0800 tests: test that `hg obslog wdir()` aborts with a useful message stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 27 Apr 2018 16:28:34 +0800] rev 3730
tests: test that `hg obslog wdir()` aborts with a useful message
Fri, 27 Apr 2018 16:19:45 +0800 obshistory: make obslog work when a commit doesn't have any description stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 27 Apr 2018 16:19:45 +0800] rev 3729
obshistory: make obslog work when a commit doesn't have any description This logic is taken from logcmdutil.changesetprinter class. It checks that commit description is not empty before extracting the first line (before this patch it would try to index an empty list). Stripping description also makes obslog behave more like regular log when there are trailing/leading whitespaces.
Fri, 27 Apr 2018 16:14:10 +0800 obshistory: use a more appropriate type for obslog entries stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 27 Apr 2018 16:14:10 +0800] rev 3728
obshistory: use a more appropriate type for obslog entries cand is actually a regular changeset and not 'M' (graphmod.MISSINGPARENT). And 'M' is only used for graph edges, but cand is drawn as a graph node. Visually there's no effect, but the code makes more sense this way.
Wed, 25 Apr 2018 14:19:13 +0100 packaging: mark as development version
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:19:13 +0100] rev 3727
packaging: mark as development version This help avoiding confusion when installing from source.
Wed, 25 Apr 2018 14:18:19 +0100 branching: merge with latest release
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:18:19 +0100] rev 3726
branching: merge with latest release
Wed, 25 Apr 2018 14:16:35 +0100 packaking: mark as development version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:16:35 +0100] rev 3725
packaking: mark as development version This avoid confusion when installing from source.
Wed, 25 Apr 2018 14:09:36 +0100 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:09:36 +0100] rev 3724
test-compat: merge mercurial-4.4 into mercurial-4.3
Wed, 25 Apr 2018 14:09:35 +0100 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:09:35 +0100] rev 3723
test-compat: merge mercurial-4.5 into mercurial-4.4
Wed, 25 Apr 2018 14:09:34 +0100 test-compat: merge stable into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:09:34 +0100] rev 3722
test-compat: merge stable into mercurial-4.5
Wed, 25 Apr 2018 14:09:14 +0100 Added tag 8.0.0 for changeset 116cdd8c102a stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:09:14 +0100] rev 3721
Added tag 8.0.0 for changeset 116cdd8c102a
Wed, 25 Apr 2018 14:02:43 +0100 packaging: update version number stable 8.0.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:02:43 +0100] rev 3720
packaging: update version number
Wed, 25 Apr 2018 13:55:52 +0100 packagin: update `tested-with` statement stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 13:55:52 +0100] rev 3719
packagin: update `tested-with` statement
Wed, 25 Apr 2018 13:49:00 +0100 changelog: mention 4.6 compatibility stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 13:49:00 +0100] rev 3718
changelog: mention 4.6 compatibility
Wed, 25 Apr 2018 11:55:49 +0100 Changelog: pre-version gardening stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 11:55:49 +0100] rev 3717
Changelog: pre-version gardening
Wed, 25 Apr 2018 01:58:45 +0100 testcompat: update output for Mercurial 4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 01:58:45 +0100] rev 3716
testcompat: update output for Mercurial 4.3 Lets of minor update + one major update to tests/test-evolve-phase-divergence.t since all hashed chance (different instability name).
Mon, 23 Apr 2018 12:23:00 +0200 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Apr 2018 12:23:00 +0200] rev 3715
test-compat: merge mercurial-4.4 into mercurial-4.3
Mon, 23 Apr 2018 12:11:10 +0200 test-compat: merge mercurial-4.5 into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Apr 2018 12:11:10 +0200] rev 3714
test-compat: merge mercurial-4.5 into mercurial-4.4
Tue, 24 Apr 2018 08:57:18 +0100 testcompat: revert output change from new capabilities mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Apr 2018 08:57:18 +0100] rev 3713
testcompat: revert output change from new capabilities This new capabilities is 4.6 only.
Tue, 24 Apr 2018 08:42:47 +0100 testcompat: revert output change from 54a469cd5b26 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Apr 2018 08:42:47 +0100] rev 3712
testcompat: revert output change from 54a469cd5b26 These are 4.6 only changes.
Tue, 24 Apr 2018 08:41:57 +0100 testcompat: revert output change from 1de6ba0ac6d7 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Apr 2018 08:41:57 +0100] rev 3711
testcompat: revert output change from 1de6ba0ac6d7 These are 4.6 only changes.
Mon, 23 Apr 2018 12:10:26 +0200 testcompat: merge stable into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Apr 2018 12:10:26 +0200] rev 3710
testcompat: merge stable into mercurial-4.5
Tue, 24 Apr 2018 15:23:15 +0100 compat: handle different `ui.edit` signature with Mercurial 4.3 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Apr 2018 15:23:15 +0100] rev 3709
compat: handle different `ui.edit` signature with Mercurial 4.3
Tue, 24 Apr 2018 16:13:42 +0100 wirepeer: try modern module first stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Apr 2018 16:13:42 +0100] rev 3708
wirepeer: try modern module first This avoid some issue with remaining .pyc
Tue, 24 Apr 2018 12:07:35 +0100 compat: handle lack of allpredecessors for Mercurial 4.3 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Apr 2018 12:07:35 +0100] rev 3707
compat: handle lack of allpredecessors for Mercurial 4.3
Mon, 23 Apr 2018 12:03:05 +0100 branching: merge further fix into stable stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Apr 2018 12:03:05 +0100] rev 3706
branching: merge further fix into stable
Mon, 23 Apr 2018 11:44:05 +0100 wrapping: fix a silly error were we checking on module and wrapping the other
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Apr 2018 11:44:05 +0100] rev 3705
wrapping: fix a silly error were we checking on module and wrapping the other ...
Mon, 23 Apr 2018 11:04:27 +0200 brancing: merge next release into default stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Apr 2018 11:04:27 +0200] rev 3704
brancing: merge next release into default We are about to release hg-evolve 8.0.0
Sat, 21 Apr 2018 11:01:12 +0200 test-compat: open mercurial-4.5 branch mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 21 Apr 2018 11:01:12 +0200] rev 3703
test-compat: open mercurial-4.5 branch
Sun, 22 Apr 2018 11:40:17 +0200 evolve: point to '--abort' in error message
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 22 Apr 2018 11:40:17 +0200] rev 3702
evolve: point to '--abort' in error message The way to escape and evolve run has been updated and we need to tell our user about it.
Thu, 19 Apr 2018 16:27:13 +0200 compat: drop compatibility layer for pager
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:27:13 +0200] rev 3701
compat: drop compatibility layer for pager All versions we support now support `ui.pager`.
Thu, 19 Apr 2018 16:25:17 +0200 compat: drop compatibility layer for duplicatecopies
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:25:17 +0200] rev 3700
compat: drop compatibility layer for duplicatecopies We no longer support version before Mercurial 4.3.
Thu, 19 Apr 2018 16:21:44 +0200 compat: drop compatibility layer for bookmark.applychanges
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:21:44 +0200] rev 3699
compat: drop compatibility layer for bookmark.applychanges We now only support Mercurial version down to 4.3.
Thu, 19 Apr 2018 16:15:10 +0200 compat: from compatibility layer for allprecursors
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:15:10 +0200] rev 3698
compat: from compatibility layer for allprecursors We only support down to 4.3 now.
Thu, 19 Apr 2018 16:12:37 +0200 compat: drop compatibility layer for successorssets
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:12:37 +0200] rev 3697
compat: drop compatibility layer for successorssets We support down to Mercurial 4.3 now.
Thu, 19 Apr 2018 16:08:01 +0200 compat: drop compatibility wrapper for "relevantmarkers"
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:08:01 +0200] rev 3696
compat: drop compatibility wrapper for "relevantmarkers" We no longer support version without the logic we have been adding.
Thu, 19 Apr 2018 16:51:53 +0200 compat: drop compat layer for cleanupnodes
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:51:53 +0200] rev 3695
compat: drop compat layer for cleanupnodes We no longer support version lower than 4.3.
Thu, 19 Apr 2018 16:07:23 +0200 compat: from compatibility layer for createmarkers
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:07:23 +0200] rev 3694
compat: from compatibility layer for createmarkers We support down to 4.3 now. It supports operation.
Thu, 19 Apr 2018 16:01:49 +0200 compat: drop obsutile layer
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:01:49 +0200] rev 3693
compat: drop obsutile layer Mercurial 4.2 is no longer supported.
Thu, 19 Apr 2018 15:59:39 +0200 compat: drop vfsmod compat layer
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 15:59:39 +0200] rev 3692
compat: drop vfsmod compat layer Mercurial 4.2 is no longer supported.
Thu, 19 Apr 2018 14:26:03 +0200 evolve: use in code filtered error for 4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 14:26:03 +0200] rev 3691
evolve: use in code filtered error for 4.6 Things have been upstream into core for a while, let us use them instead of the evolve version.
Thu, 19 Apr 2018 15:51:44 +0200 documentation: refer to 4.3 in the help text
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 15:51:44 +0200] rev 3690
documentation: refer to 4.3 in the help text Minimal version supported is now 4.3. Drop reference to 4.2 in the help.
Thu, 19 Apr 2018 14:14:34 +0200 topic: remove compatibility for older version in discovery wrapping
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 14:14:34 +0200] rev 3689
topic: remove compatibility for older version in discovery wrapping Support for 4.1 and 4.2 has been dropped.
Thu, 19 Apr 2018 14:01:24 +0200 obscache: drop compat layer to access public changeset
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 14:01:24 +0200] rev 3688
obscache: drop compat layer to access public changeset We can now access precomputed sets. (compat to 4.1 and 4.2 dropped)
Thu, 19 Apr 2018 14:00:12 +0200 obscache: drop compat layer for obsmarkers reading
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 14:00:12 +0200] rev 3687
obscache: drop compat layer for obsmarkers reading We cna now use a version with the argument we needs.
Thu, 19 Apr 2018 13:40:57 +0200 template: drop compatibility layer
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 13:40:57 +0200] rev 3686
template: drop compatibility layer Support has been dropped for 4.1 and 4.2
Thu, 19 Apr 2018 13:35:31 +0200 timer: drop compat layer for time
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 13:35:31 +0200] rev 3685
timer: drop compat layer for time Support for 4.1 and 4.2 has been dropped.
Thu, 19 Apr 2018 11:38:13 +0200 compat: drop support for Mercurial 4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 11:38:13 +0200] rev 3684
compat: drop support for Mercurial 4.2 Since Mercurial 4.6 is about to be released, we drop support for 4.2 too. (code still need to be cleaned up).
Thu, 19 Apr 2018 11:39:04 +0200 compat: close test-compat branch for mercurial-4.2 mercurial-4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 11:39:04 +0200] rev 3683
compat: close test-compat branch for mercurial-4.2 Support for this version have just been dropped.
Wed, 18 Apr 2018 22:54:11 -0700 evolve: add support for hg >= b4d85bc1
Martin von Zweigbergk <martinvonz@google.com> [Wed, 18 Apr 2018 22:54:11 -0700] rev 3682
evolve: add support for hg >= b4d85bc1 Mercurial commit b4d85bc1 deleted the wireproto module and its contents are now in various other modules, so we can not even do unchecked imports of it now.
Thu, 19 Apr 2018 10:59:12 +0200 discovery: handle deletion of 'wireproto' module
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 10:59:12 +0200] rev 3681
discovery: handle deletion of 'wireproto' module Mercurial commit b4d85bc122bd. deleted the wireproto module and its contents are now in various other modules, so we can not even do unchecked imports of it now.
Thu, 19 Apr 2018 10:55:57 +0200 evolve: handle wireproto module deletion for registering new commands
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 10:55:57 +0200] rev 3680
evolve: handle wireproto module deletion for registering new commands Module have been deleted in b4d85bc122bd. We can no longer import it blindly.
Thu, 19 Apr 2018 10:53:59 +0200 minitopic: handle wireproto module change from b4d85bc122bd
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 10:53:59 +0200] rev 3679
minitopic: handle wireproto module change from b4d85bc122bd This module have been scattered in other place, so we need to detect and handle this for 4.6+
Thu, 19 Apr 2018 10:50:24 +0200 topic: handle wireproto module change from b4d85bc122bd
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 10:50:24 +0200] rev 3678
topic: handle wireproto module change from b4d85bc122bd This module have been scattered in other place, so we need to detect and handle this for 4.6+
Wed, 18 Apr 2018 22:36:54 -0700 obsexchange: remove unused import of wireprotoserver
Martin von Zweigbergk <martinvonz@google.com> [Wed, 18 Apr 2018 22:36:54 -0700] rev 3677
obsexchange: remove unused import of wireprotoserver This seems to be unused since 300d7d019b9.
Wed, 18 Apr 2018 10:08:05 +0200 compat: rename resolvepartialhexnodeid to resolvehexnodeidprefix
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 18 Apr 2018 10:08:05 +0200] rev 3676
compat: rename resolvepartialhexnodeid to resolvehexnodeidprefix The name changed in 5f8f013e7d52
Tue, 17 Apr 2018 19:42:46 +0200 compat: access datestr in a way compatible with verison prior to 4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Apr 2018 19:42:46 +0200] rev 3675
compat: access datestr in a way compatible with verison prior to 4.6
Tue, 17 Apr 2018 19:42:26 +0200 compat: fallback to compatible partial lookup prior to 4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Apr 2018 19:42:26 +0200] rev 3674
compat: fallback to compatible partial lookup prior to 4.6
Tue, 17 Apr 2018 18:30:56 +0200 import: adapt to fd1dd79cff20
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Apr 2018 18:30:56 +0200] rev 3673
import: adapt to fd1dd79cff20 With the latest state of the code, the patch is passed to "import try one" as parsed.
Tue, 17 Apr 2018 18:10:53 +0200 import: grab the expected node value on the fly
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Apr 2018 18:10:53 +0200] rev 3672
import: grab the expected node value on the fly We no longer parse the patch beforehand this will reduce inconsistency with newer API.
Tue, 17 Apr 2018 17:58:12 +0200 import: use a less direct approach to store the expected node
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Apr 2018 17:58:12 +0200] rev 3671
import: use a less direct approach to store the expected node This will help later refactoring.
Tue, 17 Apr 2018 15:45:58 +0200 compat: adapt `amend --patch` to the new `patch.extract` API
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Apr 2018 15:45:58 +0200] rev 3670
compat: adapt `amend --patch` to the new `patch.extract` API
Tue, 17 Apr 2018 15:04:15 +0200 compat: deal with change in the wireproto module
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Apr 2018 15:04:15 +0200] rev 3669
compat: deal with change in the wireproto module
Mon, 16 Apr 2018 12:46:23 -0700 branching: merge with stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 16 Apr 2018 12:46:23 -0700] rev 3668
branching: merge with stable
Mon, 16 Apr 2018 20:18:10 +0200 topic: allow '.' in topic names
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 16 Apr 2018 20:18:10 +0200] rev 3667
topic: allow '.' in topic names This is also commonly used.
Mon, 16 Apr 2018 10:58:06 -0700 relocate: look up partial nodeids in unfiltered repo
Martin von Zweigbergk <martinvonz@google.com> [Mon, 16 Apr 2018 10:58:06 -0700] rev 3666
relocate: look up partial nodeids in unfiltered repo This accidentally changed to using the filtered repo in commit 0f0f3135.
Mon, 16 Apr 2018 17:11:27 +0200 compat: avoid using partial node ID in lookup
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 16 Apr 2018 17:11:27 +0200] rev 3665
compat: avoid using partial node ID in lookup This is getting deprecated in 4.6.
Mon, 16 Apr 2018 00:05:54 +0200 test: apply output change from protocaps
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 16 Apr 2018 00:05:54 +0200] rev 3664
test: apply output change from protocaps CORE-TEST-OUTPUT-UPDATE: afcfdf53e4b5
Sun, 15 Apr 2018 23:24:03 +0200 test: update output to match upstream
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 15 Apr 2018 23:24:03 +0200] rev 3663
test: update output to match upstream The exact wording for filtered error has been changed. CORE-TEST-OUTPUT-UPDATE: ecd3f6909184
Fri, 13 Apr 2018 09:26:28 -0700 evolve: don't pass stringified int to repo.__getitem__
Martin von Zweigbergk <martinvonz@google.com> [Fri, 13 Apr 2018 09:26:28 -0700] rev 3662
evolve: don't pass stringified int to repo.__getitem__ We were doing repo['-1'], which is now deprecated. Switch to repo['tip'], which is much clearer anyway (I initially thought this was nullrev and sent an incorrect patch until Pierre-Yves corrected me).
Wed, 11 Apr 2018 07:23:34 +0200 patch: offer the user a chance to fix the patch if it fails to apply
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 11 Apr 2018 07:23:34 +0200] rev 3661
patch: offer the user a chance to fix the patch if it fails to apply The experience is still not great, but better than purely dropping the changes.
Sun, 18 Mar 2018 23:48:06 +0530 amend: add a new flag `--patch` to `hg amend`
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Mar 2018 23:48:06 +0530] rev 3660
amend: add a new flag `--patch` to `hg amend` This patch adds a new flag `--patch` to `hg amend` which pops up an editor with the patch of working directory parent which you can change, and when you exit the editor the patch with changes is applied to current working directory with old changeset being obsoleted in favour of new one created by the applied patch. If supplied filenames, only those filenames are present in the popped editor and rest files stay the same way in the commit as they were. The extension of the file which opens up in editor is '.diff', we cannot have it as '.patch' as there will be develwarns related to that. We need to change to patch core and undo some change to achieve this. The implementation does not use any core API rather it has picked chunks from API which are required. One main reason to not use core import API is that we have to change wdir parent before using patch.patch() which I will like to avoid to make sure we handle merge cases too. While writing this patch I have spend lot of time try to use internal API's to work for this but none of them served the purpose well. If I have time in future and work on similar problem again, I am going to write better high-level API's which uses patchstore to achieve this. A new test file test-amend-patch.t which contains a lot of testing of the feature.
Thu, 12 Apr 2018 13:30:28 +0800 stablerangecache: include units in ui.progress() calls
Anton Shestakov <av6@dwimlabs.net> [Thu, 12 Apr 2018 13:30:28 +0800] rev 3659
stablerangecache: include units in ui.progress() calls
Thu, 12 Apr 2018 13:28:30 +0800 stablerange: include units in ui.progress() calls
Anton Shestakov <av6@dwimlabs.net> [Thu, 12 Apr 2018 13:28:30 +0800] rev 3658
stablerange: include units in ui.progress() calls
Fri, 06 Apr 2018 20:00:43 +0530 tests: add test demonstarting issue5833 is fixed
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 06 Apr 2018 20:00:43 +0530] rev 3657
tests: add test demonstarting issue5833 is fixed Previous patch which fixed issue5832 also fixed issue5833 as the root cause for both was same. This patch adds test of issue5833 as well. CHANEGLOG entry is also added for the fixed issues.
Fri, 06 Apr 2018 20:13:27 +0530 utility: convert node from MultipleSuccessorsError to rev numbers (issue5832)
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 06 Apr 2018 20:13:27 +0530] rev 3656
utility: convert node from MultipleSuccessorsError to rev numbers (issue5832) utility.builddependencies() deals with rev numbers but MultipleSuccessorsError returns nodeid which breaks the function and also breaks instability resolution. Previou patch demonstrate the breakage. This patch makes sure we convert those nodeids to rev numbers before processing ahead.
Fri, 06 Apr 2018 15:35:57 +0530 tests: add a test demonstarting issue5832 traceback
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 06 Apr 2018 15:35:57 +0530] rev 3655
tests: add a test demonstarting issue5832 traceback The traceback will be fixed in upcoming patches.
Fri, 06 Apr 2018 14:56:27 +0530 CHANGELOG: add an entry about `hg evolve --abort`
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 06 Apr 2018 14:56:27 +0530] rev 3654
CHANGELOG: add an entry about `hg evolve --abort` Previous patches added a new flag `--abort` for `hg evolve` which aborts an interrupted evolve. Currently this only works for orphan resolution cases which is very common and most people use `evolve` for that. So let's add an entry about that.
Thu, 29 Mar 2018 17:34:51 +0530 evolve: restore bookmarks correctly after `hg evolve --abort`
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 29 Mar 2018 17:34:51 +0530] rev 3653
evolve: restore bookmarks correctly after `hg evolve --abort` This patch adds logic to store bookmark movements in evolvestate class and restore bookmarks to their original place if `hg evolve --abort` is called.
Thu, 29 Mar 2018 17:42:32 +0530 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 29 Mar 2018 17:42:32 +0530] rev 3652
topic-ext: restrict the format of topic names This patch restrict the format of topic names to make sure they consist only of alphanumeric, '_' and '-' characters.
Fri, 06 Apr 2018 23:42:47 +0530 serverminitopic: wrap context.changectx.branch instead of context.changectx
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 06 Apr 2018 23:42:47 +0530] rev 3651
serverminitopic: wrap context.changectx.branch instead of context.changectx Recently some changes in core resulted in this wrapping of class leading to an infinite recursion. Let's wrap the particular function instead of wrapping the whole command. This fixes test-minitopic.t which was breaking.
Fri, 06 Apr 2018 17:53:41 +0200 templatekw: remove obsfatedata templatekw
Boris Feld <boris.feld@octobus.net> [Fri, 06 Apr 2018 17:53:41 +0200] rev 3650
templatekw: remove obsfatedata templatekw Individuals fields are available in core as single template functions.
Thu, 29 Mar 2018 13:01:05 -0700 evolve: do not exit 1 when there are no troubled changesets (issue5823)
Kyle Lippincott <spectral@google.com> [Thu, 29 Mar 2018 13:01:05 -0700] rev 3649
evolve: do not exit 1 when there are no troubled changesets (issue5823) There are possibly other cases we also do not wish to exit non-zero for in this function, but I did not analyze them closely and am just looking at resolving issue5823.
Fri, 06 Apr 2018 17:54:58 +0200 changelog: add an entry about the memory fixes
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Apr 2018 17:54:58 +0200] rev 3648
changelog: add an entry about the memory fixes
Fri, 06 Apr 2018 14:37:22 +0800 safeguard: use self instead of repo in noautopublishrepo.checkpush()
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Apr 2018 14:37:22 +0800] rev 3647
safeguard: use self instead of repo in noautopublishrepo.checkpush() Referring to repo here was somehow preventing it from being garbage-collected (important in hgweb, where currently every request gets a new repo).
Fri, 06 Apr 2018 14:36:36 +0800 stablerangecache: use self instead of repo in stablerangerepo.stablerange()
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Apr 2018 14:36:36 +0800] rev 3646
stablerangecache: use self instead of repo in stablerangerepo.stablerange() Referring to repo here was somehow preventing it from being garbage-collected (important in hgweb, where currently every request gets a new repo).
Fri, 06 Apr 2018 14:26:24 +0800 obscache: use self instead of repo in obscacherepo.updatecaches()
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Apr 2018 14:26:24 +0800] rev 3645
obscache: use self instead of repo in obscacherepo.updatecaches() Referring to repo here was somehow preventing it from being garbage-collected (important in hgweb, where currently every request gets a new repo).
Wed, 04 Apr 2018 16:29:48 +0200 templatekw: fix templatedata for 46
Boris Feld <boris.feld@octobus.net> [Wed, 04 Apr 2018 16:29:48 +0200] rev 3644
templatekw: fix templatedata for 46
Sat, 31 Mar 2018 11:53:09 +0200 style: fix a couple of pyflakes complains
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 31 Mar 2018 11:53:09 +0200] rev 3643
style: fix a couple of pyflakes complains
Thu, 29 Mar 2018 16:43:28 +0530 evolve: add a `--abort` flag for `hg evolve` command
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 29 Mar 2018 16:43:28 +0530] rev 3642
evolve: add a `--abort` flag for `hg evolve` command This patch adds a new flag `--abort` to `hg evolve` command which will abort the interrupted evolve going on undoes the changes created by the evolve command till now. The changes are bookmark movements, creation of evolved commits, obsolete the old commits in favor of evolved commits. In case when user changed things while the interrupted evolve, like did some actions which created a new commit on top of evolved commits, or changed phase of evolved commits to public, the evolve fails to abort as we should not strip out the new commit formed by user neither we can strip the public changeset. The abort fails and tell user to use `hg evolve --stop` instead. Right now bookmark movement is broken, and will be fixed in upcoming patches. Tests are added for the new flag.
Thu, 29 Mar 2018 16:38:00 +0530 evolve: don't allow updating or commiting when there is interrupted evolve
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 29 Mar 2018 16:38:00 +0530] rev 3641
evolve: don't allow updating or commiting when there is interrupted evolve We should make things simple in the starting and restrict user from doing things which can lead to problems. This is same as the rebase behavior.
Wed, 28 Mar 2018 17:47:49 +0530 evolve: internationalize the entry of --list in hg evolve help
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 17:47:49 +0530] rev 3640
evolve: internationalize the entry of --list in hg evolve help
Wed, 28 Mar 2018 17:37:10 +0530 evolve: add evolvestate as an argument to _finalizerelocate()
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 17:37:10 +0530] rev 3639
evolve: add evolvestate as an argument to _finalizerelocate() This will help us to store bookmark changes to evolvestate to revert them in case when `hg evolve --abort` is called.
Wed, 28 Mar 2018 17:33:54 +0530 evolve: add evolvestate as an argument to evolvecmd.relocate()
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 17:33:54 +0530] rev 3638
evolve: add evolvestate as an argument to evolvecmd.relocate() This will help us in passing it to _finalizerelocate() and store the bookmark changes which happend.
Wed, 28 Mar 2018 17:13:08 +0530 tests: add test about handling phase-divergent merges
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 17:13:08 +0530] rev 3637
tests: add test about handling phase-divergent merges We don't handle phase-divergent merges and we should. Upcoming patches will add the ability to handle them.
Wed, 28 Mar 2018 14:11:13 +0530 evolve: show a message when evolution leads to no changes to commit
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 14:11:13 +0530] rev 3636
evolve: show a message when evolution leads to no changes to commit In case of orphan resolution, evolution may result in no changes to commit. This patch adds a use message in such cases. This is same as the rebase behavior.
Wed, 28 Mar 2018 13:48:34 +0530 evolve: pass the instability category to relocate() and _finalizerelocate()
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 13:48:34 +0530] rev 3635
evolve: pass the instability category to relocate() and _finalizerelocate() This patch adds category argument to relocate() and _finalizerelocate() functions to take the type of instability which we are processing so that we perform actions accordingly.
Wed, 28 Mar 2018 12:56:35 +0530 tests: add more tests for solving phase-divergence using `hg evolve`
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 12:56:35 +0530] rev 3634
tests: add more tests for solving phase-divergence using `hg evolve` This patch adds more tests for resolving phase-divergence caused due to fold or split using `hg evolve` command. The resolution in case of split is not very good and will be fixed in upcoming patches
Sat, 24 Mar 2018 17:21:42 +0530 evolve: handle interrupted phase-divergence resolution gracefully
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Mar 2018 17:21:42 +0530] rev 3633
evolve: handle interrupted phase-divergence resolution gracefully This patch adds logic to handle the interrupted phase-divergence resolution by `hg evolve` command gracefully. We first complete the relocation of the changeset and then do the divergence resolution. Previous functions moved required code separate fucntions so that we can use them here.
Sat, 24 Mar 2018 16:41:14 +0530 evolve: move logic to resolve phase-divergence in a new function
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Mar 2018 16:41:14 +0530] rev 3632
evolve: move logic to resolve phase-divergence in a new function This patch moves logic which does the revert and create a commit on top of public changeset because we need to repeat that logic while handling continuation of `hg evolve` when there are conflicts while rebasing the phase-divergent changeset.
Sat, 24 Mar 2018 16:38:03 +0530 evolve: store the precursor of phase-divergent in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Mar 2018 16:38:03 +0530] rev 3631
evolve: store the precursor of phase-divergent in evolvestate This patch makes `hg evolve` store the precursor of phase-divergent changeset in evolvestate so that we don't need to calculate that again.
Sat, 24 Mar 2018 13:17:05 +0530 evolve: move logic to complete interrupted relocation to new fn
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Mar 2018 13:17:05 +0530] rev 3630
evolve: move logic to complete interrupted relocation to new fn This moves logic which completed the interrupted relocation to it's own separate function as we will need that function in continuing phase-divergence and content-divergence too.
Sat, 24 Mar 2018 12:58:12 +0530 evolve: move logic to complete interrupted orphan resolution to new fn
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Mar 2018 12:58:12 +0530] rev 3629
evolve: move logic to complete interrupted orphan resolution to new fn This patch moves logic which completes an interrupted orphan resolution to it's own new function. We will defining such functions for completing phase-divergence and content-divergence too.
Fri, 23 Mar 2018 19:36:08 +0530 evolve: write data to evolvestate in case on conflicts in phase-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 19:36:08 +0530] rev 3628
evolve: write data to evolvestate in case on conflicts in phase-divergence This patch makes phase-divergence resolution write data to evolvestate instead of graftstate. The `evolve --continue` handling of phase-divergence is broken which will be done in upcoming patches.
Fri, 23 Mar 2018 19:16:25 +0530 evolve: explicitly turn revs to list before storing into evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 19:16:25 +0530] rev 3627
evolve: explicitly turn revs to list before storing into evolvestate The cbor library which we are using cannot handle encoding and decoding Python sets, and revs was set there. Let's convert revs explicitly to list to make sure we don't try writing sets.
Fri, 23 Mar 2018 18:58:19 +0530 tests: add tests of content+parent change creating phase-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 18:58:19 +0530] rev 3626
tests: add tests of content+parent change creating phase-divergence This patch adds tests which shows handling of phase divergence cases by `hg evolve` command which involved content+parent change. The conflicts case is not handled and will be fixed in upcoming patches.
Fri, 23 Mar 2018 18:28:37 +0530 tests: show first line of commit message in test-evolve-phase-divergence.t
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 18:28:37 +0530] rev 3625
tests: show first line of commit message in test-evolve-phase-divergence.t This patch adds 'firstline' filter to description in the log template.
Fri, 23 Mar 2018 17:49:26 +0530 evolve: make sure bookmarks are moved after phase-divergence resolution
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 17:49:26 +0530] rev 3624
evolve: make sure bookmarks are moved after phase-divergence resolution This patch adds logic to move bookmarks from the rebased node to the phase-divergence resolved node.
Fri, 23 Mar 2018 17:46:46 +0530 evolve: use the new rebased changeset to resolve phase-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 17:46:46 +0530] rev 3623
evolve: use the new rebased changeset to resolve phase-divergence When there is a parent change in phase-divergence, `hg evolve` first rebases the diveregent changeset on parent of public changeset and then continue the resolution of phase-divergence *but* we used to continue with the old divergent changeset rather than the new rebased one. This patch makes sure we use the new rebased changeset to proceed with the resolution. Tests changes shows that it fixes things which were broken earlier.
Fri, 23 Mar 2018 17:21:09 +0530 evolvecmd: add a detailed comment and some newlines
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 17:21:09 +0530] rev 3622
evolvecmd: add a detailed comment and some newlines This patch adds a detailed comment on a chunk and some newlines to make things look better and more understandable for upcoming patches.
Fri, 23 Mar 2018 17:20:20 +0530 tests: add one more test case about handling of phase-divergence by evolve
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 17:20:20 +0530] rev 3621
tests: add one more test case about handling of phase-divergence by evolve This patch adds a test case when phasedivergence is caused by rebase command and there is parent change involved. As the tests show, we are not handling things correctly here. Upcoming patches will fix that. Fixing things in later patches showed there was a wrong case in one another test which will be fixed by later patches, so let's add description on why that test is wrong in this patch.
Fri, 23 Mar 2018 15:27:26 +0530 tests: add more tests for handling of phase divergence by `hg evolve`
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 15:27:26 +0530] rev 3620
tests: add more tests for handling of phase divergence by `hg evolve` This patch adds more tests related to handling of phase-divergence by `hg evolve` command.
Fri, 23 Mar 2018 13:16:42 +0530 tests: temporary delete the merge test of handling phase divergence
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 13:16:42 +0530] rev 3619
tests: temporary delete the merge test of handling phase divergence This patch temporary deletes the merge test of handling phase divergence by `hg evolve` command to that other important tests can be plugged in before this. This will make adding more tests easy. As I say, this is temporary to ease out adding more tests, the test will be added back.
Fri, 30 Mar 2018 19:38:55 +0200 tests: various comment on test-evolve-phase-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 30 Mar 2018 19:38:55 +0200] rev 3618
tests: various comment on test-evolve-phase-divergence
Fri, 30 Mar 2018 19:37:06 +0200 tests: make test-evolve-phase-divergence more descriptive
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 30 Mar 2018 19:37:06 +0200] rev 3617
tests: make test-evolve-phase-divergence more descriptive This patch adds description to what each part is doing in test-evolve-phase-divergence.t and some commands which should be used to analyze the divergence before resolving that.
Fri, 30 Mar 2018 20:26:54 +0200 compat: use updateresult API if available
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 30 Mar 2018 20:26:54 +0200] rev 3616
compat: use updateresult API if available The status return is no longer a tuple, we access attribute instead.
Fri, 30 Mar 2018 20:13:06 +0200 compat: provide an explicit default value to the 'odiff' config
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 30 Mar 2018 20:13:06 +0200] rev 3615
compat: provide an explicit default value to the 'odiff' config There is a devel warning about this now.
Thu, 29 Mar 2018 19:47:48 +0200 compat: keep passing arguments as keyword argument
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 29 Mar 2018 19:47:48 +0200] rev 3614
compat: keep passing arguments as keyword argument Otherwise, This break with new changes in upstream Mercurial.
Thu, 29 Mar 2018 18:34:32 +0200 compat: search for stringmatcher in the new location
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 29 Mar 2018 18:34:32 +0200] rev 3613
compat: search for stringmatcher in the new location More of util has been split into sub modules.
Thu, 29 Mar 2018 14:13:13 +0200 rebase: update the rebase wrapping to works with hg 4.6
Boris Feld <boris.feld@octobus.net> [Thu, 29 Mar 2018 14:13:13 +0200] rev 3612
rebase: update the rebase wrapping to works with hg 4.6 Mercurial core commit bd0086bd3af4 removed _makeextrafn hence breaking our wrapping. Update the code to wrap rebaseruntime directly in a way that's compatible with hg 4.1+.
Fri, 23 Mar 2018 09:08:21 -0700 compat: call current obsolete.createmarkers(), not one from load time stable
Martin von Zweigbergk <martinvonz@google.com> [Fri, 23 Mar 2018 09:08:21 -0700] rev 3611
compat: call current obsolete.createmarkers(), not one from load time Other extensions may wrap obsolete.createmarkers(). If they do, we should call their wrapped version. However, since f61a23a84dac (compat: add wrapper for obsolete.createmarkers() that accepts "operation" arg, 2018-03-16), we started storing the version of the function as it was when our compat module was loaded. This broke an extension we use internally at Google.
Fri, 23 Mar 2018 12:44:06 +0530 tests: rename test-evolve-bumped to test-evolve-phase-divergence.t
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 12:44:06 +0530] rev 3610
tests: rename test-evolve-bumped to test-evolve-phase-divergence.t While I was here, I added a heading to test mentioning what the test if for.
Fri, 23 Mar 2018 12:39:00 +0530 evolve: replace bumped in function name to phasedivergence
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 12:39:00 +0530] rev 3609
evolve: replace bumped in function name to phasedivergence bumped was the old name of phasedivergence. Lets replace with its new name so that we can forget the old one.
Fri, 23 Mar 2018 12:35:37 +0530 evolve: drop duplicate import of rewriteutil._bookmarksupdater
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 12:35:37 +0530] rev 3608
evolve: drop duplicate import of rewriteutil._bookmarksupdater
Thu, 22 Mar 2018 10:39:18 +0100 obslog: more 4.1 code compatibility drop
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 10:39:18 +0100] rev 3607
obslog: more 4.1 code compatibility drop
Thu, 22 Mar 2018 10:38:01 +0100 template: drop some 4.1 compatibility code
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 10:38:01 +0100] rev 3606
template: drop some 4.1 compatibility code Simplify all the things.
Thu, 22 Mar 2018 10:35:27 +0100 checkheads: drop upstreamed code
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 10:35:27 +0100] rev 3605
checkheads: drop upstreamed code Mercurial 4.2 has all the code that used to live in the evolve extensions so we can drop it now.
Thu, 22 Mar 2018 10:34:44 +0100 obslog: cleanup patch handling after 4.1 compat drop
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 10:34:44 +0100] rev 3604
obslog: cleanup patch handling after 4.1 compat drop We can remove some of your compatibility code.
Thu, 22 Mar 2018 10:25:01 +0100 packaging: further mark 4.1 support as dropped
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 10:25:01 +0100] rev 3603
packaging: further mark 4.1 support as dropped
Thu, 22 Mar 2018 10:05:50 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 10:05:50 +0100] rev 3602
branching: merge with stable
Thu, 22 Mar 2018 09:53:42 +0100 tests: extend the globing to the user name stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 09:53:42 +0100] rev 3601
tests: extend the globing to the user name Silly me.
Thu, 22 Mar 2018 01:20:03 +0100 branching: close mercurial-4.1 test branch mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 01:20:03 +0100] rev 3600
branching: close mercurial-4.1 test branch
Thu, 15 Mar 2018 00:09:24 +0530 evolve: kill `--obsolete` and `--old-obsolete` flags for graft
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 15 Mar 2018 00:09:24 +0530] rev 3599
evolve: kill `--obsolete` and `--old-obsolete` flags for graft Evolve extension used to add the couple of flags to `hg graft` command for reasons I don't know but they were deprecated. For the functionality of `hg graft --old-obsolete`, we have `hg grab` now which can do that. One more reason to kill this is that we have logic to parse the graftstate, whereas in core, we are going to change how state files are read and write. Tweaked the tests a bit to use `hg grab` instead of these flags to make rest of the test output consistent. Replaced an entry of `hg graft -O` in doc by `hg grab`.
Thu, 22 Mar 2018 00:56:48 +0100 compat: drop support for Mercurial 4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 00:56:48 +0100] rev 3598
compat: drop support for Mercurial 4.1 This version is over 1 year old and we are dropping support for it.
Thu, 22 Mar 2018 00:50:11 +0100 packaging: mark versiond as devel versions
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 00:50:11 +0100] rev 3597
packaging: mark versiond as devel versions This will help prevent confusion when installing a non-tagged version.
Thu, 22 Mar 2018 00:49:04 +0100 packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 00:49:04 +0100] rev 3596
packaging: merge stable back into default Version have been released.
Thu, 22 Mar 2018 00:47:09 +0100 packaging: mark version as devel version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 00:47:09 +0100] rev 3595
packaging: mark version as devel version This will help prevent confusion when installing non-tagged version.
Thu, 22 Mar 2018 00:45:47 +0100 Added tag 7.3.0 for changeset e4ac2e2c2086 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 00:45:47 +0100] rev 3594
Added tag 7.3.0 for changeset e4ac2e2c2086
Wed, 21 Mar 2018 16:35:18 +0100 test-compat: merge mercurial-4.2 into mercurial-4.1 mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 16:35:18 +0100] rev 3593
test-compat: merge mercurial-4.2 into mercurial-4.1
Wed, 21 Mar 2018 16:32:54 +0100 test-compat: merge mercurial-4.3 into mercurial-4.2 mercurial-4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 16:32:54 +0100] rev 3592
test-compat: merge mercurial-4.3 into mercurial-4.2
Wed, 21 Mar 2018 16:18:31 +0100 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 16:18:31 +0100] rev 3591
test-compat: merge mercurial-4.4 into mercurial-4.3
Wed, 21 Mar 2018 16:06:17 +0100 test-compat: merge stable into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 16:06:17 +0100] rev 3590
test-compat: merge stable into mercurial-4.4
Wed, 21 Mar 2018 16:03:46 +0100 branching: merge future 7.3.0 into stable stable 7.3.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 16:03:46 +0100] rev 3589
branching: merge future 7.3.0 into stable Release belong to stable
Wed, 21 Mar 2018 15:57:53 +0100 tests: update test output for the stable branch stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:57:53 +0100] rev 3588
tests: update test output for the stable branch
Wed, 21 Mar 2018 15:34:29 +0100 debian: add version 7.3.0 to changelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:34:29 +0100] rev 3587
debian: add version 7.3.0 to changelog
Wed, 21 Mar 2018 15:32:59 +0100 packaging: update version numbers
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:32:59 +0100] rev 3586
packaging: update version numbers
Wed, 21 Mar 2018 15:30:06 +0100 changelog: prepare release 7.3.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:30:06 +0100] rev 3585
changelog: prepare release 7.3.0
Wed, 21 Mar 2018 15:36:10 +0100 tests: updated tested with version
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:36:10 +0100] rev 3584
tests: updated tested with version
Wed, 21 Mar 2018 17:03:55 +0530 __init__: show some internationalization love
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Mar 2018 17:03:55 +0530] rev 3583
__init__: show some internationalization love
Wed, 21 Mar 2018 17:04:41 +0530 evolvecmd: show some internationalization love
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Mar 2018 17:04:41 +0530] rev 3582
evolvecmd: show some internationalization love Some outputs are not internationalized because I doubt that they are gonna stay here for long.
Wed, 21 Mar 2018 16:52:46 +0530 utility: make sure prompt text is internationalized
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Mar 2018 16:52:46 +0530] rev 3581
utility: make sure prompt text is internationalized This patch internationlize the prompt text by passing the into mercurial.i18n._
Wed, 21 Mar 2018 17:59:15 +0100 test: do not use revision number
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 17:59:15 +0100] rev 3580
test: do not use revision number This get confused with older version.
Wed, 21 Mar 2018 19:30:51 +0100 compat: use mergetoolopts from commands.py
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 19:30:51 +0100] rev 3579
compat: use mergetoolopts from commands.py Mercurial <= 4.2 do not have cmdutils.py yet.
Wed, 21 Mar 2018 15:24:51 +0100 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:24:51 +0100] rev 3578
branching: merge stable into default Some bugfix that we could use here (also getting ready for a release).
Tue, 20 Mar 2018 18:41:31 +0530 evolve: add a `--stop` flag for `hg evolve` command
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 20 Mar 2018 18:41:31 +0530] rev 3577
evolve: add a `--stop` flag for `hg evolve` command This patch adds a `--stop` flag for `hg evolve` command. The stop flag lets you stop the evolution from where you are and let you move to other things if you want. This fuctionality is great as user can decide to resolve conflicts later on, stop the command execution, do something else and get back once they has time or care about resolving them. As implementation details, it clears the evolvestate, updates to the parent of working directory clearing the uncommitted changes which also deletes the mergestate. A new test file test-evolve-stop.t is added with tests of the new flag added.
Mon, 19 Mar 2018 15:20:40 -0700 obsexchange: make compatible with some unreleased 4.5 versions
Martin von Zweigbergk <martinvonz@google.com> [Mon, 19 Mar 2018 15:20:40 -0700] rev 3576
obsexchange: make compatible with some unreleased 4.5 versions We don't generally care to be compatible with unreleased versions of hg, but this is just a one-line change to be compatible with a range of commits before 158d4ecc03c8 (wireprotoserver: move all wire protocol handling logic out of hgweb, 2018-03-08), so hopefull it can be worth it.
Mon, 19 Mar 2018 15:46:17 -0700 compat: make override of createmarkers work on wrapped function
Martin von Zweigbergk <martinvonz@google.com> [Mon, 19 Mar 2018 15:46:17 -0700] rev 3575
compat: make override of createmarkers work on wrapped function If createmarkers() has been wrapped using functools.partial(), the __code__ attribute won't exist. Fix by unwrapping partial functions. I tried to find another attribute to use as proxy for the "__code__.co_argcount < 6", but there were no new functions or similar added in that commit.
Mon, 19 Mar 2018 11:18:47 -0700 previous/next: add -m short form for --merge
Martin von Zweigbergk <martinvonz@google.com> [Mon, 19 Mar 2018 11:18:47 -0700] rev 3574
previous/next: add -m short form for --merge This matches core's option to `hg update`. This patch also covers `hg next`, but test-check-commit.t only lets me mention one of them.
Sun, 18 Mar 2018 17:29:32 +0530 evolve: handle stabilization of merge changeset with both parents obsoleted
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Mar 2018 17:29:32 +0530] rev 3573
evolve: handle stabilization of merge changeset with both parents obsoleted This patch adds logic to stabilize an orphan merge changeset having both parents obsoleted. The logic tries to first stabilize the merge changeset on successor of second parent and then stabilize the new changeset formed on the successor of first parent. We are stabilizing on second parent first and then to second parent to preserve the first parent's successor as first parent of the merge changeset. Conflicts can occcur and we can loose processing information, therefore we store a variable in statefile `orphanmerge` which represents whether we are processing a merge changeset with both parents obsoleted. Thanks to Pierre-Yves David for suggesting this way and helping to understand the correctness of this. More rigourous test cases for this will be added in next patch.
Mon, 19 Mar 2018 13:11:55 +0530 state: add __setitem__() for cmdstate class
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Mar 2018 13:11:55 +0530] rev 3572
state: add __setitem__() for cmdstate class Adding __setitem__() will help us in setting the value of variables stored in state files using `state[key] = value` in our code which is very convenient.
Mon, 19 Mar 2018 12:58:31 +0530 evolve: preserve the order of merge parents in `hg evolve --continue`
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Mar 2018 12:58:31 +0530] rev 3571
evolve: preserve the order of merge parents in `hg evolve --continue` This patch makes sure we preserves the order of merge parents in case of `hg evolve --continue`.
Mon, 12 Mar 2018 15:41:51 -0700 topics: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:41:51 -0700] rev 3570
topics: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:51:43 -0700 grab: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:51:43 -0700] rev 3569
grab: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:51:34 -0700 touch: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:51:34 -0700] rev 3568
touch: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:51:26 -0700 split: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:51:26 -0700] rev 3567
split: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:51:17 -0700 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:51:17 -0700] rev 3566
prune: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:51:07 -0700 metaedit: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:51:07 -0700] rev 3565
metaedit: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:50:59 -0700 fold: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:50:59 -0700] rev 3564
fold: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:50:45 -0700 uncommit: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:50:45 -0700] rev 3563
uncommit: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:40:28 -0700 evolve: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:40:28 -0700] rev 3562
evolve: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:50:25 -0700 amend: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:50:25 -0700] rev 3561
amend: include "operation" metadata in obsmarkers This is for the legacy handling support for "hg commit --amend" case. I picked "amend" because it feels more natural than "commit". Besides, and more importantly, that's consistent what core uses.
Fri, 16 Mar 2018 10:22:27 -0700 compat: add wrapper for obsolete.createmarkers() that accepts "operation" arg
Martin von Zweigbergk <martinvonz@google.com> [Fri, 16 Mar 2018 10:22:27 -0700] rev 3560
compat: add wrapper for obsolete.createmarkers() that accepts "operation" arg I want to start passing the operation argument, but hg < 4.3 does not support it, so we need a compat wrapper. For older hg, the operation is simply ignored.
Mon, 12 Mar 2018 23:26:25 -0700 tests: do not glob out fixed dates
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 23:26:25 -0700] rev 3559
tests: do not glob out fixed dates Perhaps these dates historically have not been fixed, but they seem to be now. I got tired of not being able to use "run-tests.py -i".
Fri, 16 Mar 2018 17:00:01 +0530 evolve: de-duplicate some function calls
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 17:00:01 +0530] rev 3558
evolve: de-duplicate some function calls _cleanup() was called in continueevolve() and evolve() function too. Let's call it at a single place for both the cases. Also call progresscb() outside of conditionals to call it both times.
Fri, 16 Mar 2018 16:11:22 +0530 evolve: move deletion of evolvestate out of continueevolve() function
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 16:11:22 +0530] rev 3557
evolve: move deletion of evolvestate out of continueevolve() function We need to extract some data at evolve() function from evolvestate.
Fri, 16 Mar 2018 16:04:28 +0530 evolve: load evolvestate before passing to continueevolve()
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 16:04:28 +0530] rev 3556
evolve: load evolvestate before passing to continueevolve() This patch moves some code from continueevolve() to evolve() function so that we have a loaded evolvestate present in the evolve() function for post processing.
Fri, 16 Mar 2018 15:56:05 +0530 evolve: move the handling for non-continue part in else conditional
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 15:56:05 +0530] rev 3555
evolve: move the handling for non-continue part in else conditional This will help us do factor out which operations we want to do for continue, which for non-continue and which operations we want to do for both of them.
Wed, 14 Mar 2018 21:21:10 +0530 evolve: move the logic of continuation handling of `hg evolve` in own fn
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 14 Mar 2018 21:21:10 +0530] rev 3554
evolve: move the logic of continuation handling of `hg evolve` in own fn The function which defines the evolve command is pretty big with all the logic messed up there. It's better to have individual functions for individual uses. The movement of code will help in adding more logic to continue part in clean way. Moreover for implementing `hg continue`, we need all continuation handling in their own functions, so it will help there too.
Fri, 16 Mar 2018 15:24:56 +0530 CHANGELOG: add an entry about next and prev being interactive
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 15:24:56 +0530] rev 3553
CHANGELOG: add an entry about next and prev being interactive
Fri, 16 Mar 2018 13:24:57 +0530 prev: show changeset hash in --dry-run instead of rev numbers
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 13:24:57 +0530] rev 3552
prev: show changeset hash in --dry-run instead of rev numbers rev numbers can change, so it's better to show changeset hash.
Fri, 16 Mar 2018 13:13:21 +0530 prev: prompt user to choose parent in case of multiple parents
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 13:13:21 +0530] rev 3551
prev: prompt user to choose parent in case of multiple parents This patch adds functionality to `hg prev` to prompt user to choose one parent to update when multiple parents exist. Surprisingly there were no tests for this case before this patch, I added one with this patch.
Fri, 16 Mar 2018 12:48:03 +0530 next: cleanup logic around return by returning early
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 12:48:03 +0530] rev 3550
next: cleanup logic around return by returning early In the cmdnext function, there are some conditionals which returns early and some which sets a result value to be returned later. Let's return from all the conditionals early. There are if, elif and else involved, so it's sure we will end up in one of the conditional, each conditional will return, so it's guranteed that we are returning the correct value and returning everytime.
Fri, 16 Mar 2018 12:14:39 +0530 next: prompt user to choose child in ambiguity in `hg next --evolve`
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 12:14:39 +0530] rev 3549
next: prompt user to choose child in ambiguity in `hg next --evolve` This patch makes `hg next --evolve` prompt user to choose a child to evolve and update when multiple of them exists. This is improvement over previous behavior where we used to error out saying ambiguous next unstable changeset and told user to manually use `hg evolve -r rev`. While writing this patch, I am personally very happy to have this feature as I have encountered this stage many times and I wanted `next --evolve` to take care of that. It uses the revselectionprompt thing added in earlier patches.
Fri, 16 Mar 2018 11:56:50 +0530 next: move logic to evolve the children to it's own function
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 11:56:50 +0530] rev 3548
next: move logic to evolve the children to it's own function This patch moves the logic which evolves the children and updates to it in `hg next --evolve` to it's own function as we want to use that again.
Fri, 16 Mar 2018 11:46:47 +0530 next: prompt user to choose a children in case of ambiguity
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 11:46:47 +0530] rev 3547
next: prompt user to choose a children in case of ambiguity This patch adds functionality to prompt user and ask the children to which next should move to incase of multiple childrens. This is a very nice UI because otherwise user has to lookup changeset hash, and then manually do `hg update` to that. In this case we show hash and description so user can choose which one to update easily. It is using the interactive revision choosing functionality added in a previous patch.
Fri, 16 Mar 2018 11:31:13 +0530 next: show changeset hash in `--dry-run` instead of rev numbers
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 11:31:13 +0530] rev 3546
next: show changeset hash in `--dry-run` instead of rev numbers Rev numbers can change, hence we should show rev hash instead of rev numbers in dry-run.
Sun, 18 Mar 2018 01:27:02 +0530 evolve: make sure we consider all cases in if-else
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Mar 2018 01:27:02 +0530] rev 3545
evolve: make sure we consider all cases in if-else The part of code which is touched decides on evolution of merge changeset. We need proper handling of each case there, so before adding logic, let's add conditional for each case so that upcoming patches are easy to understand.
Mon, 19 Mar 2018 14:03:41 +0100 tests: add more cases about stabilization of an orphaned merge commit
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Mar 2018 14:03:41 +0100] rev 3544
tests: add more cases about stabilization of an orphaned merge commit This patch adds three more cases related to stabilization of orphaned merge commits.
Mon, 19 Mar 2018 13:47:07 +0100 evolve: fix missing negation
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Mar 2018 13:47:07 +0100] rev 3543
evolve: fix missing negation Spotted by Pulkit Goyal.
Mon, 19 Mar 2018 12:01:07 +0100 evolve: clarify message for ambiguous destination from split
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Mar 2018 12:01:07 +0100] rev 3542
evolve: clarify message for ambiguous destination from split Message is a bit long, but should be less scary.
Wed, 14 Mar 2018 18:24:22 +0530 evolve: prompt user to select destination for stabilization in case of split
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 14 Mar 2018 18:24:22 +0530] rev 3541
evolve: prompt user to select destination for stabilization in case of split This patch adds functionality to prompt user to select a revision when there exists multiple stabilization destination because of split on multiple branches. Test are also added for the feature. I am not sure whether this is the best message which we can show, if people have suggestions I will like to improve the messages shown in prompt.
Wed, 14 Mar 2018 18:36:35 +0530 tests: remove some tests which are moved to dedicated files
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 14 Mar 2018 18:36:35 +0530] rev 3540
tests: remove some tests which are moved to dedicated files The tests in test-unstable.t files are now moved to their dedicated file with all the cases to that in that file. Let's delete them from here.
Fri, 16 Mar 2018 11:24:35 +0530 next: factor out the logic to update to changeset in another function
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 11:24:35 +0530] rev 3539
next: factor out the logic to update to changeset in another function This patch moves the logic to update to children changeset during `hg next` in a separate function because we want to re-use the logic when we will prompt user to choose a changeset in case of multiple childrens.
Wed, 14 Mar 2018 17:59:53 +0530 utility: add a function to prompt user to choose a revision
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 14 Mar 2018 17:59:53 +0530] rev 3538
utility: add a function to prompt user to choose a revision This patch adds a utility function to interactively prompt user to choose a revision to proceed in cases when there are multiple revisions which are candidates. The function will be used in `hg evolve`, `hg next`, `hg prev` etc. If user feedback will be good, I plan to move it to core and use it at more possible places.
Wed, 14 Mar 2018 17:20:20 +0530 tests: add a test about evolve stabilizing orphan caused by splits
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 14 Mar 2018 17:20:20 +0530] rev 3537
tests: add a test about evolve stabilizing orphan caused by splits There are some similar tests lying around in the test suite but they are not well arranged. I wanted the test suite to be a goto reference for all the behaviors till the time we get all of them documented.
Mon, 19 Mar 2018 11:36:55 +0100 test: fix output after rev-branch-cache has been merged
Boris Feld <boris.feld@octobus.net> [Mon, 19 Mar 2018 11:36:55 +0100] rev 3536
test: fix output after rev-branch-cache has been merged Mercurial core 2090044a288d added a new revbranchcache part which changed some exchange-related outputs. Glob them to ease merging with old Mercurial versions branches.
Fri, 16 Mar 2018 09:13:33 -0700 cleanup: remove duplicate import of "obsolete"
Martin von Zweigbergk <martinvonz@google.com> [Fri, 16 Mar 2018 09:13:33 -0700] rev 3535
cleanup: remove duplicate import of "obsolete"
Fri, 16 Mar 2018 15:21:05 +0530 previous: fix behavior on obsolete cset when topic is involved (issue5708) stable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 15:21:05 +0530] rev 3534
previous: fix behavior on obsolete cset when topic is involved (issue5708) This patch fixes the behavior of `hg previous` when done on an obsolete changeset having a successor of different topic. The underlying code is bit messed up, I wanted to split the topic handling to topic extension but I have postponed it to next bug.
Fri, 16 Mar 2018 15:15:17 +0530 previous: add test case when it's broken on obsolete cset stable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 15:15:17 +0530] rev 3533
previous: add test case when it's broken on obsolete cset This patch adds couple of tests showing `hg previous` is broken on obsolete changeset when the successor has different topic. Upcoming patch will fix this.
Fri, 16 Mar 2018 15:01:44 +0530 prev: fix the breakage of `hg previous` from obsolete cset stable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 15:01:44 +0530] rev 3532
prev: fix the breakage of `hg previous` from obsolete cset This patch fix the breakage of `hg prev` from obsolete changeset when topic is involved. We get the topicidx of it's succesor and proceed.
Fri, 16 Mar 2018 14:59:10 +0530 prev: add a test case which shows traceback when doing prev on obsolete cset stable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 14:59:10 +0530] rev 3531
prev: add a test case which shows traceback when doing prev on obsolete cset This patch adds a test which shows how `hg prev` is borken when called from a obsolete changeset and there is an active topic. The next patch will fix that.
Tue, 13 Mar 2018 19:06:14 +0530 tests: add more tests related to stabilization of orphaned merge commit
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 13 Mar 2018 19:06:14 +0530] rev 3530
tests: add more tests related to stabilization of orphaned merge commit This patch more tests related to stabilization of orphaned merge commit. Stabilization of a merge changeset with both the parents is not supported right now and prints a message on how to do that. Maybe we should do that internally as a part of `hg evolve` but I need to think about this.
Tue, 13 Mar 2018 18:17:50 +0530 evolve: fix stabilization of orphan merge changesets in case of conflicts
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 13 Mar 2018 18:17:50 +0530] rev 3529
evolve: fix stabilization of orphan merge changesets in case of conflicts As demonstrated by tests added in previous patch, if one of the parent of a merge changeset has a new version and merge changeset gets, running `hg evolve` to stabilize that if results in conflicts will lead to lose of other parent of that merge changeset when we resolve conflicts and do `hg evolve --continue`. This patch fixes the behavior, by checking whether we are continuing evolving a merge changeset and if yes, setting the dirstate parents according to that.
Tue, 13 Mar 2018 15:29:35 +0530 tests: add a test file of resolving orphaness of merge changesets
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 13 Mar 2018 15:29:35 +0530] rev 3528
tests: add a test file of resolving orphaness of merge changesets This patch adds a new test file named test-evolve-orphan-merge.t which contains test cases when `hg evolve` try to stabilize a merge changeset which was orphan. This file contains 20-30% of all the cases as we have got something to fix before we add tests for rest of the cases. Going by this approach will make sure we don't live unfixed cases in the test file and the test files does not become a pile of hacks which are used to get in state when we fix the bugs.
Tue, 13 Mar 2018 20:44:51 +0530 grab: gracefully handle the case when we try to grab parent of wdir
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 13 Mar 2018 20:44:51 +0530] rev 3527
grab: gracefully handle the case when we try to grab parent of wdir Before this patch, we go all the way down to obsmarker creation logic and gets an error saying that changeset cannot obsolete itself. We should be more smart here and error out early saying we cannot grab that changeset.
Sat, 03 Mar 2018 23:31:46 +0530 grab: move the initialization of pctx variable outside of if-else
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 03 Mar 2018 23:31:46 +0530] rev 3526
grab: move the initialization of pctx variable outside of if-else The pctx variable is used outside of the if-else but it was initialized under the conditional statements. Added test for the case when the initialization inside the if-else broke `hg grab --continue`.
Wed, 14 Mar 2018 02:32:08 +0100 compat: drop hack around http request handling for 4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Mar 2018 02:32:08 +0100] rev 3525
compat: drop hack around http request handling for 4.6 The approach we used in 4.5 works again :-)
Wed, 14 Mar 2018 02:08:53 +0100 obsdiscovery: add compatibility layer to register wireproto command
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Mar 2018 02:08:53 +0100] rev 3524
obsdiscovery: add compatibility layer to register wireproto command Mercurial core 0b18604db95e changed the way permissions are registered.
Wed, 14 Mar 2018 02:21:07 +0100 compat: pass all hgweb dispatch argument to the orig function
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Mar 2018 02:21:07 +0100] rev 3523
compat: pass all hgweb dispatch argument to the orig function This make use compatible with whatever changes on this side.
Wed, 07 Mar 2018 00:00:02 -0500 grab: add short version for continue and abort
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Mar 2018 00:00:02 -0500] rev 3522
grab: add short version for continue and abort
Fri, 23 Feb 2018 20:27:17 +0800 obsdiscovery: include units in ui.progress() calls (issue5773)
Anton Shestakov <av6@dwimlabs.net> [Fri, 23 Feb 2018 20:27:17 +0800] rev 3521
obsdiscovery: include units in ui.progress() calls (issue5773)
Sun, 04 Mar 2018 20:19:19 -0500 tests: commit tests changes missing in the previous changeset
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 04 Mar 2018 20:19:19 -0500] rev 3520
tests: commit tests changes missing in the previous changeset (guess who forgot to amend)...
Sun, 04 Mar 2018 11:34:49 -0500 obslog: add the operation to the Obslog output
Boris Feld <boris.feld@octobus.net> [Sun, 04 Mar 2018 11:34:49 -0500] rev 3519
obslog: add the operation to the Obslog output The operation is helpful when debugging a case where we don't know how we ended up in this case while effect-flag are useful to understand what semantic changes happens to a changeset. Add the operation when displaying an obs-marker in the following form: `rewritten as X using amend` The other proposal is interesting but seems harder to internationalize and might requires update each time we introduce new operation: `Amended as X` Let's use the first proposal right now.
Tue, 19 Dec 2017 13:15:00 -0600 serverminitopic: attempt to fix assertion for repoview in branchmap
Sean Farley <sean@farley.io> [Tue, 19 Dec 2017 13:15:00 -0600] rev 3518
serverminitopic: attempt to fix assertion for repoview in branchmap This seems fine since we topic never impact public only caches.
Sun, 04 Mar 2018 17:41:45 -0500 compat: register a version of 'obsfatedata' template that works with 4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 04 Mar 2018 17:41:45 -0500] rev 3517
compat: register a version of 'obsfatedata' template that works with 4.6 Since showlist is deprecated, let us use compatlist.
Sun, 04 Mar 2018 17:09:41 -0500 compat: register a version of 'troubles' template that works with 4.6 API
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 04 Mar 2018 17:09:41 -0500] rev 3516
compat: register a version of 'troubles' template that works with 4.6 API Since showlist is deprecated, let us use compatlist.
Sun, 04 Mar 2018 17:07:53 -0500 exthelper: add support for "requires" argument for template keyword
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 04 Mar 2018 17:07:53 -0500] rev 3515
exthelper: add support for "requires" argument for template keyword This will help use to support the new template API.
Sat, 03 Mar 2018 23:17:26 -0500 compat: add compat layer for date related functions
Boris Feld <boris.feld@octobus.net> [Sat, 03 Mar 2018 23:17:26 -0500] rev 3514
compat: add compat layer for date related functions
Sat, 03 Mar 2018 22:25:24 -0500 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 03 Mar 2018 22:25:24 -0500] rev 3513
branching: merge with stable
Sat, 03 Mar 2018 22:12:35 -0500 compat: more straight forward alias for old template names
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 03 Mar 2018 22:12:35 -0500] rev 3512
compat: more straight forward alias for old template names The template registration have significantly changed in core:7b74afec6772. We take simpler approach to define the alias in a way that works for all versions.
Tue, 05 Dec 2017 20:45:46 -0800 serverminitopic: fix wrong object being passed to phase stable
Sean Farley <sean@farley.io> [Tue, 05 Dec 2017 20:45:46 -0800] rev 3511
serverminitopic: fix wrong object being passed to phase
Fri, 02 Mar 2018 19:33:20 -0500 legacy: respect explicit config for server.bundle1 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 02 Mar 2018 19:33:20 -0500] rev 3510
legacy: respect explicit config for server.bundle1 Unconditionally disabling bundle1 is a problem for larger hosting website. We adopt a less aggressive approach and only disable it the default would be used.
Fri, 02 Mar 2018 16:31:08 -0500 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 02 Mar 2018 16:31:08 -0500] rev 3509
branching: merge with stable
Fri, 02 Mar 2018 16:30:48 -0500 compat: only wrap wireprotoserver function if they exist
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 02 Mar 2018 16:30:48 -0500] rev 3508
compat: only wrap wireprotoserver function if they exist Older version does not need the wrapping so everything should be fine.
Fri, 02 Mar 2018 16:07:33 -0500 pure: make sure what we expect to be list are list stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 02 Mar 2018 16:07:33 -0500] rev 3507
pure: make sure what we expect to be list are list In the pure version, some of these object would be generator.
Mon, 26 Feb 2018 13:59:30 +0100 evolve: update code for not implicitly converting ctx to revision
Boris Feld <boris.feld@octobus.net> [Mon, 26 Feb 2018 13:59:30 +0100] rev 3506
evolve: update code for not implicitly converting ctx to revision Mercurial core 38f480502043 removed the capacity to implicitly convert contexts to revisions using `int(ctx)`. Update Evolve code to explicitly call rev instead.
Fri, 23 Feb 2018 11:02:59 +0100 legacy-push: fix the code forbidding legacy obsmarkers pulling
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 23 Feb 2018 11:02:59 +0100] rev 3505
legacy-push: fix the code forbidding legacy obsmarkers pulling changeset e69e65b2b4a9 in code remove a key try/except. We reintroduce it for compatibility.
Wed, 21 Feb 2018 17:45:50 +0100 updatecaches: handle any new parameters to the method
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Feb 2018 17:45:50 +0100] rev 3504
updatecaches: handle any new parameters to the method
Wed, 07 Feb 2018 13:42:30 +0530 evolvecmd: fix broken `evolve --continue` ran after `next --evolve`
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 07 Feb 2018 13:42:30 +0530] rev 3503
evolvecmd: fix broken `evolve --continue` ran after `next --evolve` Recent series broke `evolve --continue`in cases when run after `hg next --evolve`. The previous patch adds test demonstarting the broken behaviour, this patch fixes that by storing the command which leads us to evolve --continue in the evolvestate.
Wed, 07 Feb 2018 22:41:30 +0530 tests: add test showing `evolve --continue` after `next --evolve` is broken
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 07 Feb 2018 22:41:30 +0530] rev 3502
tests: add test showing `evolve --continue` after `next --evolve` is broken Recent series fixing `hg evolve --continue` break the continue functionality after a conflicting `hg next --evolve`. This patch adds a test to demonstrate that. It will be fixed in the upcoming patch.
Wed, 17 May 2017 09:39:15 +0200 color: add some colors to evolve command itself
Boris Feld <boris.feld@octobus.net> [Wed, 17 May 2017 09:39:15 +0200] rev 3501
color: add some colors to evolve command itself
Wed, 14 Feb 2018 14:53:43 +0100 wireproto: fix *_capabilities for change of API types
Boris Feld <boris.feld@octobus.net> [Wed, 14 Feb 2018 14:53:43 +0100] rev 3500
wireproto: fix *_capabilities for change of API types Mercurial commit 2f7290555c96 introduced new types for *_capabilities, update the code to use them.
Wed, 14 Feb 2018 09:46:56 +0100 obsfate: fix changeset description diff computing
Boris Feld <boris.feld@octobus.net> [Wed, 14 Feb 2018 09:46:56 +0100] rev 3499
obsfate: fix changeset description diff computing Mercurial core 8b6dd3922f70 changed the mdiff.unidiff API. Add a new compat method for all supported Mercurial versions.
Tue, 30 Jan 2018 15:11:35 +0530 evolve: add comptability to read old evolvestate files
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 30 Jan 2018 15:11:35 +0530] rev 3498
evolve: add comptability to read old evolvestate files When a user runs `hg evolve` with old evolve where we used to write evolvestate the old ways i.e. without using cbor, and faces conflicts, the evolve is interrupted. If the user updates evolve before completing the evolve, that can result in traceback as the new evolve cannot read the old evolvestate file. The previous patch added function to read old evolvestate file and this patch uses that when we encounter the above mentioned case.
Tue, 30 Jan 2018 15:02:40 +0530 state: bring back the function to read old evolvestate files
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 30 Jan 2018 15:02:40 +0530] rev 3497
state: bring back the function to read old evolvestate files Before introduction of this nice cmdstate file wrapper, we had individual methods to write data to evolvestate file. Let's bring back the function which used to read data from the old evolvestae file so that we can use it in next patch for BC purposes.
Tue, 30 Jan 2018 00:02:29 +0530 evolve: add entry in CHANGELOG about fixed behavior of `hg evolve --continue`
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 30 Jan 2018 00:02:29 +0530] rev 3496
evolve: add entry in CHANGELOG about fixed behavior of `hg evolve --continue`
Tue, 30 Jan 2018 00:00:45 +0530 evolve: store the skippedrevs in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 30 Jan 2018 00:00:45 +0530] rev 3495
evolve: store the skippedrevs in evolvestate While doing `hg evolve`, there are some revs which are skipped as they can't be evolved. Before this patch, we did not store this information in evolvestate and neither they were evolved, so `hg evolve --continue` will again try to stabilize those revisions. As much time as we run `hg evolve --continue`, this will happen which is not a good behavior. This patch adds a skippedrevs list to evolvestate where we store such revisions so that we don't try to stabilize them again.
Mon, 29 Jan 2018 00:09:44 +0530 evolve: show the updated working directory after `hg evolve --continue`
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 29 Jan 2018 00:09:44 +0530] rev 3494
evolve: show the updated working directory after `hg evolve --continue` `hg evolve` shows a nice message about the new working directory when the evolve ends but if the evolve is interrupted by conflicts and you continue the evolve resolving the conflicts, that nice message is lost. Let's have that in case of `--continue` too.
Sun, 28 Jan 2018 23:49:46 +0530 evolve: make `hg evolve --continue` respect `--confirm`
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 28 Jan 2018 23:49:46 +0530] rev 3493
evolve: make `hg evolve --continue` respect `--confirm` Previous patch added capability to `hg evolve --continue` to continue the rest of the stack, not just the current revision but that was missing respecting the `--confirm` flag which user passed earlier. This patch makes sure we respect the `--confirm` flag.
Wed, 24 Jan 2018 13:20:18 +0530 evolve: make `--continue` continue evolving all remaining revisions
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 24 Jan 2018 13:20:18 +0530] rev 3492
evolve: make `--continue` continue evolving all remaining revisions This patch makes `hg evolve --continue` to continue all remaining revisions instead of just the current conflicted one. There are some still improvements required to this behavior after which the CHANGELOG entry will be added.
Sun, 04 Feb 2018 20:58:03 +0530 tests: add more tests to test-evolve-continue.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 04 Feb 2018 20:58:03 +0530] rev 3491
tests: add more tests to test-evolve-continue.t This patch adds more tests for `hg evolve --continue`. The tests demonstrates how the continuation handling of hg evolve is broken and the later patches fixes that handling.
Mon, 22 Jan 2018 18:52:27 +0530 evolve: handle case when newnode can be None while continuing evolve
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 18:52:27 +0530] rev 3490
evolve: handle case when newnode can be None while continuing evolve There can be case when `hg evolve --continue` is run, when working directory is clean and there is nothing to be included in the new commit. Let's make sure we handle such cases correctly and obsolete the node which is evolved with parent of wdir as successor. This is same as what rebase does.
Sun, 28 Jan 2018 19:28:08 +0530 tests: add tests for `hg evolve --continue`
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 28 Jan 2018 19:28:08 +0530] rev 3489
tests: add tests for `hg evolve --continue` This patch adds a new test file containing tests for `hg evolve --continue`. The test file still does not contains all the tests related to `hg evolve --continue` as one of the case is broken which needs to be fixed first. The case is when resolving a conflicting evolve results in empty wdir. Next patch will fix the traceback and then a later patch will add more tests.
Tue, 06 Feb 2018 13:00:28 +0100 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 06 Feb 2018 13:00:28 +0100] rev 3488
merge with stable
Sun, 04 Feb 2018 21:05:03 +0530 CHANGELOG: add an entry about resolve showing how to continue evolve
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 04 Feb 2018 21:05:03 +0530] rev 3487
CHANGELOG: add an entry about resolve showing how to continue evolve
Sun, 21 Jan 2018 16:55:02 -0500 test: explicitly run HGEDITOR shell command with `sh` stable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 21 Jan 2018 16:55:02 -0500] rev 3486
test: explicitly run HGEDITOR shell command with `sh` Otherwise Windows pops up the "What program do you want to use to open this?" dialog.
Sun, 21 Jan 2018 16:46:31 -0500 test: conditionalize blackbox output for Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 21 Jan 2018 16:46:31 -0500] rev 3485
test: conditionalize blackbox output for Windows
Mon, 05 Feb 2018 14:36:34 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 05 Feb 2018 14:36:34 +0100] rev 3484
branching: merge with stable
Mon, 05 Feb 2018 20:58:46 +0900 compat: add wrapper for logcmdutil functions stable
Yuya Nishihara <yuya@tcha.org> [Mon, 05 Feb 2018 20:58:46 +0900] rev 3483
compat: add wrapper for logcmdutil functions These classes and functions were bulk-renamed at hg c8e2d6ed1f9e.
Mon, 22 Jan 2018 18:35:50 +0530 evolve: store the revs to be processed in the evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 18:35:50 +0530] rev 3482
evolve: store the revs to be processed in the evolvestate This will help us in getting a full functional `hg evolve` where `hg evolve --continue` does not only continue one changeset.
Mon, 22 Jan 2018 18:18:11 +0530 evolve: store the replacements in the evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 18:18:11 +0530] rev 3481
evolve: store the replacements in the evolvestate This will greatly help when we will be implementing `hg evolve --abort`.
Mon, 22 Jan 2018 18:13:52 +0530 evolve: store the target category in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 18:13:52 +0530] rev 3480
evolve: store the target category in evolvestate
Mon, 22 Jan 2018 17:54:27 +0530 evolvecmd: use the evolvestate object passed as argument in _solveunstable
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 17:54:27 +0530] rev 3479
evolvecmd: use the evolvestate object passed as argument in _solveunstable Earlier if get a merge conflict, we used to initialize a new evolvestate object and used to save it. Let's start using the state object which we get in as argument as that will contain more data about the state.
Mon, 22 Jan 2018 17:44:57 +0530 evolvecmd: pass evolvestate object to _solve* functions
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 17:44:57 +0530] rev 3478
evolvecmd: pass evolvestate object to _solve* functions This patchs adds an argument evolvestate to _solve* functions. This will help us in having one evolvestate object which we can pass around various functions and keep storing what's going on.
Mon, 22 Jan 2018 17:29:56 +0530 evolve: create a state object in all case
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 17:29:56 +0530] rev 3477
evolve: create a state object in all case Let's create a state object even when we are not in the continue mode. This will help us passing the state object to rest of the functions.
Sun, 04 Feb 2018 14:29:18 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 04 Feb 2018 14:29:18 +0100] rev 3476
branching: merge with stable
Fri, 02 Feb 2018 13:59:33 +0530 grab: preserve phase of the grabbed changeset
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 02 Feb 2018 13:59:33 +0530] rev 3475
grab: preserve phase of the grabbed changeset This patch fixes the wrong behavior of loosing secret phase of the grabbed changeset.
Fri, 02 Feb 2018 13:45:47 +0530 tests: add a test showing grabbing of secret changeset turn it into draft
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 02 Feb 2018 13:45:47 +0530] rev 3474
tests: add a test showing grabbing of secret changeset turn it into draft This patch adds a test showing wrong behavior of `hg grab` command which looses the secret phase while grabbing a secret changeset.
Fri, 02 Feb 2018 15:37:00 +0530 grab: add grab info to cmdutil.afterresolvedstates
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 02 Feb 2018 15:37:00 +0530] rev 3473
grab: add grab info to cmdutil.afterresolvedstates This will help us in showing how to continue the grab when user resolves all the conflicts.
Sat, 27 Jan 2018 21:15:27 +0530 evolve: add evolve info to cmdutil.afterresolvedstates
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 27 Jan 2018 21:15:27 +0530] rev 3472
evolve: add evolve info to cmdutil.afterresolvedstates Adding evolve info to cmdutil.afterresolvedstate will improve the ui when we run into merge conflicts while evolving. Once we resolve all the conflicts using `hg resolve`, this will show a message saying "continue: hg evolve --continue". Other extensions like rebase and shelve also use it and it's very helpful.
Mon, 29 Jan 2018 17:32:08 +0100 doc: add link to roadmap stable
Boris Feld <boris.feld@octobus.net> [Mon, 29 Jan 2018 17:32:08 +0100] rev 3471
doc: add link to roadmap Add a link to the Evolution roadmap in the main page of the documentation.
Fri, 19 Jan 2018 19:32:34 +0530 evolve: move the evolve command to evolvecmd.py
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 19:32:34 +0530] rev 3470
evolve: move the evolve command to evolvecmd.py This patch moves finishes the code movement by moving the evolve command to evolvecmd.py.
Sun, 21 Jan 2018 20:33:39 +0530 evolve: move _orderrevs() function evolvecmd.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 21 Jan 2018 20:33:39 +0530] rev 3469
evolve: move _orderrevs() function evolvecmd.py _orderrevs() is a function which is used to order the revs in which the instability needs to be solved if we have multiple revisions to resolve.
Sun, 21 Jan 2018 20:28:06 +0530 evolve: move builddependencies() and _singlesuccessor() to utility module
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 21 Jan 2018 20:28:06 +0530] rev 3468
evolve: move builddependencies() and _singlesuccessor() to utility module The builddependencies() and _singlesuccessor() function are very useful functions and can be used at a lot of places. They are also used in topic extension also, so let's move them to utility. However moving them to utility won't help anything in the topic extension.
Fri, 19 Jan 2018 17:29:48 +0530 utility: move MultipleSuccessorsError from __init__.py
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 17:29:48 +0530] rev 3467
utility: move MultipleSuccessorsError from __init__.py The MultipleSuccessorsError is required in multiple modules in upcoming patches, so let's move it to utility first.
Fri, 19 Jan 2018 16:44:00 +0530 evolvecmd: move more core from __init__.py to evolvecmd.py
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 16:44:00 +0530] rev 3466
evolvecmd: move more core from __init__.py to evolvecmd.py We are done with moving helper code, we will now be moving the evolve command in the new module.
Fri, 19 Jan 2018 16:00:21 +0530 evolvecmd: move code from __init__.py to evolvecmd.py
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 16:00:21 +0530] rev 3465
evolvecmd: move code from __init__.py to evolvecmd.py
Fri, 19 Jan 2018 15:55:38 +0530 evolvecmd: move more code from __init__.py to evolvecmd.py
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 15:55:38 +0530] rev 3464
evolvecmd: move more code from __init__.py to evolvecmd.py We are now very close to have most of the evolve related code in evolvecmd.py.
Fri, 19 Jan 2018 15:22:28 +0530 evolvecmd: move more chunks of code from __init__.py to evolvecmd.py
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 15:22:28 +0530] rev 3463
evolvecmd: move more chunks of code from __init__.py to evolvecmd.py
Fri, 19 Jan 2018 15:04:12 +0530 evolvecmd: move more functions from __init__.py to evolvecmd.py
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 15:04:12 +0530] rev 3462
evolvecmd: move more functions from __init__.py to evolvecmd.py If things are looking ugly, hold on.
Fri, 19 Jan 2018 14:42:46 +0530 evolvecmd: introduce a new module to handle `hg evolve` related code
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 14:42:46 +0530] rev 3461
evolvecmd: introduce a new module to handle `hg evolve` related code __init__.py is to cluttered with wrapping and all, it's better to move code related to evolve command to new a module which will help us in great refactoring and introducing nice and better flow of data through functions. There is a temporary import cycle is introduced which will be fixed in the series.
Thu, 18 Jan 2018 16:57:19 +0530 evolve: remove not required calls to phases.retractboundary()
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 18 Jan 2018 16:57:19 +0530] rev 3460
evolve: remove not required calls to phases.retractboundary() To make sure phases are preserved during evolve, we started using the phases.new-commit config option. Now we don't need to call phases.retractboundary(). Let's remove the redundant code.
Tue, 16 Jan 2018 17:14:32 +0530 evolve: store the replacements occurred during `hg evolve` at top level
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 16 Jan 2018 17:14:32 +0530] rev 3459
evolve: store the replacements occurred during `hg evolve` at top level This patch starts storing the replacements made during the `hg evolve` command. The current dictionary is not used anywhere but will be used in future as we want to introduce abort functionality, so we want to delay writing of obsmarkers, storing these exchanges in statefile etc.
Sat, 27 Jan 2018 16:13:19 +0530 evolve: make the _solve* functions return a tuple
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 27 Jan 2018 16:13:19 +0530] rev 3458
evolve: make the _solve* functions return a tuple This patch makes _solve* functions return a tuple which will contain information about whether we were able to solve the instability and if yes, then what was the newnode. For more details about tuple, look the fn docs added. There was some refactoring required in next command because of change in return values. This also leds to omitting the wdir update message in case of dry-run which is good.
Wed, 17 Jan 2018 19:12:32 +0530 evolvestate: rename the file to state.py and class name to cmdstate
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 17 Jan 2018 19:12:32 +0530] rev 3457
evolvestate: rename the file to state.py and class name to cmdstate The evolvestate.py and the evolvestate class in it were introduced to help `hg evolve` grow continue and abort options. But the class and it's API can be easily used to store state information for other state files like we stored the information for grab state in the previous commit. Let's rename the the file and class.
Fri, 26 Jan 2018 17:55:16 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 26 Jan 2018 17:55:16 +0100] rev 3456
branching: merge with stable
Wed, 24 Jan 2018 09:55:12 -0800 update: show "use 'hg evolve' to..." hint iff evolve command enabled stable
Martin von Zweigbergk <martinvonz@google.com> [Wed, 24 Jan 2018 09:55:12 -0800] rev 3455
update: show "use 'hg evolve' to..." hint iff evolve command enabled Before this patch, one had to enable *all* commands (by including "allnewcommands" in the experimental.evolution config) for the hint to be shown.
Thu, 25 Jan 2018 17:29:21 -0800 obslog: drop period from summary line in accordance with convention
Martin von Zweigbergk <martinvonz@google.com> [Thu, 25 Jan 2018 17:29:21 -0800] rev 3454
obslog: drop period from summary line in accordance with convention
Thu, 11 Jan 2018 20:03:20 +0530 grab: add a command to grab a commit and update to it
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 11 Jan 2018 20:03:20 +0530] rev 3453
grab: add a command to grab a commit and update to it This patch adds anew command `hg grab` which will pick a commit and put it on the top of the working directory parent and updates to it. Earlier grab was an alias for `hg rebase -r <rev> -d .` which is now deleted to make sure `hg grab` resolves to the grab command and that alias. Continuing interrupted grab functionality is also there using the evolvestate class. Tests are also added for the new introduced command.
Mon, 22 Jan 2018 14:10:59 +0530 amend: query the wdir parent after taking lock (issue5266) stable
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 14:10:59 +0530] rev 3452
amend: query the wdir parent after taking lock (issue5266) If we query wdir parent without taking a lock, that can lead to bugs because the wdir parent can change is another process has changed the wdir parent. One such example of this was issue 5266. When a user is running amend and that amend is waiting for commit message, the user runs another amend which waits for lock. The second amend is waiting for lock, but has already read the description from the parent of working directory to use. Once the first amend completes the wdir parent changes but we still have the description from an old wdir parent. This patch fixes the bug by querying the description after taking lock. Attempts were made to add test for this but the results were unstable because they depend on time in which lock is released.
Mon, 22 Jan 2018 13:44:32 +0530 fold: make sure we move bookmarks after folding (issue5772) stable
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 13:44:32 +0530] rev 3451
fold: make sure we move bookmarks after folding (issue5772) The rewriteutil.rewrite() API currently only handles moving bookmark from a old node to new node. In case on fold, we have multiple old nodes, from where a bookmark move is possible. The rewriteutil.rewrite() API is used by another commands also and it's not good to plug in some logic there. This patch handles bookmark movement from all the old nodes to the new node.
Mon, 22 Jan 2018 13:33:58 +0530 tests: add a test showing bookmark not moving in-case of `hg fold` stable
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 13:33:58 +0530] rev 3450
tests: add a test showing bookmark not moving in-case of `hg fold` This patch adds a test showing that bookmark is not moved when doing `hg fold`. This test represents issue 5772.
Wed, 24 Jan 2018 15:20:29 +0100 branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Jan 2018 15:20:29 +0100] rev 3449
branching: merge stable back into default
Wed, 24 Jan 2018 15:19:17 +0100 test: update test output ot reply caps size change stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Jan 2018 15:19:17 +0100] rev 3448
test: update test output ot reply caps size change CORE-TEST-OUTPUT-UPDATE: 2e703ed1c713
Wed, 24 Jan 2018 15:11:20 +0100 branching: merge default test output into stable stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Jan 2018 15:11:20 +0100] rev 3447
branching: merge default test output into stable Mercurial 4.5 has been merged, we update the expected test output.
Wed, 24 Jan 2018 15:08:09 +0100 branching: open Mercurial 4.4 compatibility branch mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Jan 2018 15:08:09 +0100] rev 3446
branching: open Mercurial 4.4 compatibility branch
Sat, 20 Jan 2018 12:55:23 +0100 branching: merge release 7.2.1 into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 12:55:23 +0100] rev 3445
branching: merge release 7.2.1 into default
(0) -1536 tip