Fri, 04 Dec 2015 15:10:53 -0800 check-code: make evolve.py comply with check-code
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:10:53 -0800] rev 1547
check-code: make evolve.py comply with check-code
Fri, 04 Dec 2015 14:00:59 -0800 evolve: fix test-inhibit to match latest hg
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 14:00:59 -0800] rev 1546
evolve: fix test-inhibit to match latest hg When I fixed an issue in core about rebaseset 40a2f972f26d (that I introduced before), it restored the original behavior of inhibit with rebase. This patch fixes test-inhibit to match the latest hg.
Fri, 04 Dec 2015 14:00:48 -0800 evolve: fix test-stabilize-conflict.t to match new extra computation in core
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 14:00:48 -0800] rev 1545
evolve: fix test-stabilize-conflict.t to match new extra computation in core Recent patches changed the way we compute extras for rebase and graft. This changes the hashes in evolve's tests. This patch fixes the test test-stabilize-conflict.t.
Fri, 04 Dec 2015 14:01:28 -0800 evolve: fix test-sharing.t to match new extra computation in core
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 14:01:28 -0800] rev 1544
evolve: fix test-sharing.t to match new extra computation in core Recent patches changed the way we compute extras for rebase and graft. This changes the hashes in evolve's tests. This patch fixes the test test-sharing.t
Fri, 04 Dec 2015 14:01:36 -0800 evolve: fix test-tutorial.t to match new extra computation in core
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 14:01:36 -0800] rev 1543
evolve: fix test-tutorial.t to match new extra computation in core Recent patches changed the way we compute extras for rebase and graft. This changes the hashes in evolve's tests. This patch fixes the test test-tutorial.t
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
(0) -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 tip