Mon, 30 Nov 2015 16:48:40 -0800 inhibit: make rebase see obsolescence even for visible nodes
Laurent Charignon <lcharignon@fb.com> [Mon, 30 Nov 2015 16:48:40 -0800] rev 1542
inhibit: make rebase see obsolescence even for visible nodes Rebase changed recently to take advantage of obsolescence markers to reduce the number of conflicts to resolve. Inhibit users were unable to leverage this new feature because none of their visible nodes could be obsolete. This patch makes the nodes that would be obsolete without inhibit, actually obsolete for the duration of the rebase to take advantage of the feature mentioned before.
Tue, 24 Nov 2015 17:16:27 -0800 inhibit: remove unused bookmark operation wrapping
Laurent Charignon <lcharignon@fb.com> [Tue, 24 Nov 2015 17:16:27 -0800] rev 1541
inhibit: remove unused bookmark operation wrapping Before this patch, inhibit was wrapping bookmarks.write and bookmarks.recordchange. Since all the usage of bookmarks.write are not replaced by bookmarks.recordchange all bookmarks operation happen in a transaction. Inhibit already wraps the transaction mechanism to make sure that no revision can end up being obsolete and visible. This makes the wrapping of bookmarks.write superfluous. Wrapping bookmarks.recordchange was wrong in the first place and redundant with wrapping transactions.
Tue, 01 Dec 2015 10:25:38 -0800 inhibit: update test with new behavior from core
Laurent Charignon <lcharignon@fb.com> [Tue, 01 Dec 2015 10:25:38 -0800] rev 1540
inhibit: update test with new behavior from core The recent changes in core (to make sure that all bookmarks write are done at the end of a transaction) changed the behavior of inhibit. When one rebases a set of hidden revs somewhere, the hidden revs become visible at the end of the rebase. Both the previous behavior and new behavior seems acceptable but the tests have to be changed subsequently. This patch modifies one of the test for inhibit when the case mentioned above happens. We prune the revs inhibited by the rebase to make the change minimal.
Thu, 19 Nov 2015 10:47:32 -0800 inhibit: remove unused import
Laurent Charignon <lcharignon@fb.com> [Thu, 19 Nov 2015 10:47:32 -0800] rev 1539
inhibit: remove unused import The error module from mercurial was imported but unused in the inhibit code.
Fri, 20 Nov 2015 10:30:42 -0800 inhibit: improve handling of error cases for bookmark -D
Laurent Charignon <lcharignon@fb.com> [Fri, 20 Nov 2015 10:30:42 -0800] rev 1538
inhibit: improve handling of error cases for bookmark -D Before this patch bookmark -D was crashing in some cases like: hg book -Dmaster-fix. This was because -m is a valid option for hg bookmark. This patch disallows using -m with -D (moving and pruning does not make much sense) and throws an error instead of crashing if the command is malformed.
Wed, 18 Nov 2015 13:47:26 -0800 directaccess: fix case of shortened hash containing only digits
Laurent Charignon <lcharignon@fb.com> [Wed, 18 Nov 2015 13:47:26 -0800] rev 1537
directaccess: fix case of shortened hash containing only digits For directaccess, there are four cases for what looks like short hashes made of digits only: 1 | the hash is a revision number and not a short hash for another revision: we don't change the visibility 2 | the hash is a revision number and a short hash for another revision: we don't change the visibility 3 | the hash is not a revision number and not a short hash for another revision: we don't change the visibility 4 | the hash is not a revision number but is a short hash for another revision: we make it visible Before the patch we were not lifting visibility in case number 4. This patch fixes the issue.
Tue, 17 Nov 2015 17:06:07 -0800 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com> [Tue, 17 Nov 2015 17:06:07 -0800] rev 1536
evolve: evolve --divergent failed when merge had nothing to do (issue4950) Before this patch, if the divergence resolution lead to an empty commit, the transaction would be rolled back and the divergence not resolved. This patch allows empty commits in that case. It is legitimate to end up with an empty commit in that case, for example when divergent commits differ over their commit messages.
Tue, 17 Nov 2015 20:25:15 -0800 inhibit: use dirty revset trick to speedup the inhibit search space.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 17 Nov 2015 20:25:15 -0800] rev 1535
inhibit: use dirty revset trick to speedup the inhibit search space. See documentation for details. I'm a bit sad about this changesets.
Tue, 17 Nov 2015 20:19:32 -0800 inhibit: use 'repo.revs' instead of 'repo.set'
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 17 Nov 2015 20:19:32 -0800] rev 1534
inhibit: use 'repo.revs' instead of 'repo.set' This skip the creation of a changectx object.
Tue, 17 Nov 2015 22:43:17 -0800 _inhibitmarkers: turn the result from generator into a list
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 17 Nov 2015 22:43:17 -0800] rev 1533
_inhibitmarkers: turn the result from generator into a list A generator object is always True, we have to turn it into a list in order to be able to use it in the tests. Before this patch we were rewriting the 'obsinhibit' file all the time, this had a performance impact especially on repository where transaction are expensive (hooks, cache invalidation, etc). Writing this file less often have a minor effect on test where a stripped changeset does not get removed from the obsinhibit file is still inhibited when unbundled back. I think this is fine and I'm moving forward.
Fri, 06 Nov 2015 21:37:38 -0500 split: drop the experimental flag
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 21:37:38 -0500] rev 1532
split: drop the experimental flag I've been using it without issue for some time. The only blocker in my mind was the lack of commit message preservation and this is now fixed.
Fri, 06 Nov 2015 21:34:24 -0500 split: preserve original changesets description
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 21:34:24 -0500] rev 1531
split: preserve original changesets description Losing the description on split is to much an issue, we offer the original description to edition for every part of the split.
Fri, 06 Nov 2015 21:15:15 -0500 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 21:15:15 -0500] rev 1530
merge with stable
Fri, 06 Nov 2015 21:14:35 -0500 readme: updateing changelog stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 21:14:35 -0500] rev 1529
readme: updateing changelog We forgot a couple of recent improvement.
Fri, 06 Nov 2015 15:04:45 -0500 evolve: rewrite command help (evolve command only) stable
Greg Ward <greg@gerg.ca> [Fri, 06 Nov 2015 15:04:45 -0500] rev 1528
evolve: rewrite command help (evolve command only)
Fri, 06 Nov 2015 18:37:16 -0500 parents: avoid locking the repository during 'hg parents' stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 18:37:16 -0500] rev 1527
parents: avoid locking the repository during 'hg parents' The wrapping code was initially written for update and pull who need the lock anyway. We duplicated the logic in the parent case to remove the need for locking.
Fri, 06 Nov 2015 18:02:05 -0500 README: update instructions for running tests. stable
Greg Ward <greg@gerg.ca> [Fri, 06 Nov 2015 18:02:05 -0500] rev 1526
README: update instructions for running tests.
Mon, 02 Nov 2015 11:08:32 +0000 tests: remove the custom run-tests.py
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 11:08:32 +0000] rev 1525
tests: remove the custom run-tests.py This test-runners is a copy from the Mercurial one and slowly drift out of sync. Use the Mercurial's core test runners instead.
Mon, 02 Nov 2015 11:07:34 +0000 make: clean test related target
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 11:07:34 +0000] rev 1524
make: clean test related target We removed the runner, so they are broken. We can reintroduce them later with proper data to fetch an official 'run-tests.py' runner.
Mon, 02 Nov 2015 11:05:28 +0000 test: use 'dummyssh' from the run-tests directory
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 11:05:28 +0000] rev 1523
test: use 'dummyssh' from the run-tests directory This is a step toward not shipping our own test runners and relying on the official Mercurial one.
Mon, 02 Nov 2015 11:04:44 +0000 test: use 'killdaemons.py' from the run-tests directory
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 11:04:44 +0000] rev 1522
test: use 'killdaemons.py' from the run-tests directory This is a step toward not shipping our own test runners and relying on the official Mercurial one.
Mon, 02 Nov 2015 00:39:40 +0000 merge back with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 00:39:40 +0000] rev 1521
merge back with stable
Mon, 02 Nov 2015 00:39:23 +0000 Added tag 5.2.1 for changeset c15d6168412f stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 00:39:23 +0000] rev 1520
Added tag 5.2.1 for changeset c15d6168412f
Mon, 02 Nov 2015 00:39:06 +0000 prepare version 5.1.2 stable 5.2.1
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 00:39:06 +0000] rev 1519
prepare version 5.1.2
Mon, 02 Nov 2015 00:38:18 +0000 merge with default stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 00:38:18 +0000] rev 1518
merge with default there is some 3.6 related fix and test change that we need on default. No other significant change happened since last release expect for split, still marked experimental. So we prepare for a bugfix release.
Mon, 02 Nov 2015 00:32:44 +0000 split: mark the command as experimental
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 00:32:44 +0000] rev 1517
split: mark the command as experimental It has a bit too many rough edge for now.
Fri, 30 Oct 2015 15:48:13 +0000 tests: run test with 3.6 and apply test change
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Oct 2015 15:48:13 +0000] rev 1516
tests: run test with 3.6 and apply test change Tested with 3.4, 3.5 and 3.6. Some minor test update had to be done.
Fri, 30 Oct 2015 16:04:37 +0000 prune: have dirstate collaborate with transaction
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Oct 2015 16:04:37 +0000] rev 1515
prune: have dirstate collaborate with transaction With 3.6, dirstate update can work with transaction to ensure proper rollback. We do it if the mercurial version permit it.
Fri, 30 Oct 2015 16:04:19 +0000 evolve: have dirstate collaborate with transaction
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Oct 2015 16:04:19 +0000] rev 1514
evolve: have dirstate collaborate with transaction With 3.6, dirstate update can work with transaction to ensure proper rollback. We do it if the mercurial version permit it.
Fri, 09 Oct 2015 16:21:30 -0700 prune: reuse revset from repair instead of copy-pasting code
Ryan McElroy <rmcelroy@fb.com> [Fri, 09 Oct 2015 16:21:30 -0700] rev 1513
prune: reuse revset from repair instead of copy-pasting code
Mon, 12 Oct 2015 01:23:59 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 12 Oct 2015 01:23:59 -0700] rev 1512
merge with stable
Mon, 12 Oct 2015 01:22:41 -0700 evolve: compatibility with coming 3.6 stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 12 Oct 2015 01:22:41 -0700] rev 1511
evolve: compatibility with coming 3.6 Some function in the import stack changed, we have to adapt.
Tue, 29 Sep 2015 15:40:28 -0400 evolve: be more complete about copying extra from old revisions
Augie Fackler <raf@durin42.com> [Tue, 29 Sep 2015 15:40:28 -0400] rev 1510
evolve: be more complete about copying extra from old revisions For 'hg evolve' we want to copy all extra-level metadata except for branch. This keeps the experimental topics extension from getting obliterated by evolve runs. Many hashes in tests changed due to some extra data coming along for the ride in various places, but no functionality that was tested. It's plausible that this copies too much metadata - maybe we should be dropping rebase_src or convert_revision as well. Right now no tools do that, so I'm biasing towards preserving everything except branch when copying metadata for now.
Wed, 30 Sep 2015 23:33:00 +0900 evolve: ignore ui argument passed to help loader
Yuya Nishihara <yuya@tcha.org> [Wed, 30 Sep 2015 23:33:00 +0900] rev 1509
evolve: ignore ui argument passed to help loader The API changed at Mercurial e0c572d4d112.
Tue, 29 Sep 2015 09:47:10 -0700 directaccess: inspect trees of len() > 3
Durham Goode <durham@fb.com> [Tue, 29 Sep 2015 09:47:10 -0700] rev 1508
directaccess: inspect trees of len() > 3 Previously, when inspecting revset AST's we'd only traverse down the tree if it was length 3 ([op, left, right]). In some situations, like 'or' the tree node will be greater than length 3 ([op, first, second, ..., nth]). So we need to traverse all the parts of the node to catch all the symbols.
Mon, 21 Sep 2015 22:30:44 +0900 debugobsconvert: make sure obsstore is loaded before version comparison
Yuya Nishihara <yuya@tcha.org> [Mon, 21 Sep 2015 22:30:44 +0900] rev 1507
debugobsconvert: make sure obsstore is loaded before version comparison hg 44918682093f delays loading obsstore, so we have to access _all to get the correct store version.
Wed, 16 Sep 2015 16:50:06 -0700 evolve: use repo._bookmarks.recordchange instead of repo._bookmarks.write
Laurent Charignon <lcharignon@fb.com> [Wed, 16 Sep 2015 16:50:06 -0700] rev 1506
evolve: use repo._bookmarks.recordchange instead of repo._bookmarks.write We want to get rid of the api repo._bookmarks.write and this patch removes its use in evolve.py. Before this patch, we were using repo._bookmarks.write to save bookmarks change immediately instead of repo._bookmarks.recordchange that write change when transaction ends.
Wed, 16 Sep 2015 17:12:38 -0700 evolve: indentation change for making next patch more legible
Laurent Charignon <lcharignon@fb.com> [Wed, 16 Sep 2015 17:12:38 -0700] rev 1505
evolve: indentation change for making next patch more legible In the next patch: "evolve: use repo._bookmarks.recordchange instead of repo._bookmarks.write" we need to add a transaction in the rewrite function. To do so adds an indentation level and makes the patch harder to review. This patch makes the indentation change so that the next patch is easier to review.
Mon, 14 Sep 2015 13:52:34 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Sep 2015 13:52:34 -0700] rev 1504
merge with stable
Mon, 14 Sep 2015 13:48:34 -0700 next/prev: properly lock repo before touching bookmarks stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Sep 2015 13:48:34 -0700] rev 1503
next/prev: properly lock repo before touching bookmarks
Mon, 14 Sep 2015 13:48:34 -0700 next/prev: properly lock repo before touching bookmarks
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Sep 2015 13:48:34 -0700] rev 1502
next/prev: properly lock repo before touching bookmarks
Mon, 14 Sep 2015 13:23:43 -0700 prune: ensure we prune bookmarks in a transaction stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Sep 2015 13:23:43 -0700] rev 1501
prune: ensure we prune bookmarks in a transaction
Thu, 10 Sep 2015 16:24:50 -0400 next: add support for --dry-run
timeless@mozdev.org [Thu, 10 Sep 2015 16:24:50 -0400] rev 1500
next: add support for --dry-run also adds support to prev
Wed, 09 Sep 2015 22:25:37 -0400 evolve: spelling uncommitted
timeless@mozdev.org [Wed, 09 Sep 2015 22:25:37 -0400] rev 1499
evolve: spelling uncommitted
Wed, 09 Sep 2015 22:23:48 -0400 evolve: annotate translatable strings with _()
timeless@mozdev.org [Wed, 09 Sep 2015 22:23:48 -0400] rev 1498
evolve: annotate translatable strings with _()
Wed, 09 Sep 2015 22:22:01 -0400 evolve: do not capitalize description of next/previous
timeless@mozdev.org [Wed, 09 Sep 2015 22:22:01 -0400] rev 1497
evolve: do not capitalize description of next/previous
Wed, 09 Sep 2015 22:13:11 -0400 evolve: _() should not contain %
timeless@mozdev.org [Wed, 09 Sep 2015 22:13:11 -0400] rev 1496
evolve: _() should not contain %
Wed, 09 Sep 2015 19:43:24 -0400 evolve: add progress for _obsrelsethashtree
timeless@mozdev.org [Wed, 09 Sep 2015 19:43:24 -0400] rev 1495
evolve: add progress for _obsrelsethashtree
Wed, 09 Sep 2015 19:43:14 -0400 evolve: add progress for the obsmarkers discovery parts
timeless@mozdev.org [Wed, 09 Sep 2015 19:43:14 -0400] rev 1494
evolve: add progress for the obsmarkers discovery parts
Wed, 09 Sep 2015 19:40:54 -0400 test-obsolete: clarify divergence detection output order
timeless@mozdev.org [Wed, 09 Sep 2015 19:40:54 -0400] rev 1493
test-obsolete: clarify divergence detection output order
Mon, 17 Aug 2015 17:01:38 -0700 directaccesss: also look for symbol into list
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 17 Aug 2015 17:01:38 -0700] rev 1492
directaccesss: also look for symbol into list revrange is now much smarted and optimise multiple simple symbol (like hash) into an efficient '_list' call. So we need to look into these to find user provided input too.
Wed, 12 Aug 2015 20:38:39 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 12 Aug 2015 20:38:39 -0700] rev 1491
merge with stable
Wed, 12 Aug 2015 10:51:20 -0700 inhibit: fix inhibit working with non-inhibit repos stable
Durham Goode <durham@fb.com> [Wed, 12 Aug 2015 10:51:20 -0700] rev 1490
inhibit: fix inhibit working with non-inhibit repos Inhibit was breaking when two repos were in memory, but one was not an inhibit repo (like when doing a local pull between two repos). The fix is to add inhibitenabled checks to all the places where inhibit does global wrapping of commands (every code path from the extsetup wrappers).
Wed, 12 Aug 2015 16:08:05 -0700 directaccess: don't try to partialmatch things that aren't hashes stable
Siddharth Agarwal <sid0@fb.com> [Wed, 12 Aug 2015 16:08:05 -0700] rev 1489
directaccess: don't try to partialmatch things that aren't hashes Trying to partialmatch identifiers like '.' turns out to be (a) pointless and (b) extremely slow. On a repo with a million commits, with directaccess enabled, hg log -r .^::. goes from 2.1 seconds to 0.5.
Mon, 10 Aug 2015 00:44:53 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Aug 2015 00:44:53 -0700] rev 1488
merge with stable
Mon, 10 Aug 2015 00:41:18 -0700 next: properly report no children when --evolve is used stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Aug 2015 00:41:18 -0700] rev 1487
next: properly report no children when --evolve is used If no aspiring children exist, 'hg next --evolve' should properly issue an error message instead of crashing.
Mon, 10 Aug 2015 00:24:15 -0700 inhibit: do not search for visible obsolete changeset during stripping stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Aug 2015 00:24:15 -0700] rev 1486
inhibit: do not search for visible obsolete changeset during stripping Stripping use transaction in an unorthodox way. We should not run the inhibit postclose hooks as it can lead to crash.
Sat, 08 Aug 2015 12:42:57 -0700 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com> [Sat, 08 Aug 2015 12:42:57 -0700] rev 1485
split: handle bookmarks instead of leaving them on precursor Before this patch we were leaving the bookmarks on the precursor of the split instead of moving them on the tip of the split chain. We add a test to verify the behavior.
Sat, 08 Aug 2015 12:45:36 -0700 split: don't update before it is actually needed
Laurent Charignon <lcharignon@fb.com> [Sat, 08 Aug 2015 12:45:36 -0700] rev 1484
split: don't update before it is actually needed Before this patch, we were updating the working copy parent needlessly and before the error checking. This patch fixes the issue.
Sat, 08 Aug 2015 12:16:55 -0700 split: add more output to the test
Laurent Charignon <lcharignon@fb.com> [Sat, 08 Aug 2015 12:16:55 -0700] rev 1483
split: add more output to the test Before this patch, we were not displaying the final graph resulting from the tests but just the obsolscencence markers. This patch adds more output to the test to make it more descriptive.
Sat, 08 Aug 2015 12:12:16 -0700 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com> [Sat, 08 Aug 2015 12:12:16 -0700] rev 1482
split: fix commit message numbering error in the test Before this patch, the test was wrong and the successors of a splitted commits all had the same commit messages. This patch makes the test right making sure that the numbering of the split successors is accurate.
Wed, 24 Jun 2015 16:27:36 -0700 evolve: handle split commit for instability
Laurent Charignon <lcharignon@fb.com> [Wed, 24 Jun 2015 16:27:36 -0700] rev 1481
evolve: handle split commit for instability
Fri, 07 Aug 2015 13:59:19 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 07 Aug 2015 13:59:19 -0700] rev 1480
merge with stable
Fri, 07 Aug 2015 11:39:51 -0700 evolve: add test for instability stable
Laurent Charignon <lcharignon@fb.com> [Fri, 07 Aug 2015 11:39:51 -0700] rev 1479
evolve: add test for instability
Thu, 18 Jun 2015 16:48:53 -0700 evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com> [Thu, 18 Jun 2015 16:48:53 -0700] rev 1478
evolve: add a command to split commits Before this patch, to split commit one had to use prune. This patch adds a new command called split that prompts the user interactively to split a given changeset with record/crecord.
Mon, 03 Aug 2015 11:29:27 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Aug 2015 11:29:27 -0700] rev 1477
merge with stable
Sat, 01 Aug 2015 22:16:26 -0400 test-inhibit: simplify push destinations for Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 01 Aug 2015 22:16:26 -0400] rev 1476
test-inhibit: simplify push destinations for Windows This was aborting because $pwd is expanding to 'C:/path/to/tests': - pushing to file://$TESTTMP/inhibit2 - abort: hidden revision '003a4735afde'! - (use --hidden to access hidden revisions) + abort: file:// URLs can only refer to localhost
Sat, 01 Aug 2015 21:54:00 -0400 test-sharing: fix globs for Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 01 Aug 2015 21:54:00 -0400] rev 1475
test-sharing: fix globs for Windows
Wed, 29 Jul 2015 09:55:50 -0700 inhibit: don't abort when directaccess is not enabled
Laurent Charignon <lcharignon@fb.com> [Wed, 29 Jul 2015 09:55:50 -0700] rev 1474
inhibit: don't abort when directaccess is not enabled When directaccess is not enabled, we should just print a warning and not set up inhibit. We don't need to abort in that case. Example: if the user is running hg showconfig, we don't want to crash as the command is unrelated to inhibit.
Fri, 10 Jul 2015 22:58:13 +0100 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 10 Jul 2015 22:58:13 +0100] rev 1473
merge with stable
Thu, 09 Jul 2015 12:42:07 -0700 inhibit: add missing locking in wrapper for obsmarker creation stable
Laurent Charignon <lcharignon@fb.com> [Thu, 09 Jul 2015 12:42:07 -0700] rev 1472
inhibit: add missing locking in wrapper for obsmarker creation The develwarning for transaction without lock rightfully pointed out to this issue. Before this patch we were not locking in the transaction for obsmarker creation and therefore showing the warnings.
Thu, 25 Jun 2015 13:33:50 -0700 evolve: (issue4386) cleanup, split, fold and bijection in `hg prune`
Laurent Charignon <lcharignon@fb.com> [Thu, 25 Jun 2015 13:33:50 -0700] rev 1471
evolve: (issue4386) cleanup, split, fold and bijection in `hg prune` Before this patch, the prune command was splitting and folding implicitely based on the number of successors and precursors. This patch makes the two behavior explicit by requesting a flag to perform a split or a fold.
Tue, 30 Jun 2015 18:32:12 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 30 Jun 2015 18:32:12 -0700] rev 1470
merge with stable
Fri, 26 Jun 2015 22:26:48 +0200 evolve: fix typo in fold docstring stable
André Sintzoff <andre.sintzoff@gmail.com> [Fri, 26 Jun 2015 22:26:48 +0200] rev 1469
evolve: fix typo in fold docstring
Fri, 26 Jun 2015 22:25:57 +0200 evolve: remove trailing spaces stable
André Sintzoff <andre.sintzoff@gmail.com> [Fri, 26 Jun 2015 22:25:57 +0200] rev 1468
evolve: remove trailing spaces
Wed, 24 Jun 2015 16:54:23 -0700 evolve: dedupe divergents when running evolve --all --any or evolve --rev stable
Laurent Charignon <lcharignon@fb.com> [Wed, 24 Jun 2015 16:54:23 -0700] rev 1467
evolve: dedupe divergents when running evolve --all --any or evolve --rev Before this patch, when running evolve --all --any or evolve --rev with the --divergent flag, we were selecting all of the divergents. After solving the first one, its counterparts would get pruned and potentially hidden which would crash when trying to resolve them. This patch introduces logic to dedupe the divergents to be resolved by keeping only one per group of divergent with the lower revision number.
Wed, 24 Jun 2015 16:38:24 -0700 evolve: remove unused warning message in _solvedivergent stable
Laurent Charignon <lcharignon@fb.com> [Wed, 24 Jun 2015 16:38:24 -0700] rev 1466
evolve: remove unused warning message in _solvedivergent Before this patch, we were checking for a case where a divergent changeset could be public and printing a warning in that case. When we compute the divergent set in the obsolete module we explicitely look for not public() changesets. This patch removes this unused warning.
Mon, 29 Jun 2015 02:30:27 -0700 compat: use svfs instead of sopener stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 29 Jun 2015 02:30:27 -0700] rev 1465
compat: use svfs instead of sopener The "new" attribute is about 2 years old so let's move on.
Fri, 26 Jun 2015 00:59:22 -0700 fold: avoid using x:y in the help stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:59:22 -0700] rev 1464
fold: avoid using x:y in the help Suggesting "x:y" is a bad idea because x:y is a very deceptive revset.
Thu, 25 Jun 2015 09:53:53 -0700 evolve: improve the help of the fold command stable
Laurent Charignon <lcharignon@fb.com> [Thu, 25 Jun 2015 09:53:53 -0700] rev 1463
evolve: improve the help of the fold command The help of the fold command needed a little rework. This patch makes it a little less verbose and adds an example. It also highlights a little more the importance of the --exact flag.
Fri, 26 Jun 2015 00:07:13 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:07:13 -0700] rev 1462
merge with stable
Fri, 26 Jun 2015 00:05:37 -0700 Added tag 5.2.0 for changeset 44a9dcb3fefc stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:05:37 -0700] rev 1461
Added tag 5.2.0 for changeset 44a9dcb3fefc
Fri, 26 Jun 2015 00:05:25 -0700 merge with 3.3 stable 5.2.0
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:05:25 -0700] rev 1460
merge with 3.3
Fri, 26 Jun 2015 00:04:38 -0700 fix version number mercurial-3.3
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:04:38 -0700] rev 1459
fix version number
Fri, 26 Jun 2015 00:04:22 -0700 fix debian changelog mercurial-3.3
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:04:22 -0700] rev 1458
fix debian changelog
Thu, 25 Jun 2015 17:46:24 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:46:24 -0700] rev 1457
merge with stable
Thu, 25 Jun 2015 17:45:25 -0700 Added tag 5.2.0 for changeset 00026533ff9f stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:45:25 -0700] rev 1456
Added tag 5.2.0 for changeset 00026533ff9f
Thu, 25 Jun 2015 17:43:10 -0700 merge with preparation for version 5.2.0 stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:43:10 -0700] rev 1455
merge with preparation for version 5.2.0
Thu, 25 Jun 2015 17:42:07 -0700 prepare version 5.2 mercurial-3.3
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:42:07 -0700] rev 1454
prepare version 5.2
Thu, 25 Jun 2015 17:38:40 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:38:40 -0700] rev 1453
merge with stable (restore test for Mercurial default branch
Thu, 25 Jun 2015 17:37:43 -0700 merge back with 3.3 compat branch stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:37:43 -0700] rev 1452
merge back with 3.3 compat branch
Thu, 25 Jun 2015 17:22:17 -0700 tests: adapt the test for Mercurial 3.3 mercurial-3.3
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:22:17 -0700] rev 1451
tests: adapt the test for Mercurial 3.3 Some fix in the obsolete parent directory warning where also necessary.
Thu, 25 Jun 2015 16:55:27 -0700 merge with stable stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 16:55:27 -0700] rev 1450
merge with stable Test are updated to run with current mercurial stable (3.4.1)
Wed, 24 Jun 2015 20:06:45 -0700 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 24 Jun 2015 20:06:45 -0700] rev 1449
next: add a --evolve option When on a topological head, this option will trigger the evolution of a unstable changeset that will result in a children of the current working copy parent. This should ease stacked changesets workflow by allowing to stick to prev and next to move through a stack of diff, evolving part of it on demand when needed. In case of ambiguity, the command will ask the user to choose. We need a better definition of "the stack of changesets I'm working on" to be able to seamlessly handling branching.
Wed, 24 Jun 2015 19:42:01 -0700 next: print some message when on a head with some aspiring children
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 24 Jun 2015 19:42:01 -0700] rev 1448
next: print some message when on a head with some aspiring children Being on a head does not necessary means that this is the end of the road. It is likely that some changesets could be evolve as children. We detect this case and provide a hint.
Wed, 24 Jun 2015 20:23:41 -0700 next: reword error output
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 24 Jun 2015 20:23:41 -0700] rev 1447
next: reword error output We move to a more compact and direct phrasing. I'm not fully happy about it yet, but this is a step forward. The listing of candidate should maybe be moved behind a --verbose flag (and such verbose flag be suggested in the error). G: changed tests/test-prev-next.t
Wed, 24 Jun 2015 20:17:57 -0700 next: refactor the command code
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 24 Jun 2015 20:17:57 -0700] rev 1446
next: refactor the command code We make the conditional flatter and the return more straight forward. This will make addition of more complex cases more straightforward in future changesets.
Wed, 24 Jun 2015 21:16:57 -0700 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 24 Jun 2015 21:16:57 -0700] rev 1445
next: add extensive testing to the 'next' command We are going to introduce more complexity to it. We add the full extend of the case we want tested to see how they evolve later.
Wed, 24 Jun 2015 19:43:35 -0700 readme: add an entry about the obsolete wdir parent hint
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 24 Jun 2015 19:43:35 -0700] rev 1444
readme: add an entry about the obsolete wdir parent hint
Wed, 24 Jun 2015 16:37:02 -0700 evolve: add a hint when the parent working copy become obsolete
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 24 Jun 2015 16:37:02 -0700] rev 1443
evolve: add a hint when the parent working copy become obsolete This should help people find the right commands to recover from this situation.
Tue, 23 Jun 2015 18:16:21 -0700 evolve: better error message when command is Ambiguous
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 18:16:21 -0700] rev 1442
evolve: better error message when command is Ambiguous Having more data help the user.
Wed, 20 May 2015 16:35:45 -0700 evolve: mechanism to load some commands selectively
Laurent Charignon <lcharignon@fb.com> [Wed, 20 May 2015 16:35:45 -0700] rev 1441
evolve: mechanism to load some commands selectively This patch introduces a new config option: experimental.evolutioncommands to load evolve's command selectively. It is part of a sequence of patches to make evolve's command respect the value of experimental.evolution. Once these commands are ready and actually respect the flag, they are safe to use and can be enabled with the mechanism developed in this patch.
Mon, 22 Jun 2015 17:46:32 -0700 evolve: clarify code in _singlesuccessor
Laurent Charignon <lcharignon@fb.com> [Mon, 22 Jun 2015 17:46:32 -0700] rev 1440
evolve: clarify code in _singlesuccessor Before this patch we were not very explicit with this while condition in _singlesuccessor. This patch makes it more legible.
Tue, 23 Jun 2015 16:50:39 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:50:39 -0700] rev 1439
merge with stable
Tue, 23 Jun 2015 16:50:06 -0700 merge with inactive compat branch stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:50:06 -0700] rev 1438
merge with inactive compat branch
Tue, 23 Jun 2015 16:49:53 -0700 merge with inactive compat branch stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:49:53 -0700] rev 1437
merge with inactive compat branch
Tue, 23 Jun 2015 16:49:24 -0700 close inactive compatibility branch mercurial-3.0
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:49:24 -0700] rev 1436
close inactive compatibility branch
Tue, 23 Jun 2015 16:47:47 -0700 close inactive compatibility branch compat-hg2.3
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:47:47 -0700] rev 1435
close inactive compatibility branch
Tue, 23 Jun 2015 16:47:24 -0700 merge with inactive compat branch stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:47:24 -0700] rev 1434
merge with inactive compat branch
Tue, 23 Jun 2015 16:47:08 -0700 merge with inactive compat branch stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:47:08 -0700] rev 1433
merge with inactive compat branch
Tue, 23 Jun 2015 16:46:54 -0700 merge with inactive compat branch stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:46:54 -0700] rev 1432
merge with inactive compat branch
Tue, 23 Jun 2015 16:45:55 -0700 close inactive compatibility branch mercurial-2.7
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:45:55 -0700] rev 1431
close inactive compatibility branch
Tue, 23 Jun 2015 16:45:47 -0700 close inactive compatibility branch compat-hg2.4
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:45:47 -0700] rev 1430
close inactive compatibility branch
Tue, 23 Jun 2015 16:45:22 -0700 close inactive compatibility branch mercurial-2.2
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:45:22 -0700] rev 1429
close inactive compatibility branch
Mon, 22 Jun 2015 12:44:21 -0700 evolve: raise MultipleSuccessorsError when computing dependency for split commits
Laurent Charignon <lcharignon@fb.com> [Mon, 22 Jun 2015 12:44:21 -0700] rev 1428
evolve: raise MultipleSuccessorsError when computing dependency for split commits We don't know how to handle dependency for split commits yet. When facing a splitted commit, instead of silently adding the first successor to the dependency list and fail later, we do nothing.
Tue, 23 Jun 2015 15:26:51 -0700 next/prev: require --merge to move with uncommitted changes
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 15:26:51 -0700] rev 1427
next/prev: require --merge to move with uncommitted changes This should previous common mistake.
Tue, 23 Jun 2015 15:32:47 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 15:32:47 -0700] rev 1426
merge with stable
Tue, 23 Jun 2015 15:32:15 -0700 Added tag 5.1.5 for changeset 1377f6a7f9ec stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 15:32:15 -0700] rev 1425
Added tag 5.1.5 for changeset 1377f6a7f9ec
Tue, 23 Jun 2015 15:30:35 -0700 prepare version 5.1.5 stable 5.1.5
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 15:30:35 -0700] rev 1424
prepare version 5.1.5
Tue, 23 Jun 2015 00:00:03 -0700 evolve: non recursive implementation for _aspiringdescendants
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 00:00:03 -0700] rev 1423
evolve: non recursive implementation for _aspiringdescendants We switch from a N squared recursive implementation for _aspiringdescendants to a more efficient algorithm in O(len(unstable)).
Mon, 22 Jun 2015 21:01:30 -0700 evolve: distinct between '--all' and '--all --any'
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 22 Jun 2015 21:01:30 -0700] rev 1422
evolve: distinct between '--all' and '--all --any' Before this patch, evolve --all implied evolve --all --any. With this patch evolve --all evolves all the aspiring descendants of the parent of the working copy. evolve --all --any does what evolve --all did before: evolving all the troubles in the repo. We add anew function _aspiringdescendant for this purpose
Tue, 23 Jun 2015 00:02:23 -0700 rework refactor _aspiringchildren by introducing _possibledestination
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 00:02:23 -0700] rev 1421
rework refactor _aspiringchildren by introducing _possibledestination This allows us to reuse some of the logic for evolve from _aspiringchildren for the new implementation of evolve --all. The logic is also better as some previously selected changesets may not actually evolve on the target, and some changesets that does not would not.
Mon, 22 Jun 2015 19:24:21 -0700 evolve: consider all potential candidates on bare evolve
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 22 Jun 2015 19:24:21 -0700] rev 1420
evolve: consider all potential candidates on bare evolve Instead of stopping at the first resolution, we returns all matches. If there is ambiguity, we abort. The function itself seems fairly flawed but will do the job in simple case.
Tue, 23 Jun 2015 13:20:00 -0700 evolve: fix an issue in the documentation of the evolve function
Laurent Charignon <lcharignon@fb.com> [Tue, 23 Jun 2015 13:20:00 -0700] rev 1419
evolve: fix an issue in the documentation of the evolve function hg evolve is solving troubles that will become children of the parent of the working copy and its descendant. This last part was omitted by mistake from the help message before.
Mon, 22 Jun 2015 12:41:32 -0700 evolve: fix error in builddependencies
Laurent Charignon <lcharignon@fb.com> [Mon, 22 Jun 2015 12:41:32 -0700] rev 1418
evolve: fix error in builddependencies When MultipleSuccessorsError was raised, we were still running the code below to add the dependency if succ was not None from a previous iteration. This bug was harmless because dependencies and rdependencies are sets but it makes the code clearer this way.
Fri, 19 Jun 2015 18:17:57 -0700 test-evolve-bumped: add new test case for merge
Laurent Charignon <lcharignon@fb.com> [Fri, 19 Jun 2015 18:17:57 -0700] rev 1417
test-evolve-bumped: add new test case for merge Before this patch we were not testing our warning message for bumped changesets that are the product of a merge. This patch adds a test case for that.
Fri, 19 Jun 2015 18:16:31 -0700 test-evolve-bumped: improve tests legibility
Laurent Charignon <lcharignon@fb.com> [Fri, 19 Jun 2015 18:16:31 -0700] rev 1416
test-evolve-bumped: improve tests legibility This patch introduces in test-evolve-bumped some of the test helpers that we use in other tests to make the code more legible.
Mon, 22 Jun 2015 15:04:54 -0700 evolve: drop len comparison in prune and fold
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 22 Jun 2015 15:04:54 -0700] rev 1415
evolve: drop len comparison in prune and fold Computing the length of a smartest may be significantly more expensive than computing it length.
Sat, 20 Jun 2015 02:04:37 -0700 evolve: add an help topic about evolution
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 20 Jun 2015 02:04:37 -0700] rev 1414
evolve: add an help topic about evolution The text is probably bad, but this have been laying around for quite sometime (with Mercurial core in mind) lets move forward and add this to evolve.
Fri, 19 Jun 2015 17:47:48 -0700 evolve: remove _picknexttroubled
Laurent Charignon <lcharignon@fb.com> [Fri, 19 Jun 2015 17:47:48 -0700] rev 1413
evolve: remove _picknexttroubled It was not used anymore
Fri, 19 Jun 2015 17:35:29 -0700 evolve: warn about every skipped evolution
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 17:35:29 -0700] rev 1412
evolve: warn about every skipped evolution When we could not evolve a revision, we used to silently ignore it. We now inform the user that we ignored something and tell him why (with more or less informative message).
Fri, 19 Jun 2015 17:03:40 -0700 evolve: some style fix
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 17:03:40 -0700] rev 1411
evolve: some style fix
Fri, 19 Jun 2015 14:26:33 -0700 evolve: unify revision handling and rework error message
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 14:26:33 -0700] rev 1410
evolve: unify revision handling and rework error message This changesets do a massive refactoring of the way evolve select changesets to be evolve. We now use a two stages approach: 1) read command line argument and produce a list of revision to evolve. 2) evolve all these revisions. This allow a much cleaner, robust and extensible code. In the process the error message issued when there is nothing to evolve have been updated to informs about other troubles in the repository and point at useful option to solve them. The 'update' case is handled independently at the start of the function.
Fri, 19 Jun 2015 14:32:54 -0700 evolve: move the 'update' if '.' is obsolete earlier
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 14:32:54 -0700] rev 1409
evolve: move the 'update' if '.' is obsolete earlier A big refactoring of the computation of the revision to evolve is coming. This case won't be handled by it, so we extract it earlier.
Tue, 16 Jun 2015 17:56:23 -0700 evolve: skip unstable changesets with multiple successorssets
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 17:56:23 -0700] rev 1408
evolve: skip unstable changesets with multiple successorssets We were previously crashing when encountering them, but we want to be able to solve the other solvable troubles instead of stopping right there.
Fri, 19 Jun 2015 14:18:45 -0700 evolve: allow multiple --rev argument
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 14:18:45 -0700] rev 1407
evolve: allow multiple --rev argument This is standard behavior for Mercurial commands.
Fri, 19 Jun 2015 16:49:59 -0700 test-evolve: fix tests failing on some platform
Laurent Charignon <lcharignon@fb.com> [Fri, 19 Jun 2015 16:49:59 -0700] rev 1406
test-evolve: fix tests failing on some platform We change from echo to printf to print newlines so that evolve's tests work cross-platforms.
Tue, 16 Jun 2015 16:58:38 -0700 evolve: prevent using --rev and --any together
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 16:58:38 -0700] rev 1405
evolve: prevent using --rev and --any together Before this patch it was possible to use evolve --rev --any and it meant evolve --rev. This patch throws an error when using evolve --rev --any.
Tue, 16 Jun 2015 15:14:37 -0700 evolve: add selector for trouble types
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 15:14:37 -0700] rev 1404
evolve: add selector for trouble types This patch adds command line flags to select the kind of troubles to solve. Before this patch evolve was solving any kind of troubled. With this patch evolve --all and evolve --rev can be configured to only solve only some type of troubles (divergent, bumped or unstable). To give this choice to the user we add three new command line flags to the evolve command: --bumped, --divergent and --unstable.
Fri, 19 Jun 2015 13:57:16 -0700 evolve: refresh the documentation
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 13:57:16 -0700] rev 1403
evolve: refresh the documentation Multiple behavior change are coming, a perfect timing to refresh the doc before we rework it more.
Tue, 16 Jun 2015 15:08:44 -0700 evolve: check for uncommited change earlier
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 15:08:44 -0700] rev 1402
evolve: check for uncommited change earlier Before this patch we were checking for uncommited change multiple times and quite late for uncommited change. This patch moves the check at the beginning of the evolve method to avoid these shortcomings.
Fri, 19 Jun 2015 12:39:15 -0700 merge with some old heads stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 12:39:15 -0700] rev 1401
merge with some old heads
Mon, 16 Jun 2014 14:31:49 -0700 merge with some older backport stable
Pierre-Yves David <pyd@fb.com> [Mon, 16 Jun 2014 14:31:49 -0700] rev 1400
merge with some older backport
Thu, 12 Jun 2014 16:10:01 -0700 template: add a troubles keyword stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 12 Jun 2014 16:10:01 -0700] rev 1399
template: add a troubles keyword This keyword list all evolution troubles that affect a changeset. Evolution troubles can be "unstable", "divergent" and "bumped".
Fri, 19 Jun 2015 11:04:18 -0700 evolve: make fold aware of allowunstable
Laurent Charignon <lcharignon@fb.com> [Fri, 19 Jun 2015 11:04:18 -0700] rev 1398
evolve: make fold aware of allowunstable Before this patch, the fold command was performing the same way regardless of the value of experimental.evolution. With this patch if the configuration does not allow unstability, fold won't create instability.
Fri, 19 Jun 2015 11:03:51 -0700 evolve: make prune respect allowunsable
Laurent Charignon <lcharignon@fb.com> [Fri, 19 Jun 2015 11:03:51 -0700] rev 1397
evolve: make prune respect allowunsable Before this patch, the prune command was performing the same way regardless of the value of experimental.evolution. With this patch if the configuration does not allow unstability, prune won't create instability.
Fri, 19 Jun 2015 10:47:02 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 10:47:02 -0700] rev 1396
merge with stable
Fri, 19 Jun 2015 10:44:25 -0700 evolve: add a hint about how to abort an evolve with conflict stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 10:44:25 -0700] rev 1395
evolve: add a hint about how to abort an evolve with conflict The whole evolve --continue is hacky, but the way to abort it have been arcane knowledge, carried from sith lord to its apprentice for centuries. We add a hint to help the use discover it. One day a clean solution will come.
Fri, 19 Jun 2015 00:17:34 -0700 merge with branch closing commit stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 00:17:34 -0700] rev 1394
merge with branch closing commit
Fri, 19 Jun 2015 00:16:56 -0700 close 3.1 compat branch mercurial-3.1
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 00:16:56 -0700] rev 1393
close 3.1 compat branch
Fri, 19 Jun 2015 00:15:55 -0700 evolve: marks the extension as tested with 4.1 stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 00:15:55 -0700] rev 1392
evolve: marks the extension as tested with 4.1 Because it is.
Thu, 18 Jun 2015 23:45:37 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 23:45:37 -0700] rev 1391
merge with stable
Thu, 18 Jun 2015 18:05:57 -0700 evolve: fix default value for --confirm stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 18:05:57 -0700] rev 1390
evolve: fix default value for --confirm Before this changes, the default was yes, unlike advertised. The test were actually catching that so I go them updated.
Thu, 18 Jun 2015 18:12:24 -0700 prune: use the bookmark wrapper for 3.4 compatibility stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 18:12:24 -0700] rev 1389
prune: use the bookmark wrapper for 3.4 compatibility
Thu, 18 Jun 2015 17:57:11 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 17:57:11 -0700] rev 1388
merge with stable
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.
(0) -1000 -192 +192 +1000 +3000 tip