Thu, 18 Jun 2015 17:56:02 -0700 evolve: update readme regarding the preview perf improvement stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 17:56:02 -0700] rev 1387
evolve: update readme regarding the preview perf improvement
Thu, 18 Jun 2015 16:15:28 -0700 evolve: move 'allsuccessors()' to smarted usage stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:15:28 -0700] rev 1386
evolve: move 'allsuccessors()' to smarted usage The "new" smarted can be significantly more efficient than the old was. We convert our revset to take advantage of that.
Thu, 18 Jun 2015 16:15:21 -0700 evolve: move 'successors()' to smarted usage stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:15:21 -0700] rev 1385
evolve: move 'successors()' to smarted usage The "new" smarted can be significantly more efficient than the old was. We convert our revset to take advantage of that.
Thu, 18 Jun 2015 16:15:13 -0700 evolve: move 'allprecursors()' to smarted usage stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:15:13 -0700] rev 1384
evolve: move 'allprecursors()' to smarted usage The "new" smarted can be significantly more efficient than the old was. We convert our revset to take advantage of that.
Thu, 18 Jun 2015 16:15:00 -0700 evolve: move 'precursors()' to smarted usage stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:15:00 -0700] rev 1383
evolve: move 'precursors()' to smarted usage The "new" smarted can be significantly more efficient than the old was. We convert our revset to take advantage of that.
Thu, 18 Jun 2015 17:08:38 -0700 evolve: move 'suspended()' to smarted usage stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 17:08:38 -0700] rev 1382
evolve: move 'suspended()' to smarted usage The "new" smarted can be significantly more efficient than the old was. We convert our revset to take advantage of that.
Thu, 18 Jun 2015 17:08:11 -0700 evolve: move 'troubled()' to smarted usage stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 17:08:11 -0700] rev 1381
evolve: move 'troubled()' to smarted usage The "new" smarted can be significantly more efficient than the old was. We convert our revset to take advantage of that.
Thu, 18 Jun 2015 16:14:32 -0700 evolve: avoid creating changectx object in _allsuccessors stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:14:32 -0700] rev 1380
evolve: avoid creating changectx object in _allsuccessors The repo lookups and object creations have a significant performance overhead.
Thu, 18 Jun 2015 16:14:16 -0700 evolve: avoid creating changectx object in _successors stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:14:16 -0700] rev 1379
evolve: avoid creating changectx object in _successors The repo lookups and object creations have a significant performance overhead.
Thu, 18 Jun 2015 16:13:35 -0700 evolve: avoid creating changectx object in _allprecursors stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:13:35 -0700] rev 1378
evolve: avoid creating changectx object in _allprecursors The repo lookups and object creations have a significant performance overhead.
Thu, 18 Jun 2015 16:13:15 -0700 evolve: avoid creating changectx object in _precursors stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:13:15 -0700] rev 1377
evolve: avoid creating changectx object in _precursors The repo lookups and object creations have a significant performance overhead.
Thu, 18 Jun 2015 16:18:29 -0700 evolve: fix the template keyworkd decorator docstring stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:18:29 -0700] rev 1376
evolve: fix the template keyworkd decorator docstring It was still talking about revsets.
Thu, 18 Jun 2015 15:56:56 -0700 evolve: search divergence within all precursors stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 15:56:56 -0700] rev 1375
evolve: search divergence within all precursors Before this patches we looking for divergence base in immediate successors only. This was a bug leading the divergence base to be reported missing more than it should.
Thu, 18 Jun 2015 15:25:51 -0700 evolve: make sure we use an unfiltered repo when looking for divergence data stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 15:25:51 -0700] rev 1374
evolve: make sure we use an unfiltered repo when looking for divergence data Let's be double sure
Thu, 18 Jun 2015 15:25:51 -0700 evolve: make sure we use an unfiltered repo when looking for divergence data
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 15:25:51 -0700] rev 1373
evolve: make sure we use an unfiltered repo when looking for divergence data Let's be double sure
Wed, 17 Jun 2015 11:31:05 -0700 directaccess: remove import from the no warning list
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 17 Jun 2015 11:31:05 -0700] rev 1372
directaccess: remove import from the no warning list removal of the list previously failed for some reason.
Wed, 17 Jun 2015 10:30:07 -0700 directaccess: add some commands to the directaccess list
Laurent Charignon <lcharignon@fb.com> [Wed, 17 Jun 2015 10:30:07 -0700] rev 1371
directaccess: add some commands to the directaccess list Before this patch we had a limited list of commands in the directaccess list. This patch adds about 20 commands to that list: - all the read-only commands in core supporting a rev as an argument - 'outgoing': since people can use 'outgoing' to know what is going to be pushed, the output of hg outgoing should be consistent with to the output of hg push and must therefore disallow directaccess since hg push forbids it.
Tue, 16 Jun 2015 14:49:28 -0700 evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 14:49:28 -0700] rev 1370
evolve: move test for evolve --rev ordering in a separate file evolve --rev reordering is a complicated enough topic to justify a separate test.
Tue, 16 Jun 2015 14:30:43 -0700 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 14:30:43 -0700] rev 1369
evolve: properly evolve stacked unstable with --rev Before this patch, _singlesuccessor was not returning a revision number for the case where the parent of the argument was not obsolete. This resulted in bug when testing membership with the set of revisions. This patch fixes it and adds a test.
Tue, 16 Jun 2015 10:19:17 -0700 directaccess: disable directaccess for push and serve
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 10:19:17 -0700] rev 1368
directaccess: disable directaccess for push and serve Before this patch, push and serve were subject to directaccess. This patch makes them throw error when trying to access hidden hashes.
Tue, 16 Jun 2015 10:08:48 -0700 directaccess: change rule from opt-in to opt-out
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 10:08:48 -0700] rev 1367
directaccess: change rule from opt-in to opt-out Before this patch we would opt-in commands for direct access and the default filter for new repository was 'visible'. With this patch, the default filter for new repos is 'visible-directaccess-warn'. It means that by default all the commands have directaccess with warnings.
Tue, 16 Jun 2015 10:07:51 -0700 inhibit: move transaction wrapping outside of repo setup
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 10:07:51 -0700] rev 1366
inhibit: move transaction wrapping outside of repo setup Before this patch, transaction wrapping code was done in reposetup. It happened to cause stackoverflows in repos with a lot of subreps. This patch moves the wrapping to extsetup and avoids this problem.
Mon, 15 Jun 2015 17:44:12 -0700 tests: ignores other core output in capability testing
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 15 Jun 2015 17:44:12 -0700] rev 1365
tests: ignores other core output in capability testing This will avoid breaking the test anytime core changes.
Wed, 20 May 2015 12:46:13 -0700 evolve: make uncommit respect allowunsable
Laurent Charignon <lcharignon@fb.com> [Wed, 20 May 2015 12:46:13 -0700] rev 1364
evolve: make uncommit respect allowunsable Before this patch, the uncommit command was performing the same way regardless of the value of experimental.evolution. With this patch if the configuration does not allow unstability, uncommit won't create instability.
Sat, 13 Jun 2015 11:14:07 -0700 directaccess: use cached filteredrevs
Laurent Charignon <lcharignon@fb.com> [Sat, 13 Jun 2015 11:14:07 -0700] rev 1363
directaccess: use cached filteredrevs Before this patch we were calling directly repoview.computehidden(repo) to compute the revisions visible with direct access, without going through the caching mechanism for the filtered revisions. There was two issues with that: (1) Performance: We were not leverating the cached values of the 'visible' revs (2) Stability: If there were to be a cache inconsistency with the computation of 'visible' we would crash in the branchmap consistency check partial.validfor. Consider the scenario of rebase with bookmarks: - when we delete a bookmark on an obsolete changeset (like what rebase does when moving the bookmark after rebasing the changesets) - then this changes the value returned by repoview.computehidden(repo) as bookmarks are used as dynamic blockers in repoview.computehidden(repo) - as of now, we don't invalidate the cache in the case of bookmark change - if we have a cached value from before the bookmark change, repoview.filterrevs(repo, 'visible') considers the cached value correct and returns something different than repoview.computehidden(repo) - in turn, if we use repoview.computehidden(repo) in directaccess, the subset relationship is broken and the cache consistency assertion (parial.validfor) fails if branchmap.updatecache is called in this time window This patch leverages the caching infrastructure in place to speed up the computation of the filteredrevs for visible-directaccess-nowarn and visible-directaccess-warn. Incidentally it prevents the bug discussed in (2) from crashing when running a rebase with a bookmark. Note that there still needs to be a fix in core for the case discussed in (2). The test for this side of the fix (not core's fix for (2) is very hard to implement without introducing a lot of dependencies and does not belong here. It is much easier to have the test of the fix for the scenario (2) in core along with the fix.
Sat, 13 Jun 2015 11:14:27 -0700 inhibit: improve performance of transaction wrapping
Laurent Charignon <lcharignon@fb.com> [Sat, 13 Jun 2015 11:14:27 -0700] rev 1362
inhibit: improve performance of transaction wrapping Before this patch, transaction wrapping was the most expensive part of inhibit computation wise. This patch changes the revset that we use in the transaction wrapping to make it ~50x faster to compute: revset #0: obsolete() - hidden() 0) wall 0.000214 comb 0.000000 user 0.000000 sys 0.000000 (best of 11209) vs revset #0: (not hidden()) and obsolete() 0) wall 0.010965 comb 0.010000 user 0.010000 sys 0.000000 (best of 237)
Thu, 04 Jun 2015 16:49:16 -0700 evolve: extract the code computing dependencies in a separate function
Laurent Charignon <lcharignon@fb.com> [Thu, 04 Jun 2015 16:49:16 -0700] rev 1361
evolve: extract the code computing dependencies in a separate function The code to compute dependencies between unstable changeset can be reused to compute the next reveset. This patch extracts it in its own function to make it reusable.
Thu, 04 Jun 2015 10:01:02 -0700 directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com> [Thu, 04 Jun 2015 10:01:02 -0700] rev 1360
directaccess: add mechanism to load directaccess after some other extensions directaccess needs to load after some extensions to avoid interfering with them. This patch adds a mechanism to specify what extension directaccess needs to load after.
Tue, 02 Jun 2015 15:24:12 -0700 evolve: add another test for evolve --rev
Laurent Charignon <lcharignon@fb.com> [Tue, 02 Jun 2015 15:24:12 -0700] rev 1359
evolve: add another test for evolve --rev This patch adds one test for three conditions not covered before: - evolve --rev on a stack with obsolete commits without successors - evolve --rev on two sets of stacks in parallel - evolve --rev on a set of stack partially solvable (because all of the commits of the stack are not specified with --rev)
Tue, 02 Jun 2015 15:23:50 -0700 evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com> [Tue, 02 Jun 2015 15:23:50 -0700] rev 1358
evolve: add a more complex test for evolve --rev The previous tests of evolve --rev would have passed with an ordering of revs by increasing revision numbers. This patch adds a test that would fail if that was what we were doing and therefore tests the implementation better.
Thu, 04 Jun 2015 13:35:12 -0700 evolve: add ordering of the revisions for evolve --rev
Laurent Charignon <lcharignon@fb.com> [Thu, 04 Jun 2015 13:35:12 -0700] rev 1357
evolve: add ordering of the revisions for evolve --rev When running evolve --rev we want to process the revisions in an optimal fashion to solve the maximum amount of trouble in the minimum number of steps. This patch adds a step to evolve --rev to order the revision before solving the troubles. A simple test is added to cover a basic case.
Thu, 04 Jun 2015 13:26:58 -0700 test: adapt to change in mercurial core
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Jun 2015 13:26:58 -0700] rev 1356
test: adapt to change in mercurial core Bundle2 is one by default and more capability have been added.
Wed, 03 Jun 2015 16:01:28 -0700 evolve: add directaccess to the setup.py
Laurent Charignon <lcharignon@fb.com> [Wed, 03 Jun 2015 16:01:28 -0700] rev 1355
evolve: add directaccess to the setup.py directaccess was missing from the list so that when we were building evolve it was not contained in the build.
Mon, 01 Jun 2015 12:29:12 -0700 evolve: don't crash on singled out revisions
Laurent Charignon <lcharignon@fb.com> [Mon, 01 Jun 2015 12:29:12 -0700] rev 1354
evolve: don't crash on singled out revisions Before this patch, we were crashing on unsolvable revisions when using evolve --rev. This patch removes the crash and prints a warning when we encounter such revision.
Mon, 01 Jun 2015 10:58:50 -0700 test: adapt test to less frequent branch warning
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 01 Jun 2015 10:58:50 -0700] rev 1353
test: adapt test to less frequent branch warning The 701df761aa94 changeset in mercurial core made the branch warning issue only for the first branch created. We adapt the tests to reflect this change.
Mon, 01 Jun 2015 10:56:49 -0700 tests: adapt summary output to 6084926366b9
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 01 Jun 2015 10:56:49 -0700] rev 1352
tests: adapt summary output to 6084926366b9 The 'summary' commands recently gained phases related output, 6084926366b9 put it into a "final" state. We adapt the test to this new style.
Wed, 27 May 2015 10:23:37 -0700 evolve: small refactoring of the uncommit function
Laurent Charignon <lcharignon@fb.com> [Wed, 27 May 2015 10:23:37 -0700] rev 1351
evolve: small refactoring of the uncommit function We introduce a new variable to simplify the implementation of hg uncommit --interactive.
Wed, 13 May 2015 09:46:34 -0700 evolve: improve error message
Laurent Charignon <lcharignon@fb.com> [Wed, 13 May 2015 09:46:34 -0700] rev 1350
evolve: improve error message We add a new line and change the wording from 'revsets' to 'revisions'.
Wed, 13 May 2015 09:43:36 -0700 evolve: move return statement at the right level
Laurent Charignon <lcharignon@fb.com> [Wed, 13 May 2015 09:43:36 -0700] rev 1349
evolve: move return statement at the right level When no trouble was found with the --rev option, the code of the evolve function would continue running and would solve unwanted troubles. This patch makes sure it does not happen.
Wed, 27 May 2015 14:00:01 -0700 evolve: remove extra whitespace
Laurent Charignon <lcharignon@fb.com> [Wed, 27 May 2015 14:00:01 -0700] rev 1348
evolve: remove extra whitespace This patch removes a whitespace at the end of a line.
Fri, 22 May 2015 10:38:16 -0700 directaccess: don't crash when evolve is not loaded
Laurent Charignon <lcharignon@fb.com> [Fri, 22 May 2015 10:38:16 -0700] rev 1347
directaccess: don't crash when evolve is not loaded Before this patch, when evolve was not loaded direct access was crashing. This patch catches the error and prevents the crash.
Wed, 20 May 2015 10:58:32 -0700 inhbit: don't crash on commit with no changes
Laurent Charignon <lcharignon@fb.com> [Wed, 20 May 2015 10:58:32 -0700] rev 1346
inhbit: don't crash on commit with no changes Before this patch inhibit would crash when running hg amend with no changes. This patch fixes this case and adds a test to prevent regression.
Wed, 20 May 2015 13:32:32 -0700 evolve: add a test for prune --keep -r . with active bookmark
Laurent Charignon <lcharignon@fb.com> [Wed, 20 May 2015 13:32:32 -0700] rev 1345
evolve: add a test for prune --keep -r . with active bookmark We recently changed the behavior of prune to make sure that the active bookmark stays active after prune -r . This patch adds a test for the case of prune --keep -r . that does not take the same code path.
Wed, 20 May 2015 13:23:20 -0700 Merge with stable
Laurent Charignon <lcharignon@fb.com> [Wed, 20 May 2015 13:23:20 -0700] rev 1344
Merge with stable
Thu, 14 May 2015 11:32:04 -0700 inhibit: add test to ensure that --hidden is working with inhibit
Laurent Charignon <lcharignon@fb.com> [Thu, 14 May 2015 11:32:04 -0700] rev 1343
inhibit: add test to ensure that --hidden is working with inhibit There was a concern with the transaction hook in inhibit and its potentially devastating effect when used with --hidden. The transaction hook in inhibit hides all the visible & obsolete commits when the transaction ends using the visible() and the obsolete() revset. --hidden does not change the visible() revset so it is fine. If this changes in the future and --hidden actually ends up impacting the visible() revset, this test will catch it and prevent inhibit from putting inhibition markers on all of the obsolete changesets.
Mon, 18 May 2015 17:24:38 -0700 prune: with active bookmark should stay active stable
Laurent Charignon <lcharignon@fb.com> [Mon, 18 May 2015 17:24:38 -0700] rev 1342
prune: with active bookmark should stay active hg prune with an active bookmark was deactivating the bookmark after the prune. This patch makes sure that if a bookmark was active before a "prune" operation (except prune -B) then the bookmark stays activate afterwards.
Tue, 19 May 2015 00:47:00 -0500 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 19 May 2015 00:47:00 -0500] rev 1341
merge with stable
Mon, 18 May 2015 13:58:57 -0400 evolve: migrate off of now-dead util.any stable
Augie Fackler <raf@durin42.com> [Mon, 18 May 2015 13:58:57 -0400] rev 1340
evolve: migrate off of now-dead util.any
Thu, 14 May 2015 11:23:40 -0700 inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com> [Thu, 14 May 2015 11:23:40 -0700] rev 1339
inhibit: create direct access extension Since we want to use direct access without necessarily using inhibit, this patch separates both extensions. Inhibit depends on direct access and we add a test to check that it complains if that is not the case.
Thu, 14 May 2015 15:59:06 -0700 inhibit: handle inhibit marker on stripped revision
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 14 May 2015 15:59:06 -0700] rev 1338
inhibit: handle inhibit marker on stripped revision If a revision disappear from the repo, we should not crash.
Wed, 13 May 2015 17:25:15 -0700 update README stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 13 May 2015 17:25:15 -0700] rev 1337
update README
Wed, 13 May 2015 09:03:11 -0700 evolve: don't use python sets on top of revset for evolve --rev
Laurent Charignon <lcharignon@fb.com> [Wed, 13 May 2015 09:03:11 -0700] rev 1336
evolve: don't use python sets on top of revset for evolve --rev In --rev we were wrapping the revsets in python sets. This is wrong as the use python sets force the wrapper revision set to be computed earlier than it has to and have no order guarantee. Removing this wrapping changes a test because the ordering does not appear to be the same but the end result is the same.
Wed, 13 May 2015 08:47:27 -0700 evolve: current bookmark wrongly moving during prune (issue4559) stable
Laurent Charignon <lcharignon@fb.com> [Wed, 13 May 2015 08:47:27 -0700] rev 1335
evolve: current bookmark wrongly moving during prune (issue4559) Before this patch: prune -r <otherbookmark> also moved the current bookmark eventhough it was not related to the pruned changes. This patch fixes it and adds a test to catch regressions.
Tue, 12 May 2015 13:52:29 -0700 inhibit: direct access with and without warning on a per command basis
Laurent Charignon <lcharignon@fb.com> [Tue, 12 May 2015 13:52:29 -0700] rev 1334
inhibit: direct access with and without warning on a per command basis We introduce a new filtername visibile-directaccess-nowarn to enable direct access with no warning on a per command basis. The motivation behing this change is to display warning when attempting direct access in destructive commands.
Tue, 12 May 2015 12:26:46 -0700 inhbit: make tests work with evolution.createmarkers config
Laurent Charignon <lcharignon@fb.com> [Tue, 12 May 2015 12:26:46 -0700] rev 1333
inhbit: make tests work with evolution.createmarkers config Before this patch, the test for inhibit was assuming evolve fully running. For most of the features that inhbit enables, createmarkers is sufficient. This patch makes the test of inhibit run with the createmarkers config and only lifts it for operations in the middle of the stack.
Thu, 30 Apr 2015 17:37:11 -0700 inhibit: config to enable only direct access
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 17:37:11 -0700] rev 1332
inhibit: config to enable only direct access Inhibit provides several features to hide instability and direct access. We want to use direct access in evolve without hiding the instability. This patch adds a config flag to enable only direct access in inhibit, when this config flag is not set or set to false we enable all the features of inhibit that don't concern direct access.
Mon, 11 May 2015 14:31:17 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 11 May 2015 14:31:17 -0700] rev 1331
merge with stable
Thu, 07 May 2015 13:20:11 -0700 bookmarks: update to use new bookmarks api via compatibility layer stable
Ryan McElroy <rmcelroy@fb.com> [Thu, 07 May 2015 13:20:11 -0700] rev 1330
bookmarks: update to use new bookmarks api via compatibility layer Tested against 3.4 and latest hg + upcoming bookmarks patches
Thu, 07 May 2015 10:54:37 -0700 simple4server: remove buggy wrapping of pull related function stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 May 2015 10:54:37 -0700] rev 1329
simple4server: remove buggy wrapping of pull related function Not only the wrapping was all buggy, but simple4server is not supposed to affect client side pull.
Wed, 06 May 2015 11:29:15 -0700 simple4server: update bugtracker link stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 May 2015 11:29:15 -0700] rev 1328
simple4server: update bugtracker link We moved all evolution related bug to the core Mercurial tracker.
Tue, 05 May 2015 14:09:09 -0700 evolve: rename handlenotrouble to _handlenotrouble and add doc
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 14:09:09 -0700] rev 1327
evolve: rename handlenotrouble to _handlenotrouble and add doc As suggested by Pierre-Yves on his comments on f113636997660b807c36cf1d0a06b76d53ada1a4 we make it clear that this function is private and explain what it does.
Tue, 05 May 2015 18:20:40 -0700 evolve: improve the help message of --rev
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 18:20:40 -0700] rev 1326
evolve: improve the help message of --rev User's are not exposed to the notion of revset, this patch makes the help message more intelligible.
Tue, 05 May 2015 14:25:59 -0700 evolve: add --rev option to the evolve command
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 14:25:59 -0700] rev 1325
evolve: add --rev option to the evolve command This patch is part of a series of patches to refactor the evolve method and make it more readable. We introduce a new --rev flag to specify a revset where to solve the troubles instead of looking from the parent changeset. All add a test checks that --rev works with several commits
Tue, 05 May 2015 14:25:35 -0700 evolve: extract cleanup logic in the evolve function
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 14:25:35 -0700] rev 1324
evolve: extract cleanup logic in the evolve function We are going to need to reuse the cleanup logic when introducing --rev, so we extract it in a method to avoid code duplication.
Thu, 30 Apr 2015 14:25:37 -0700 evolve: simplify the evolve function
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:25:37 -0700] rev 1323
evolve: simplify the evolve function We compute the troubles once and use it in two places instead of recomputing them just to count them.
Tue, 05 May 2015 17:15:06 -0700 evolve: optimize the computation of the troubled() revset
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 17:15:06 -0700] rev 1322
evolve: optimize the computation of the troubled() revset We take the implementation from _counttroubles() and rely on the more efficient & operation for revset instead of laying down the entire set with %ld.
Tue, 05 May 2015 13:32:01 -0700 inhibit: don't inhibit pinned commits during rebase
Durham Goode <durham@fb.com> [Tue, 05 May 2015 13:32:01 -0700] rev 1321
inhibit: don't inhibit pinned commits during rebase During a rebase we pin certain commits to always be visible. This caused the inhibit extension to inhibit them when a transaction closed. Let's make inhibit aware of such pins and not obsolete them.
Mon, 04 May 2015 16:56:46 -0700 evolve: extract the logic to solve one change into a method
Laurent Charignon <lcharignon@fb.com> [Mon, 04 May 2015 16:56:46 -0700] rev 1320
evolve: extract the logic to solve one change into a method The goal is to later reuse this method to implement the --rev flag for evolve that solves the troubles in a revset.
Mon, 04 May 2015 16:56:05 -0700 evolve: add new variable and comment
Laurent Charignon <lcharignon@fb.com> [Mon, 04 May 2015 16:56:05 -0700] rev 1319
evolve: add new variable and comment Add comment and introduce a new variable to keep track of if the progress ui is shown. Later on we will use this variable in the implementation of the --rev option.
Mon, 04 May 2015 16:09:05 -0700 evolve: move code to track progress and start node
Laurent Charignon <lcharignon@fb.com> [Mon, 04 May 2015 16:09:05 -0700] rev 1318
evolve: move code to track progress and start node This makes it easier to refactor the evolve function in this serie of patches.
Thu, 30 Apr 2015 14:00:07 -0700 evolve: renaming of a variable
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:00:07 -0700] rev 1317
evolve: renaming of a variable tro was not a really descriptive name, replacing it with nexttrouble.
Mon, 04 May 2015 16:01:45 -0700 evolve: refactoring of the code displaying error when no trouble found
Laurent Charignon <lcharignon@fb.com> [Mon, 04 May 2015 16:01:45 -0700] rev 1316
evolve: refactoring of the code displaying error when no trouble found Before this patch, we had many return statements in the evolve function especially in the part in charge of displaying errors when no troubles were found. We move this code in a separate function.
Thu, 30 Apr 2015 15:11:00 -0700 evolve: refactor code computing stats of obsolescence markers
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 15:11:00 -0700] rev 1315
evolve: refactor code computing stats of obsolescence markers Duplicated code removal by extracting a function.
Thu, 30 Apr 2015 14:55:04 -0700 evolve: refactoring of code related to pushing obs markers
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:55:04 -0700] rev 1314
evolve: refactoring of code related to pushing obs markers This removes duplicated code for the pushobsmarkers logic
Mon, 04 May 2015 10:56:06 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 May 2015 10:56:06 -0700] rev 1313
merge with stable bunch of cleanup on stable
Mon, 04 May 2015 10:58:14 -0700 update readme stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 May 2015 10:58:14 -0700] rev 1312
update readme
Mon, 04 May 2015 10:47:02 -0700 evolve: update cmddebugrecordpruneparents to the new markers creation API stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 May 2015 10:47:02 -0700] rev 1311
evolve: update cmddebugrecordpruneparents to the new markers creation API The parents information are now first class citizen. (caught by laurent using pylint)
Mon, 04 May 2015 10:46:06 -0700 evolve: drop useless return stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 May 2015 10:46:06 -0700] rev 1310
evolve: drop useless return This return statement is never reached. This a actually a good new because its variable was undefined. We remove it. (caught by laurent using pylint)
Thu, 30 Apr 2015 14:34:05 -0700 evolve: add missing import stable
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:34:05 -0700] rev 1309
evolve: add missing import (caught by pylint)
Thu, 30 Apr 2015 14:47:01 -0700 evolve: improve transaction related code to use the lock module stable
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:47:01 -0700] rev 1308
evolve: improve transaction related code to use the lock module Refactored some of the places where we are using locking in evolve to use the lock module and write less code. This should also fix a couple of bug where tr could be None at release time.
Thu, 30 Apr 2015 14:40:36 -0700 evolve: remove unused variables stable
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:40:36 -0700] rev 1307
evolve: remove unused variables As suggested by pyflakes, remove 5 unused variables in the evolve module.
Thu, 30 Apr 2015 14:30:15 -0700 evolve: remove unused code in _evolveany stable
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:30:15 -0700] rev 1306
evolve: remove unused code in _evolveany remove some code that was doing nothing useful in _evolveany.
Thu, 30 Apr 2015 14:22:30 -0700 evove: remove unused imports stable
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:22:30 -0700] rev 1305
evove: remove unused imports Three imports where unused in the evolve module.
Wed, 29 Apr 2015 10:36:43 -0700 tests: ensure we keep capturing output stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 10:36:43 -0700] rev 1304
tests: ensure we keep capturing output In 3.4, output capture with bundle2 is disabled by default on local push.
Mon, 20 Apr 2015 13:39:18 -0700 inhibit: updating to a obsolete commit prints warning message
Laurent Charignon <lcharignon@fb.com> [Mon, 20 Apr 2015 13:39:18 -0700] rev 1303
inhibit: updating to a obsolete commit prints warning message We move the inhibition marker in the same wlock than the update operation, this clears the warning message. To make it work we display the warning message on lock release in evolve.
Wed, 29 Apr 2015 15:12:17 -0700 evolve: stop conditional wrapping of _checkinvalidmarkers
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 15:12:17 -0700] rev 1302
evolve: stop conditional wrapping of _checkinvalidmarkers We support down to Mercurial 3.3, all such version have this function.
Wed, 29 Apr 2015 15:11:52 -0700 evolve: stop conditional wrapping of _getbundleobsmarkerpart
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 15:11:52 -0700] rev 1301
evolve: stop conditional wrapping of _getbundleobsmarkerpart We support down to Mercurial 3.3, all such version have this function.
Wed, 29 Apr 2015 15:11:07 -0700 evolve: stop conditional wrapping of _pushdiscoveryobsmarkers
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 15:11:07 -0700] rev 1300
evolve: stop conditional wrapping of _pushdiscoveryobsmarkers We support down to Mercurial 3.3, all such version have this function.
Wed, 29 Apr 2015 14:49:02 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 14:49:02 -0700] rev 1299
merge with stable
Wed, 29 Apr 2015 14:48:41 -0700 test-inhibit: test bookmark -D without prune enabled
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 14:48:41 -0700] rev 1298
test-inhibit: test bookmark -D without prune enabled The --config option were dropped for lack of documentation.
Wed, 29 Apr 2015 13:01:23 -0700 inhibit: fix devel warning
Laurent Charignon <lcharignon@fb.com> [Wed, 29 Apr 2015 13:01:23 -0700] rev 1297
inhibit: fix devel warning _inhibitmarkers was taking a transaction without the proper lock. Adding the lock removes the warnings.
Thu, 23 Apr 2015 17:45:46 -0700 evolve: add -i flag to amend command stable
Laurent Charignon <lcharignon@fb.com> [Thu, 23 Apr 2015 17:45:46 -0700] rev 1296
evolve: add -i flag to amend command The -i flag was missing because it is not a global flag of the commit command. We can't make it a global flag yet as it is used in many places where it would not be appropriate so we just add it for this occurrence. Also, we only want to add it when commit supports it (otherwise it wouldn't work with older versions of mercurial)
Wed, 29 Apr 2015 14:23:09 -0700 prune: prune fix transaction pattern
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 14:23:09 -0700] rev 1295
prune: prune fix transaction pattern I forgot to amend.
Tue, 07 Apr 2015 14:26:03 -0700 prune: fix pruning w/ bookmarks and inhibit
Durham Goode <durham@fb.com> [Tue, 07 Apr 2015 14:26:03 -0700] rev 1294
prune: fix pruning w/ bookmarks and inhibit Previously prune would create the obsolesence markers, then try to fix up the bookmarks. With inhibit enabled, the act of closing a transaction for the bookmark step caused it to unhide commits that were trying to be pruned. The fix is to put the whole thing in a transaction.
Tue, 07 Apr 2015 14:08:18 -0700 inhibit: remove book -D dependency on cmdprune
Durham Goode <durham@fb.com> [Tue, 07 Apr 2015 14:08:18 -0700] rev 1293
inhibit: remove book -D dependency on cmdprune Bookmark -D was relying on the prune command to be registered, which isn't the case if we've disabled evolve commands. Instead, let's just hard code the arguments. The real fix would be to abstract away the 'I want to prune commits' functionality in evolve to a reusable function, but this will do for now.
Mon, 06 Apr 2015 15:44:00 -0700 inhibit: wrap repo.commit to inhibit nodes
Durham Goode <durham@fb.com> [Mon, 06 Apr 2015 15:44:00 -0700] rev 1292
inhibit: wrap repo.commit to inhibit nodes Rebase was failing if you rebased a commit, stripped it, then rebased it again. This is because the node was still hidden and we needed repo.commit to uninhibit it.
Wed, 29 Apr 2015 11:42:06 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 11:42:06 -0700] rev 1291
merge with stable
Wed, 29 Apr 2015 10:36:43 -0700 tests: ensure we keep capturing output
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 10:36:43 -0700] rev 1290
tests: ensure we keep capturing output In 3.4, output capture with bundle2 is disabled by default on local push.
Wed, 29 Apr 2015 10:20:04 -0700 update readme stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 10:20:04 -0700] rev 1289
update readme Mentions greg ward work in documentation.
Thu, 23 Apr 2015 21:13:13 -0400 docs: format concepts guide better, with literal blocks stable
Greg Ward <greg@gerg.ca> [Thu, 23 Apr 2015 21:13:13 -0400] rev 1288
docs: format concepts guide better, with literal blocks
Thu, 23 Apr 2015 21:05:54 -0400 docs: fix slightly unconventional .rst markup stable
Greg Ward <greg@gerg.ca> [Thu, 23 Apr 2015 21:05:54 -0400] rev 1287
docs: fix slightly unconventional .rst markup
Thu, 23 Apr 2015 09:03:08 -0400 docs: remove unused/obsolete figures stable
Greg Ward <greg@gerg.ca> [Thu, 23 Apr 2015 09:03:08 -0400] rev 1286
docs: remove unused/obsolete figures
Thu, 23 Apr 2015 21:08:33 -0400 docs: remove obsolete documentation stable
Greg Ward <greg@gerg.ca> [Thu, 23 Apr 2015 21:08:33 -0400] rev 1285
docs: remove obsolete documentation evolve-collaboration.rst replaced by sharing.rst instability.rst introduction to the concept for Mercurial developers -- no longer needed since most are now convinced obs-concept.rst largely replaced by the user guide obs-implementation.rst more for Mercurial developers; the source code is probably more accurate and up-to-date qsync.rst the extension this referred to no longer exists This fixes several more sphinx warnings. I've left some other old docs around, because they still have useful content that needs to be adapted and updated.
Thu, 23 Apr 2015 08:35:38 -0400 docs: add a table of contents stable
Greg Ward <greg@gerg.ca> [Thu, 23 Apr 2015 08:35:38 -0400] rev 1284
docs: add a table of contents This silences many sphinx warnings about documents not included in any toctree. Still need to delete obsolete .rst files to silence the rest of the warnings.
Thu, 23 Apr 2015 03:18:30 +0200 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 23 Apr 2015 03:18:30 +0200] rev 1283
merge with stable
Thu, 23 Apr 2015 03:15:38 +0200 Added tag 5.1.4 for changeset 891c3ce894fa stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 23 Apr 2015 03:15:38 +0200] rev 1282
Added tag 5.1.4 for changeset 891c3ce894fa
Thu, 23 Apr 2015 03:15:20 +0200 prepare release 5.1.4 stable 5.1.4
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 23 Apr 2015 03:15:20 +0200] rev 1281
prepare release 5.1.4
Thu, 23 Apr 2015 03:10:11 +0200 evolve: drop unused 'urllib' import stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 23 Apr 2015 03:10:11 +0200] rev 1280
evolve: drop unused 'urllib' import
Wed, 22 Apr 2015 14:30:23 +0200 debugobsrelsethashtree: get the command to work again stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Apr 2015 14:30:23 +0200] rev 1279
debugobsrelsethashtree: get the command to work again The command was untested and became broken when we introduced the new discovery hashing.
Tue, 21 Apr 2015 16:52:08 +0200 getbundleobsmarker: prevent crash from filtered content (issue4616) stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 21 Apr 2015 16:52:08 +0200] rev 1278
getbundleobsmarker: prevent crash from filtered content (issue4616) The discovery may discover common markers on non-served nodes. This lead to crash when building the obsmarker part.
Tue, 21 Apr 2015 17:37:19 +0200 test-wireproto: add some obsmarker discovery usage. stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 21 Apr 2015 17:37:19 +0200] rev 1277
test-wireproto: add some obsmarker discovery usage. The old code was never checking that the discovery were skipping common markers. This is now done.
Tue, 21 Apr 2015 17:37:59 +0200 test-wireprotocol: test with both bundle1 and bundle2 stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 21 Apr 2015 17:37:59 +0200] rev 1276
test-wireprotocol: test with both bundle1 and bundle2 Bundle two is becoming the major way of exchanging things now. We duplicate the test and ensure the default version runs using bundle2.
Mon, 20 Apr 2015 14:45:50 +0200 Update debian packaging for 5.1.3 stable
Julien Cristau <julien.cristau@logilab.fr> [Mon, 20 Apr 2015 14:45:50 +0200] rev 1275
Update debian packaging for 5.1.3
Wed, 19 Nov 2014 01:04:44 +0000 Update debian packaging for 5.0.0 stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 19 Nov 2014 01:04:44 +0000] rev 1274
Update debian packaging for 5.0.0
Sat, 11 Apr 2015 10:15:16 -0400 create 3.1 compatibility branch mercurial-3.1
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 11 Apr 2015 10:15:16 -0400] rev 1273
create 3.1 compatibility branch The next changeset drop 3.1 compatibility.
Mon, 20 Apr 2015 14:21:38 +0200 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 14:21:38 +0200] rev 1272
merge with stable
Mon, 20 Apr 2015 14:20:03 +0200 Add "documentation update" to the changelog. stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 14:20:03 +0200] rev 1271
Add "documentation update" to the changelog.
Tue, 14 Apr 2015 12:01:05 -0400 docs: cover 'touch' command stable
Greg Ward <greg@gerg.ca> [Tue, 14 Apr 2015 12:01:05 -0400] rev 1270
docs: cover 'touch' command
Mon, 13 Apr 2015 15:18:01 -0400 docs: explain that obsolete is not hidden stable
Greg Ward <greg@gerg.ca> [Mon, 13 Apr 2015 15:18:01 -0400] rev 1269
docs: explain that obsolete is not hidden
Mon, 13 Apr 2015 15:09:55 -0400 docs: explain --hidden option stable
Greg Ward <greg@gerg.ca> [Mon, 13 Apr 2015 15:09:55 -0400] rev 1268
docs: explain --hidden option Also move the discussion of revision numbers up, and splice the explanation of --hidden into it.
(0) -1000 -120 +120 +1000 +3000 tip