Thu, 04 Feb 2016 02:46:40 -0800 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com> [Thu, 04 Feb 2016 02:46:40 -0800] rev 1598
evolve: make split respect rev args passed without --rev or -r Currently, if one runs `hg split .` or `hg split`, it will fail with an exception. This happens becuase we only expect revision args to be passed as --rev/-r ones and don't treat unnamed args properly or add default values if no args are provided.
Thu, 04 Feb 2016 01:19:14 +0000 evolve: write our own custom evolvestate file
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 01:19:14 +0000] rev 1597
evolve: write our own custom evolvestate file Since for ever, we were using 'graftstate' to record the node currently being evolve and allow 'hg evolve --continue' we now move to our on 'evolvestate' file. This remove and issue with 'hg summary' listing interrupted evolve as graft. This also open the way for storing more data into that file and allow proper --abort and --continue of the whole evolve operation (and not just the last one). The whole thing is very hacky but at least there is some progress. Thanks goes to Shusen Liu for initiating this work.
Thu, 04 Feb 2016 10:16:52 +0000 readme: update readme for issue 4966
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 10:16:52 +0000] rev 1596
readme: update readme for issue 4966
Wed, 03 Feb 2016 23:21:50 +0000 test: back hash change from 'extra' content change out
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 03 Feb 2016 23:21:50 +0000] rev 1595
test: back hash change from 'extra' content change out The changesets 13701c3fed9c, 3e907ff1981f and 54394d2aaf5e were introduced to handle a change to the way extra were carried out by various command in core. This had to be backout for 3.7.1 as is broken multiple third party extension. We backout the test update as a result. Core changesets performing the backout: ce9696193175::b698abf971e7
Fri, 22 Jan 2016 21:41:59 +0900 evolve: close transaction if conflict is detected in relocate (issue4966)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 22 Jan 2016 21:41:59 +0900] rev 1594
evolve: close transaction if conflict is detected in relocate (issue4966) Before this patch, transaction is aborted, if conflict is detected at merging while "hg evolve". Since 8f2ff40fe9c9 (or 3.6) of Mercurial, aborting transaction discards all dirstate changes inside transaction scope for "transactional dirstate" (see below wiki page for detail about it). https://mercurial.selenic.com/wiki/DirstateTransactionPlan Therefore, just aborting transaction causes unchanged (and unexpected) dirstate, even though subsequent commands require dirstate changes while "hg evolve". To keep dirstate changes while "hg evolve", this patch closes current running transaction, if conflict is detected in relocate(), even though exception is raised as usual. Even though "save dirstate and restore it after aborting transaction" like shelve._aborttransaction() of Mercurial can also solve this issue, this patch chose closing transaction for similarity with failure for conflict at "hg unshelve". In addition to it, closing transaction can keep any previous (implicit) changes. In newly added test, there is an additional ancestor revision, which "will be evolved safely". It is used to examine whether failure for conflict doesn't discard already relocated revision(s) while "hg evolve". It is fact for current implementation that "hg evolve" relocates each revisions in separated transactions and already relocated ones are never discarded, even if subsequent relocation fails. Though, this examination is useful to detect unintentional regression in the future.
Sat, 23 Jan 2016 06:18:01 +0900 evolve: remove meaningless transaction nesting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 23 Jan 2016 06:18:01 +0900] rev 1593
evolve: remove meaningless transaction nesting Before this patch, functions below nest transaction scope, even though they are invoked only inside a transaction scope created at _solveone(). - _solvebumped() - _solvedivergent() - relocate() via _solveunstable() or _solvebumped() Transaction nesting is useful for localizing "success" (e.g. one scope per commit inside wider scope for multiple committing). But such nesting is redundant for _solveone(), because there is no code path, which causes failure after successfully closing inner transaction(s). In addition to it, this nesting makes it complicated to close current transaction successfully with exception raising inside inner scope, like "hg shelve" at detection of conflicts. "tr.close()" is required at each outer scopes for such case. To remove meaningless transaction nesting, this patch replaces repo.transaction() in functions above by repo.currenttransaction(). This reuses transaction created at _solveone(). This patch also adds 'assert tr' after getting current running transaction, to avoid invocation of functions above without transaction.
Tue, 26 Jan 2016 15:42:01 -0800 evolve: extract logic to new method _evolvemerge
Shusen LIU <liushusen@fb.com> [Tue, 26 Jan 2016 15:42:01 -0800] rev 1592
evolve: extract logic to new method _evolvemerge This patch introduces a new method _evolvemerge to merge orig to dest in relocate method. This simplifies the code of the method relocate and allows us to re-use it later in the scope of the rework of 'hg evolve --continue'
Sat, 30 Jan 2016 16:53:12 +0100 test: add extra expected output
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Jan 2016 16:53:12 +0100] rev 1591
test: add extra expected output (I forgot to amend...)
Fri, 22 Jan 2016 19:16:38 +0000 inhibit: make bookmark -D work with a list of bookmarks
Jeroen Vaelen <jeroen@fb.com> [Fri, 22 Jan 2016 19:16:38 +0000] rev 1590
inhibit: make bookmark -D work with a list of bookmarks `hg bookmark -D` was not accepting a list of bookmarks. This behavior was inconsistent with the behavior of `hg bookmark -d`, which does accept multiple bookmarks.
Sun, 17 Jan 2016 16:55:40 -0800 touch: prompt the user for what to do with the revived changeset
Laurent Charignon <lcharignon@fb.com> [Sun, 17 Jan 2016 16:55:40 -0800] rev 1589
touch: prompt the user for what to do with the revived changeset This patch improves our interface for reviving changesets. This patch makes touch not assume that the user wants to create divergence by default and gives a prompt instead. The prompt is skipped for changeset that have no living successor as no divergence would be created by reviving them anyway. To restore the previous behavior, one should now use the --allowdivergence flag. The prompt looks like: [10] <description> reviving this changeset will create divergence unless you make a duplicate. (a)llow divergence or (d)uplicate the changeset? a In further patches we will want to add one more choice to that prompt, for example having a marker between the old and revived nodes but no divergence displayed on the UI.
Wed, 27 Jan 2016 13:57:08 -0800 inhibit: fix compat with rebaseskipobsolete
Laurent Charignon <lcharignon@fb.com> [Wed, 27 Jan 2016 13:57:08 -0800] rev 1588
inhibit: fix compat with rebaseskipobsolete We wrap _computeobsoletenotrebased and _clearrebased to fix the following case: - Assuming that we have markers from revisions of the rebase set and destination set and that these markers are inhibited - At the end of the rebase the nodes are still visible because rebase operate without inhibition and skip these nodes Had we not have those markers to begin with the revisions could be hidden at the end of the rebase. We keep track in repo._obsoletenotrebased of the obsolete commits skipped by the rebase and lift the inhibition at the end of the rebase. We add three test cases to make sure that the edge cases are covered.
Tue, 19 Jan 2016 15:30:23 -0800 test: update with new graft output
Durham Goode <durham@fb.com> [Tue, 19 Jan 2016 15:30:23 -0800] rev 1587
test: update with new graft output Graft now has a --continue it seems. We need to update our test output.
Sun, 17 Jan 2016 22:02:44 -0800 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 Jan 2016 22:02:44 -0800] rev 1586
merge with stable
Sun, 17 Jan 2016 21:09:45 -0800 tests: fix change to help output
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 Jan 2016 21:09:45 -0800] rev 1585
tests: fix change to help output Core have made minor update to its documentation.
Thu, 14 Jan 2016 14:02:05 -0800 tests: change some double quotes to single quotes stable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 14 Jan 2016 14:02:05 -0800] rev 1584
tests: change some double quotes to single quotes Since hg core change 58f8b29c37ff (minirst: change hgrole to use single quotes, 2016-01-12)
Thu, 14 Jan 2016 12:02:38 -0800 inhibit: fix compatibility with changes in rebase
Laurent Charignon <lcharignon@fb.com> [Thu, 14 Jan 2016 12:02:38 -0800] rev 1583
inhibit: fix compatibility with changes in rebase Because we compute the obsolete revisions before calling _computeobsoletenotrebased lifting the inhibition stopped working since 8a8ee8338e6 in core. This patch makes it work again.
Sun, 10 Jan 2016 10:52:24 -0800 inhibit: fix _filterpublic
Laurent Charignon <lcharignon@fb.com> [Sun, 10 Jan 2016 10:52:24 -0800] rev 1582
inhibit: fix _filterpublic Before this patch, _filterpublic would always filter rep._obsinhibit and not its "nodes" argument. Fortunately, we always called it with repo._obsinhibit as its "nodes" argument!
Mon, 04 Jan 2016 14:01:17 -0800 debian: blacklist test-inhibit.t
Laurent Charignon <lcharignon@fb.com> [Mon, 04 Jan 2016 14:01:17 -0800] rev 1581
debian: blacklist test-inhibit.t Since we don't add inhibit to the debian packages, let's not run test-inhibit.t
Mon, 04 Jan 2016 08:39:58 -0800 evolve: duplicate evolution summary entries (issue5014)
Laurent Charignon <lcharignon@fb.com> [Mon, 04 Jan 2016 08:39:58 -0800] rev 1580
evolve: duplicate evolution summary entries (issue5014) Since we added summary entries for trouble changesets in core we don't need to display it anymore in evolve for the version of hg with the change. Tested with 3.6.1 and 3.6.2.
Sun, 03 Jan 2016 16:47:57 +0100 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 03 Jan 2016 16:47:57 +0100] rev 1579
merge with stable
Sun, 03 Jan 2016 15:51:36 +0100 merge with the rest of stable stable
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 03 Jan 2016 15:51:36 +0100] rev 1578
merge with the rest of stable
Wed, 30 Dec 2015 03:48:11 +0530 debian: update changelog to 5.2.1 stable
Faheem Mitha <faheem@faheem.info> [Wed, 30 Dec 2015 03:48:11 +0530] rev 1577
debian: update changelog to 5.2.1
Thu, 26 Nov 2015 20:38:31 -0500 evolve: handle merge commit with single obsolete parent (issue4389)
Andrew Halberstadt <ahalberstadt@mozilla.com> [Thu, 26 Nov 2015 20:38:31 -0500] rev 1576
evolve: handle merge commit with single obsolete parent (issue4389) This handles evolving merge commits with a single obsolete parent. Merge commits with two obsolete parents are still unsupported. Note this depends on a change to merge.graft in core. Older versions of mercurial will not have this functionality. Also, test-unstable.t will fail with older versions.
Tue, 22 Dec 2015 14:11:09 +0000 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 22 Dec 2015 14:11:09 +0000] rev 1575
merge with stable
Sat, 07 Nov 2015 13:39:59 -0500 evolve: rewrite help for prune command stable
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 13:39:59 -0500] rev 1574
evolve: rewrite help for prune command
Sat, 07 Nov 2015 13:38:49 -0500 evolve: improve help for split command stable
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 13:38:49 -0500] rev 1573
evolve: improve help for split command
Sat, 07 Nov 2015 13:38:22 -0500 evolve: improve help for prev, next commands stable
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 13:38:22 -0500] rev 1572
evolve: improve help for prev, next commands
Sat, 07 Nov 2015 13:37:26 -0500 evolve: improve the confusing docstring for _orderrevs() stable
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 13:37:26 -0500] rev 1571
evolve: improve the confusing docstring for _orderrevs()
Sat, 07 Nov 2015 09:48:04 -0500 evolve: improve help for some debug commands stable
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 09:48:04 -0500] rev 1570
evolve: improve help for some debug commands
Fri, 06 Nov 2015 21:42:06 -0500 evolve: scattered typo fixes in comments, docstrings stable
Greg Ward <greg@gerg.ca> [Fri, 06 Nov 2015 21:42:06 -0500] rev 1569
evolve: scattered typo fixes in comments, docstrings
Mon, 14 Dec 2015 17:21:11 -0800 evolve: extract logic to new method _finalizerelocate
Shusen LIU <liushusen@fb.com> [Mon, 14 Dec 2015 17:21:11 -0800] rev 1568
evolve: extract logic to new method _finalizerelocate This patch introduces a new method _finalizerelocate to finalize current state after merge states in relocate method. This simplifies the code of the method relocate and allows us to modify it later to support a continued keywork to implement evolve state.
Mon, 14 Dec 2015 17:02:55 -0800 evolve: extract logic to new method _relocatecommit
Shusen LIU <liushusen@fb.com> [Mon, 14 Dec 2015 17:02:55 -0800] rev 1567
evolve: extract logic to new method _relocatecommit This patch introduces a new method _relocatecommit to commit current state after merge states in relocate method. This simplifies the code of the method relocate and allows us to modify it later to support a continued keywork to implement evolve state.
Thu, 17 Dec 2015 16:00:32 +0000 evolve: apply API change to 'merge.update'
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Dec 2015 16:00:32 +0000] rev 1566
evolve: apply API change to 'merge.update' Mercurial core43c00ca887d1 (future 3.7) changed the signature of the 'mercurial.merge.update', this impact our code so we update it. This
Mon, 14 Dec 2015 16:29:55 -0800 debian: don't refer to deleted tests/run-tests.py in debian/rules
Martin von Zweigbergk <martinvonz@google.com> [Mon, 14 Dec 2015 16:29:55 -0800] rev 1565
debian: don't refer to deleted tests/run-tests.py in debian/rules tests/run-tests.py was deleted in 25a0c31882df (tests: remove the custom run-tests.py, 2015-11-02), but we still refer to it in debian/rules. Fix by having the user define a HGSRC variable when calling 'debuild' (with e.g '-e HGSRC=~/hg').
Fri, 11 Dec 2015 12:27:37 -0800 prune: changing bookmark argument to be a list
Shubhanshu Agrawal <agrawal.shubhanshu@gmail.com> [Fri, 11 Dec 2015 12:27:37 -0800] rev 1564
prune: changing bookmark argument to be a list Currently prune works with a single bookmark the changes in this patch modifies the prune command to accept a list of bookmarks Also changes to inhibit module which internally calls the cmdprune function. the change is to wrap the bookmark input into a list.
Fri, 11 Dec 2015 10:42:46 -0800 prune: remove a list of bookmarks
Shubhanshu Agrawal <agrawal.shubhanshu@gmail.com> [Fri, 11 Dec 2015 10:42:46 -0800] rev 1563
prune: remove a list of bookmarks Currently prune works with a single bookmark, the changes in this patch modifies the prune module to work with a list of bookmarks Building on this we can take a list of bookmarks as input and remove all of them in a single go
Fri, 11 Dec 2015 11:15:33 +0000 test: adapt to fix to "known" wireprotocol command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Dec 2015 11:15:33 +0000] rev 1562
test: adapt to fix to "known" wireprotocol command Core fixed a bug in discovery (in b64b6fdc5c9b) and this is showing up in our test output.
Thu, 10 Dec 2015 15:55:07 -0800 evolve: renaming local variables
Shubhanshu Agrawal <agrawal.shubhanshu@gmail.com> [Thu, 10 Dec 2015 15:55:07 -0800] rev 1561
evolve: renaming local variables Renaming local variables to be more precise, i want to store a different list of bookmarks(input-list) and it would be hard to understand what marks represents in that change therefore renaming it to repomarks. Renames mark to bookmark, which will make the changes in next patch more understandable, when it is pluraized. Also renames bookmarks (module) to bookmarksmod so as to free up the name when bookmark gets pluralized.
Thu, 10 Dec 2015 15:34:34 -0800 inhibit: backout 23a34dce5131 remove unused bookmark operation wrapping
Laurent Charignon <lcharignon@fb.com> [Thu, 10 Dec 2015 15:34:34 -0800] rev 1560
inhibit: backout 23a34dce5131 remove unused bookmark operation wrapping This breaks potentially a lot of things. Let's give a change to extensions maintainers to adapt to the new bookmarks.write api before removing this code right away.
Fri, 11 Dec 2015 10:51:04 +0000 readme: add something about bookmark within transaction
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Dec 2015 10:51:04 +0000] rev 1559
readme: add something about bookmark within transaction
Thu, 10 Dec 2015 15:09:25 -0800 commitwrapper: use bookmarks.recordchange instead of bookmarks.write
Laurent Charignon <lcharignon@fb.com> [Thu, 10 Dec 2015 15:09:25 -0800] rev 1558
commitwrapper: use bookmarks.recordchange instead of bookmarks.write Before this patch we were using the deprecated API bookmarks.write, this patch replace its usage by the new API call bookmarks.recordchange.
Thu, 10 Dec 2015 14:43:31 -0800 next: replace call to bookmarks.write by bookmarks.recordchange
Laurent Charignon <lcharignon@fb.com> [Thu, 10 Dec 2015 14:43:31 -0800] rev 1557
next: replace call to bookmarks.write by bookmarks.recordchange bookmarks.write is now deprecated, we are moving to the new api: bookmarks.recordchange.
Thu, 10 Dec 2015 14:43:00 -0800 previous: replace call to bookmarks.write by bookmarks.recordchange
Laurent Charignon <lcharignon@fb.com> [Thu, 10 Dec 2015 14:43:00 -0800] rev 1556
previous: replace call to bookmarks.write by bookmarks.recordchange bookmarks.write is now deprecated, we are moving to the new api: bookmarks.recordchange.
Thu, 10 Dec 2015 14:17:27 -0800 prune: use bookmarks.recordchange instead of bookmarks.write
Laurent Charignon <lcharignon@fb.com> [Thu, 10 Dec 2015 14:17:27 -0800] rev 1555
prune: use bookmarks.recordchange instead of bookmarks.write Before this patch we were using the deprecated bookmarks.write instead of bookmarks.recordchange in prune
Fri, 11 Dec 2015 10:49:29 +0000 transaction: fix release order in 'rewrite'
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Dec 2015 10:49:29 +0000] rev 1554
transaction: fix release order in 'rewrite' This was wrong for quite sometime.
Fri, 04 Dec 2015 15:28:29 -0800 check-code: make drophack comply with check-code
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:28:29 -0800] rev 1553
check-code: make drophack comply with check-code
Fri, 04 Dec 2015 15:28:00 -0800 check-code: make directaccess.py comply with check-code
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:28:00 -0800] rev 1552
check-code: make directaccess.py comply with check-code
Fri, 04 Dec 2015 15:31:19 -0800 check-code: make inhibit.py comply with check-code
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:31:19 -0800] rev 1551
check-code: make inhibit.py comply with check-code
(0) -1000 -300 -100 -48 +48 +100 +300 +1000 +3000 tip