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.
(0) -1000 -300 -100 -64 +64 +100 +300 +1000 +3000 tip