Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:35:16 +0000] rev 1609
Readme: mention fix for issue4950
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:32:40 +0000] rev 1608
merge with new stable through 3.5 and 3.6
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 11:01:35 +0000] rev 1607
tests: register expected difference for Mercurial 3.4
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:07:54 +0000] rev 1606
merge with stable through 3.6
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:02:39 +0000] rev 1605
readme: mark feature only available in 3.7 as such
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 10 Feb 2016 23:44:00 +0000] rev 1604
Merge with stable, updating tests output
Notable change:
- We do not support evolving merge before 3.7
- We don't support inhibit/direct-access
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 11:18:50 +0000] rev 1603
readme: point to mercurial-scm.org instead of selenic.com
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 11:17:09 +0000] rev 1602
merge with stable (Mercurial 3.7 is out)
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 11:13:38 +0000] rev 1601
tests: register expected difference for Mercurial 3.6
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 11:07:44 +0000] rev 1600
tests: register expected difference for Mercurial 3.5
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 10:24:26 +0000] rev 1599
test: adapt to 3.6 help changes
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 10:16:52 +0000] rev 1596
readme: update readme for issue 4966
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
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.
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.
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'
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...)
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 Jan 2016 22:02:44 -0800] rev 1586
merge with stable
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.
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)
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.
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!
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
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 03 Jan 2016 16:47:57 +0100] rev 1579
merge with 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
Faheem Mitha <faheem@faheem.info> [Wed, 30 Dec 2015 03:48:11 +0530] rev 1577
debian: update changelog to 5.2.1
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 22 Dec 2015 14:11:09 +0000] rev 1575
merge with stable
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 13:39:59 -0500] rev 1574
evolve: rewrite help for prune command
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 13:38:49 -0500] rev 1573
evolve: improve help for split command
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 13:38:22 -0500] rev 1572
evolve: improve help for prev, next commands
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 13:37:26 -0500] rev 1571
evolve: improve the confusing docstring for _orderrevs()
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 09:48:04 -0500] rev 1570
evolve: improve help for some debug commands
Greg Ward <greg@gerg.ca> [Fri, 06 Nov 2015 21:42:06 -0500] rev 1569
evolve: scattered typo fixes in comments, docstrings
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.
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.
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
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').
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.
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
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.
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.
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.
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
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.
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.
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.
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
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.
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:28:29 -0800] rev 1553
check-code: make drophack 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
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:31:19 -0800] rev 1551
check-code: make inhibit.py comply with check-code
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:31:34 -0800] rev 1550
check-code: make obsolete.py comply with check-code
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:21:16 -0800] rev 1549
check-code: make pushexperiment.py comply with check-code
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:19:36 -0800] rev 1548
check-code: make simple4server.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
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 21:15:15 -0500] rev 1530
merge with 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.
Greg Ward <greg@gerg.ca> [Fri, 06 Nov 2015 15:04:45 -0500] rev 1528
evolve: rewrite command help (evolve command only)
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.
Greg Ward <greg@gerg.ca> [Fri, 06 Nov 2015 18:02:05 -0500] rev 1526
README: update instructions for running tests.
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 00:39:40 +0000] rev 1521
merge back with 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
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 00:39:06 +0000] rev 1519
prepare version 5.1.2
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.
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.
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.
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.
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.
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
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 12 Oct 2015 01:23:59 -0700] rev 1512
merge with 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.
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.
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.
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Sep 2015 13:52:34 -0700] rev 1504
merge with 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
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
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
timeless@mozdev.org [Thu, 10 Sep 2015 16:24:50 -0400] rev 1500
next: add support for --dry-run
also adds support to prev
timeless@mozdev.org [Wed, 09 Sep 2015 22:25:37 -0400] rev 1499
evolve: spelling uncommitted
timeless@mozdev.org [Wed, 09 Sep 2015 22:23:48 -0400] rev 1498
evolve: annotate translatable strings with _()
timeless@mozdev.org [Wed, 09 Sep 2015 22:22:01 -0400] rev 1497
evolve: do not capitalize description of next/previous
timeless@mozdev.org [Wed, 09 Sep 2015 22:13:11 -0400] rev 1496
evolve: _() should not contain %
timeless@mozdev.org [Wed, 09 Sep 2015 19:43:24 -0400] rev 1495
evolve: add progress for _obsrelsethashtree
timeless@mozdev.org [Wed, 09 Sep 2015 19:43:14 -0400] rev 1494
evolve: add progress for the obsmarkers discovery parts
timeless@mozdev.org [Wed, 09 Sep 2015 19:40:54 -0400] rev 1493
test-obsolete: clarify divergence detection output order
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 12 Aug 2015 20:38:39 -0700] rev 1491
merge with 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).
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Aug 2015 00:44:53 -0700] rev 1488
merge with 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.
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.
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.
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.
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.
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.
Laurent Charignon <lcharignon@fb.com> [Wed, 24 Jun 2015 16:27:36 -0700] rev 1481
evolve: handle split commit for instability
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 07 Aug 2015 13:59:19 -0700] rev 1480
merge with stable
Laurent Charignon <lcharignon@fb.com> [Fri, 07 Aug 2015 11:39:51 -0700] rev 1479
evolve: add test for instability
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Aug 2015 11:29:27 -0700] rev 1477
merge with 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
Matt Harbison <matt_harbison@yahoo.com> [Sat, 01 Aug 2015 21:54:00 -0400] rev 1475
test-sharing: fix globs for Windows
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 10 Jul 2015 22:58:13 +0100] rev 1473
merge with 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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 30 Jun 2015 18:32:12 -0700] rev 1470
merge with stable
André Sintzoff <andre.sintzoff@gmail.com> [Fri, 26 Jun 2015 22:26:48 +0200] rev 1469
evolve: fix typo in fold docstring
André Sintzoff <andre.sintzoff@gmail.com> [Fri, 26 Jun 2015 22:25:57 +0200] rev 1468
evolve: remove trailing spaces
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.
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:07:13 -0700] rev 1462
merge with 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
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:05:25 -0700] rev 1460
merge with 3.3
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:04:38 -0700] rev 1459
fix version number
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:04:22 -0700] rev 1458
fix debian changelog
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:46:24 -0700] rev 1457
merge with 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
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
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:42:07 -0700] rev 1454
prepare version 5.2
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
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
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.
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)
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.
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.
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
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.
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.
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
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:50:39 -0700] rev 1439
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:50:06 -0700] rev 1438
merge with inactive compat branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:49:53 -0700] rev 1437
merge with inactive compat branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:49:24 -0700] rev 1436
close inactive compatibility branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:47:47 -0700] rev 1435
close inactive compatibility branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:47:24 -0700] rev 1434
merge with inactive compat branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:47:08 -0700] rev 1433
merge with inactive compat branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:46:54 -0700] rev 1432
merge with inactive compat branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:45:55 -0700] rev 1431
close inactive compatibility branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:45:47 -0700] rev 1430
close inactive compatibility branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:45:22 -0700] rev 1429
close inactive compatibility branch
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 15:32:47 -0700] rev 1426
merge with 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
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 15:30:35 -0700] rev 1424
prepare version 5.1.5
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)).
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
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.
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.
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.
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.
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.
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.
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.
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.
Laurent Charignon <lcharignon@fb.com> [Fri, 19 Jun 2015 17:47:48 -0700] rev 1413
evolve: remove _picknexttroubled
It was not used anymore
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).
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 17:03:40 -0700] rev 1411
evolve: some style fix
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.
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.
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.
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.
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.
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 12:39:15 -0700] rev 1401
merge with some old heads
Pierre-Yves David <pyd@fb.com> [Mon, 16 Jun 2014 14:31:49 -0700] rev 1400
merge with some older backport
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".
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 10:47:02 -0700] rev 1396
merge with 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.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 00:17:34 -0700] rev 1394
merge with branch closing commit
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 00:16:56 -0700] rev 1393
close 3.1 compat branch
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 23:45:37 -0700] rev 1391
merge with 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.
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
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 17:57:11 -0700] rev 1388
merge with 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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
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)
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.
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.
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.
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.
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.
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.
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.
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.
Laurent Charignon <lcharignon@fb.com> [Wed, 13 May 2015 09:46:34 -0700] rev 1350
evolve: improve error message
We add a new line and change the wording from 'revsets' to 'revisions'.
Laurent Charignon <lcharignon@fb.com> [Wed, 13 May 2015 09:43:36 -0700] rev 1349
evolve: move return statement at the right level
When no trouble was found with the --rev option, the code of the evolve
function would continue running and would solve unwanted troubles. This patch
makes sure it does not happen.
Laurent Charignon <lcharignon@fb.com> [Wed, 27 May 2015 14:00:01 -0700] rev 1348
evolve: remove extra whitespace
This patch removes a whitespace at the end of a line.
Laurent Charignon <lcharignon@fb.com> [Fri, 22 May 2015 10:38:16 -0700] rev 1347
directaccess: don't crash when evolve is not loaded
Before this patch, when evolve was not loaded direct access was crashing. This
patch catches the error and prevents the crash.
Laurent Charignon <lcharignon@fb.com> [Wed, 20 May 2015 10:58:32 -0700] rev 1346
inhbit: don't crash on commit with no changes
Before this patch inhibit would crash when running hg amend with no changes.
This patch fixes this case and adds a test to prevent regression.
Laurent Charignon <lcharignon@fb.com> [Wed, 20 May 2015 13:32:32 -0700] rev 1345
evolve: add a test for prune --keep -r . with active bookmark
We recently changed the behavior of prune to make sure that the active
bookmark stays active after prune -r .
This patch adds a test for the case of prune --keep -r . that does not
take the same code path.
Laurent Charignon <lcharignon@fb.com> [Wed, 20 May 2015 13:23:20 -0700] rev 1344
Merge with stable
Laurent Charignon <lcharignon@fb.com> [Thu, 14 May 2015 11:32:04 -0700] rev 1343
inhibit: add test to ensure that --hidden is working with inhibit
There was a concern with the transaction hook in inhibit and its potentially
devastating effect when used with --hidden. The transaction hook in inhibit
hides all the visible & obsolete commits when the transaction ends using the
visible() and the obsolete() revset.
--hidden does not change the visible() revset so it is fine. If this changes in
the future and --hidden actually ends up impacting the visible() revset, this
test will catch it and prevent inhibit from putting inhibition markers on
all of the obsolete changesets.
Laurent Charignon <lcharignon@fb.com> [Mon, 18 May 2015 17:24:38 -0700] rev 1342
prune: with active bookmark should stay active
hg prune with an active bookmark was deactivating the bookmark after the prune.
This patch makes sure that if a bookmark was active before a "prune" operation
(except prune -B) then the bookmark stays activate afterwards.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 19 May 2015 00:47:00 -0500] rev 1341
merge with stable
Augie Fackler <raf@durin42.com> [Mon, 18 May 2015 13:58:57 -0400] rev 1340
evolve: migrate off of now-dead util.any
Laurent Charignon <lcharignon@fb.com> [Thu, 14 May 2015 11:23:40 -0700] rev 1339
inhibit: create direct access extension
Since we want to use direct access without necessarily using inhibit, this
patch separates both extensions. Inhibit depends on direct access and we add
a test to check that it complains if that is not the case.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 14 May 2015 15:59:06 -0700] rev 1338
inhibit: handle inhibit marker on stripped revision
If a revision disappear from the repo, we should not crash.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 13 May 2015 17:25:15 -0700] rev 1337
update README
Laurent Charignon <lcharignon@fb.com> [Wed, 13 May 2015 09:03:11 -0700] rev 1336
evolve: don't use python sets on top of revset for evolve --rev
In --rev we were wrapping the revsets in python sets.
This is wrong as the use python sets force the wrapper revision set to be
computed earlier than it has to and have no order guarantee.
Removing this wrapping changes a test because the ordering does not appear to
be the same but the end result is the same.
Laurent Charignon <lcharignon@fb.com> [Wed, 13 May 2015 08:47:27 -0700] rev 1335
evolve: current bookmark wrongly moving during prune (issue4559)
Before this patch: prune -r <otherbookmark> also moved the current bookmark
eventhough it was not related to the pruned changes.
This patch fixes it and adds a test to catch regressions.
Laurent Charignon <lcharignon@fb.com> [Tue, 12 May 2015 13:52:29 -0700] rev 1334
inhibit: direct access with and without warning on a per command basis
We introduce a new filtername visibile-directaccess-nowarn to enable direct
access with no warning on a per command basis.
The motivation behing this change is to display warning when attempting direct
access in destructive commands.
Laurent Charignon <lcharignon@fb.com> [Tue, 12 May 2015 12:26:46 -0700] rev 1333
inhbit: make tests work with evolution.createmarkers config
Before this patch, the test for inhibit was assuming evolve fully running.
For most of the features that inhbit enables, createmarkers is sufficient.
This patch makes the test of inhibit run with the createmarkers config and
only lifts it for operations in the middle of the stack.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 17:37:11 -0700] rev 1332
inhibit: config to enable only direct access
Inhibit provides several features to hide instability and direct access.
We want to use direct access in evolve without hiding the instability.
This patch adds a config flag to enable only direct access in inhibit, when
this config flag is not set or set to false we enable all the features of
inhibit that don't concern direct access.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 11 May 2015 14:31:17 -0700] rev 1331
merge with stable
Ryan McElroy <rmcelroy@fb.com> [Thu, 07 May 2015 13:20:11 -0700] rev 1330
bookmarks: update to use new bookmarks api via compatibility layer
Tested against 3.4 and latest hg + upcoming bookmarks patches
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 May 2015 10:54:37 -0700] rev 1329
simple4server: remove buggy wrapping of pull related function
Not only the wrapping was all buggy, but simple4server is not supposed to affect
client side pull.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 May 2015 11:29:15 -0700] rev 1328
simple4server: update bugtracker link
We moved all evolution related bug to the core Mercurial tracker.
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 14:09:09 -0700] rev 1327
evolve: rename handlenotrouble to _handlenotrouble and add doc
As suggested by Pierre-Yves on his comments on
f113636997660b807c36cf1d0a06b76d53ada1a4 we make it clear that this function
is private and explain what it does.
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 18:20:40 -0700] rev 1326
evolve: improve the help message of --rev
User's are not exposed to the notion of revset, this patch makes the help
message more intelligible.
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 14:25:59 -0700] rev 1325
evolve: add --rev option to the evolve command
This patch is part of a series of patches to refactor the evolve method and
make it more readable. We introduce a new --rev flag to specify a revset
where to solve the troubles instead of looking from the parent changeset.
All add a test checks that --rev works with several commits
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 14:25:35 -0700] rev 1324
evolve: extract cleanup logic in the evolve function
We are going to need to reuse the cleanup logic when introducing --rev, so
we extract it in a method to avoid code duplication.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:25:37 -0700] rev 1323
evolve: simplify the evolve function
We compute the troubles once and use it in two places instead of recomputing
them just to count them.
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 17:15:06 -0700] rev 1322
evolve: optimize the computation of the troubled() revset
We take the implementation from _counttroubles() and rely on the more
efficient & operation for revset instead of laying down the entire set with %ld.
Durham Goode <durham@fb.com> [Tue, 05 May 2015 13:32:01 -0700] rev 1321
inhibit: don't inhibit pinned commits during rebase
During a rebase we pin certain commits to always be visible. This caused the
inhibit extension to inhibit them when a transaction closed. Let's make inhibit
aware of such pins and not obsolete them.
Laurent Charignon <lcharignon@fb.com> [Mon, 04 May 2015 16:56:46 -0700] rev 1320
evolve: extract the logic to solve one change into a method
The goal is to later reuse this method to implement the --rev flag for
evolve that solves the troubles in a revset.
Laurent Charignon <lcharignon@fb.com> [Mon, 04 May 2015 16:56:05 -0700] rev 1319
evolve: add new variable and comment
Add comment and introduce a new variable to keep track of if the progress ui
is shown. Later on we will use this variable in the implementation of the --rev
option.
Laurent Charignon <lcharignon@fb.com> [Mon, 04 May 2015 16:09:05 -0700] rev 1318
evolve: move code to track progress and start node
This makes it easier to refactor the evolve function in this serie of patches.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:00:07 -0700] rev 1317
evolve: renaming of a variable
tro was not a really descriptive name, replacing it with nexttrouble.
Laurent Charignon <lcharignon@fb.com> [Mon, 04 May 2015 16:01:45 -0700] rev 1316
evolve: refactoring of the code displaying error when no trouble found
Before this patch, we had many return statements in the evolve function
especially in the part in charge of displaying errors when no troubles
were found. We move this code in a separate function.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 15:11:00 -0700] rev 1315
evolve: refactor code computing stats of obsolescence markers
Duplicated code removal by extracting a function.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:55:04 -0700] rev 1314
evolve: refactoring of code related to pushing obs markers
This removes duplicated code for the pushobsmarkers logic
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 May 2015 10:56:06 -0700] rev 1313
merge with stable
bunch of cleanup on stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 May 2015 10:58:14 -0700] rev 1312
update readme
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 May 2015 10:47:02 -0700] rev 1311
evolve: update cmddebugrecordpruneparents to the new markers creation API
The parents information are now first class citizen.
(caught by laurent using pylint)
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 May 2015 10:46:06 -0700] rev 1310
evolve: drop useless return
This return statement is never reached. This a actually a good new because its
variable was undefined. We remove it.
(caught by laurent using pylint)
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:34:05 -0700] rev 1309
evolve: add missing import
(caught by pylint)
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:47:01 -0700] rev 1308
evolve: improve transaction related code to use the lock module
Refactored some of the places where we are using locking in evolve to use
the lock module and write less code.
This should also fix a couple of bug where tr could be None at release time.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:40:36 -0700] rev 1307
evolve: remove unused variables
As suggested by pyflakes, remove 5 unused variables in the evolve module.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:30:15 -0700] rev 1306
evolve: remove unused code in _evolveany
remove some code that was doing nothing useful in _evolveany.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:22:30 -0700] rev 1305
evove: remove unused imports
Three imports where unused in the evolve module.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 10:36:43 -0700] rev 1304
tests: ensure we keep capturing output
In 3.4, output capture with bundle2 is disabled by default on local push.
Laurent Charignon <lcharignon@fb.com> [Mon, 20 Apr 2015 13:39:18 -0700] rev 1303
inhibit: updating to a obsolete commit prints warning message
We move the inhibition marker in the same wlock than the update operation, this
clears the warning message. To make it work we display the warning message on
lock release in evolve.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 15:12:17 -0700] rev 1302
evolve: stop conditional wrapping of _checkinvalidmarkers
We support down to Mercurial 3.3, all such version have this function.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 15:11:52 -0700] rev 1301
evolve: stop conditional wrapping of _getbundleobsmarkerpart
We support down to Mercurial 3.3, all such version have this function.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 15:11:07 -0700] rev 1300
evolve: stop conditional wrapping of _pushdiscoveryobsmarkers
We support down to Mercurial 3.3, all such version have this function.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 14:49:02 -0700] rev 1299
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 14:48:41 -0700] rev 1298
test-inhibit: test bookmark -D without prune enabled
The --config option were dropped for lack of documentation.
Laurent Charignon <lcharignon@fb.com> [Wed, 29 Apr 2015 13:01:23 -0700] rev 1297
inhibit: fix devel warning
_inhibitmarkers was taking a transaction without the proper lock. Adding the
lock removes the warnings.
Laurent Charignon <lcharignon@fb.com> [Thu, 23 Apr 2015 17:45:46 -0700] rev 1296
evolve: add -i flag to amend command
The -i flag was missing because it is not a global flag of the commit command.
We can't make it a global flag yet as it is used in many places where it would
not be appropriate so we just add it for this occurrence.
Also, we only want to add it when commit supports it (otherwise it wouldn't
work with older versions of mercurial)
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 14:23:09 -0700] rev 1295
prune: prune fix transaction pattern
I forgot to amend.
Durham Goode <durham@fb.com> [Tue, 07 Apr 2015 14:26:03 -0700] rev 1294
prune: fix pruning w/ bookmarks and inhibit
Previously prune would create the obsolesence markers, then try to fix up the
bookmarks. With inhibit enabled, the act of closing a transaction for the
bookmark step caused it to unhide commits that were trying to be pruned.
The fix is to put the whole thing in a transaction.
Durham Goode <durham@fb.com> [Tue, 07 Apr 2015 14:08:18 -0700] rev 1293
inhibit: remove book -D dependency on cmdprune
Bookmark -D was relying on the prune command to be registered, which isn't the
case if we've disabled evolve commands. Instead, let's just hard code the
arguments.
The real fix would be to abstract away the 'I want to prune commits'
functionality in evolve to a reusable function, but this will do for now.
Durham Goode <durham@fb.com> [Mon, 06 Apr 2015 15:44:00 -0700] rev 1292
inhibit: wrap repo.commit to inhibit nodes
Rebase was failing if you rebased a commit, stripped it, then rebased it again.
This is because the node was still hidden and we needed repo.commit to uninhibit
it.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 11:42:06 -0700] rev 1291
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 10:36:43 -0700] rev 1290
tests: ensure we keep capturing output
In 3.4, output capture with bundle2 is disabled by default on local push.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 10:20:04 -0700] rev 1289
update readme
Mentions greg ward work in documentation.
Greg Ward <greg@gerg.ca> [Thu, 23 Apr 2015 21:13:13 -0400] rev 1288
docs: format concepts guide better, with literal blocks
Greg Ward <greg@gerg.ca> [Thu, 23 Apr 2015 21:05:54 -0400] rev 1287
docs: fix slightly unconventional .rst markup
Greg Ward <greg@gerg.ca> [Thu, 23 Apr 2015 09:03:08 -0400] rev 1286
docs: remove unused/obsolete figures
Greg Ward <greg@gerg.ca> [Thu, 23 Apr 2015 21:08:33 -0400] rev 1285
docs: remove obsolete documentation
evolve-collaboration.rst
replaced by sharing.rst
instability.rst
introduction to the concept for Mercurial developers -- no longer
needed since most are now convinced
obs-concept.rst
largely replaced by the user guide
obs-implementation.rst
more for Mercurial developers; the source code is probably more
accurate and up-to-date
qsync.rst
the extension this referred to no longer exists
This fixes several more sphinx warnings. I've left some other old docs
around, because they still have useful content that needs to be
adapted and updated.
Greg Ward <greg@gerg.ca> [Thu, 23 Apr 2015 08:35:38 -0400] rev 1284
docs: add a table of contents
This silences many sphinx warnings about documents not included in any
toctree. Still need to delete obsolete .rst files to silence the rest
of the warnings.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 23 Apr 2015 03:18:30 +0200] rev 1283
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 23 Apr 2015 03:15:38 +0200] rev 1282
Added tag 5.1.4 for changeset 891c3ce894fa
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 23 Apr 2015 03:15:20 +0200] rev 1281
prepare release 5.1.4
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 23 Apr 2015 03:10:11 +0200] rev 1280
evolve: drop unused 'urllib' import
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Apr 2015 14:30:23 +0200] rev 1279
debugobsrelsethashtree: get the command to work again
The command was untested and became broken when we introduced the new discovery
hashing.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 21 Apr 2015 16:52:08 +0200] rev 1278
getbundleobsmarker: prevent crash from filtered content (issue4616)
The discovery may discover common markers on non-served nodes. This lead to
crash when building the obsmarker part.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 21 Apr 2015 17:37:19 +0200] rev 1277
test-wireproto: add some obsmarker discovery usage.
The old code was never checking that the discovery were skipping common markers.
This is now done.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 21 Apr 2015 17:37:59 +0200] rev 1276
test-wireprotocol: test with both bundle1 and bundle2
Bundle two is becoming the major way of exchanging things now. We duplicate the
test and ensure the default version runs using bundle2.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 20 Apr 2015 14:45:50 +0200] rev 1275
Update debian packaging for 5.1.3
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 19 Nov 2014 01:04:44 +0000] rev 1274
Update debian packaging for 5.0.0
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 11 Apr 2015 10:15:16 -0400] rev 1273
create 3.1 compatibility branch
The next changeset drop 3.1 compatibility.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 14:21:38 +0200] rev 1272
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 14:20:03 +0200] rev 1271
Add "documentation update" to the changelog.
Greg Ward <greg@gerg.ca> [Tue, 14 Apr 2015 12:01:05 -0400] rev 1270
docs: cover 'touch' command
Greg Ward <greg@gerg.ca> [Mon, 13 Apr 2015 15:18:01 -0400] rev 1269
docs: explain that obsolete is not hidden
Greg Ward <greg@gerg.ca> [Mon, 13 Apr 2015 15:09:55 -0400] rev 1268
docs: explain --hidden option
Also move the discussion of revision numbers up, and splice the
explanation of --hidden into it.
Greg Ward <greg@gerg.ca> [Mon, 13 Apr 2015 15:42:42 -0400] rev 1267
docs: tweak wording, punctuation for better readability
Greg Ward <greg@gerg.ca> [Mon, 13 Apr 2015 15:00:05 -0400] rev 1266
docs: flesh out unfinished bits in the intro page
Greg Ward <greg@gerg.ca> [Tue, 14 Apr 2015 12:58:13 -0400] rev 1265
docs: revive the explanation of divergent changesets in the sharing guide
Greg Ward <greg@gerg.ca> [Fri, 20 Jun 2014 08:19:04 -0400] rev 1264
docs (sharing): more scattered wording tweaks
Greg Ward <greg@gerg.ca> [Tue, 14 Apr 2015 12:55:04 -0400] rev 1263
docs: sharing guide: clarify end-game of "Example 2"
- push to dev-repo, rather than pulling into it (consistent
with how we work the multiple developer scenario later)
- explicitly demonstrate that public changesets are immutable
Greg Ward <greg@gerg.ca> [Sun, 15 Jun 2014 21:17:09 -0400] rev 1262
docs: minor tweaks to sharing guide (suggested by timeless)
Greg Ward <greg@gerg.ca> [Tue, 14 Apr 2015 12:53:12 -0400] rev 1261
docs: add code review scenario to sharing guide
The idea is to demonstrate a simpler multiple-developer situation that
does not involve getting into trouble.
The final scenario illustrates Alice and Bob getting into trouble with
bumped and divergent changesets by amending each other's history. The
required tests and text are all written, but will need to be heavily
revised because of the inserted scenario.
Greg Ward <greg@gerg.ca> [Mon, 09 Jun 2014 08:18:43 -0400] rev 1260
docs: add a bit more hierarchy to the sharing guide
Greg Ward <greg@gerg.ca> [Tue, 14 Apr 2015 12:43:37 -0400] rev 1259
docs: update sharing guide based (mostly) on marmoute's review
- don't claim certain scenarios are more/less common, just
simple/advanced
- mention code review as a multiple-developer scenario (not described
in detail yet!)
- suggest "hg config --edit --local" instead of "cat >> .hg/hgrc"
- use -q less often (and show resulting output)
- edit some section headers to be consistent with user guide
(example numbers; "amend" instead of "amending")
(These are just the small changes; big changes are yet to come.)
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 13:52:43 +0200] rev 1258
Added tag 5.1.3 for changeset c52c15100fb2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 13:52:17 +0200] rev 1257
prepare version 5.1.3
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 13:48:06 +0200] rev 1256
graft: avoid potential deadlock
We must acquire 'wlock' before 'lock'.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 13:47:04 +0200] rev 1255
commit: avoid potential deadlock
We must acquire 'wlock' before 'lock'.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 13:41:27 +0200] rev 1254
update readme
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 13:36:12 +0200] rev 1253
pull: fix bundle2 part generation
The new part generator (allowing partial pull) was unproperly installed.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 11 Apr 2015 10:35:26 -0400] rev 1252
simple4server: cleanup debug output
The debug output got duplicated with the original code. And the cleanup forgot
about simple4serve. (code duplicated yeah!)
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 11 Apr 2015 00:10:10 -0400] rev 1251
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 11 Apr 2015 00:09:12 -0400] rev 1250
update readme
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 11 Apr 2015 00:06:59 -0400] rev 1249
discovery: stop being stupid about variable name
Overwritten variable are overwritten...
The test coverage makes a simple pass in the loop :(
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 10 Apr 2015 23:48:23 -0400] rev 1248
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 10 Apr 2015 23:16:10 -0400] rev 1247
inhibit: explicitly test for None
It is always better to check for None explicitly.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 10 Apr 2015 23:43:14 -0400] rev 1246
#iforgottoamendagain
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 10 Apr 2015 23:25:07 -0400] rev 1245
discovery: port the new hashing version to simple4server
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 10 Apr 2015 23:24:36 -0400] rev 1244
discovery: introduce a obshash1 function using fm1 during hashing (issue4587)
The 'fm0' serialisation translate float to text. This give different result
between python2.6 and python2.7 (because python2.7 got smarter). The 'fm1' is
all binary and expected to be stable so we introduce the ability to do the
discovery using hash computed with 'fm1' serialisation.
We use a new wireprotocol version (Partly because I'm too lazy to check how to add an
argument to the existing one) and capabilities).
Support in simple4server is will come in the next changeset.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 21 Mar 2015 19:09:56 -0400] rev 1243
tests: use 'wget' instead of 'curl' for Windows compatibility
The whole test suite now runs without skips, and the only two failures are a
bookmark cache issue in test-prune.t, and a local output vs remote output
reordering when pushing to ssh. The latter anyway is a core problem.
Durham Goode <durham@fb.com> [Mon, 06 Apr 2015 11:21:20 -0700] rev 1242
setup: allow including inhibit in the build
Adds the INCLUDE_INHIBIT environment variable to allow including the inhibit
extension in the build.
Laurent Charignon <lcharignon@fb.com> [Tue, 31 Mar 2015 14:17:46 -0700] rev 1241
inhibit: Add -D option to the bookmark command
The -D option for bookmark is similar to the -B option for strip.
It deletes the bookmark and prunes the changes underneath it that are
not reachable.
Laurent Charignon <lcharignon@fb.com> [Wed, 01 Apr 2015 13:51:21 -0700] rev 1240
inhibit: don't leave any obsolete commit visible after closing transaction
We add a callback to wrap the transaction closure to identify commits that are
obsolete and visible. We inhibit them to prevent the user to see instability in the UI.
Laurent Charignon <lcharignon@fb.com> [Thu, 02 Apr 2015 18:33:44 -0700] rev 1239
evolve: apply prune update before creating obsolescence markers
Prune used to compute the destination commit to update to after creating the
obsolescence markers. This is a commit to prevent a bug that would occur
with the changes in inhibit for transactions (next commit).
Indeed, with that change in inhibit, when creating the obsolescence markers in
prune, they would get inhibited right away and we wouldn't update to the first
non obsolete parent but stay on the same node as its obsolescence would have
been inhibited (bug).
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 03 Apr 2015 11:35:46 -0700] rev 1238
test-inhibit: check graph after prune
We want to ensure prune keep working even with inhibit.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 03 Apr 2015 11:34:02 -0700] rev 1237
test-inhibit: drop trailing white space
Laurent Charignon <lcharignon@fb.com> [Thu, 02 Apr 2015 15:44:11 -0700] rev 1236
tests: make tests work on Mac OS
wc -m adds spacing before the results, we trim them to make the test pass on
Mac OS.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 01 Apr 2015 16:47:22 -0700] rev 1235
merge with stable
Laurent Charignon <lcharignon@fb.com> [Mon, 30 Mar 2015 13:31:09 -0700] rev 1234
inhibit: ensure that no obsolete changesets are visible after a bookmark change
When creating a bookmark, we could reveal obsolete changesets. We are
inhibiting the obsolete changesets resulting from a bookmark change.
There are two ways to record bookmark changes to disk and we wrap both.
Laurent Charignon <lcharignon@fb.com> [Mon, 30 Mar 2015 11:45:17 -0700] rev 1233
inhibit: ensure no visible changesets are obsolete after an update
When updating to a commit we want to inhibit any obsolete commit affecting
the changeset we are updating to. In other words we don't want any
visible commit to be obsolete.
Laurent Charignon <lcharignon@fb.com> [Fri, 27 Mar 2015 10:58:04 -0700] rev 1232
inhibit: enable direct access from parsing the revset tree
To enable direct access we:
- detect explicit hexadical reference to node in the revset tree
- add these hashes to the static blockers to make them and their parent
visible for the command to run
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 01 Apr 2015 14:44:12 -0700] rev 1231
Added tag 5.1.2 for changeset e886bc501796
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 01 Apr 2015 14:40:40 -0700] rev 1230
preparing version 5.1.2
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 01 Apr 2015 14:43:13 -0700] rev 1229
update 5.1.2 with latest bugfix
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 01 Apr 2015 14:37:02 -0700] rev 1228
evolve: have a stable manifest content when solving bumped
We cannot really use iteritems here.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 01 Apr 2015 14:26:10 -0700] rev 1227
evolve: change config option name
I forgot to amend...
Durham Goode <durham@fb.com> [Wed, 15 Oct 2014 15:41:26 -0700] rev 1226
config: allow disabling commands
Now that upstream Mercurial has multiple options for obsolete configuration, we
can allow enabling and disabling of evolve commands.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 07 Mar 2015 02:32:43 -0800] rev 1225
inhibit: Add some inhibition clearing mechanism
We do not want to keep inhibition marker around for ever. So we are removing the
one applying on public changeset.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Mar 2015 21:25:44 -0800] rev 1224
add a 'inhibit' extension
This extension will be used to reduce the scope of evolve in order to make some
of its features available to the mass earlier.
See extension documentation for details.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 21 Mar 2015 19:09:56 -0400] rev 1223
tests: use 'wget' instead of 'curl' for Windows compatibility
The whole test suite now runs without skips, and the only two failures are a
bookmark cache issue in test-prune.t, and a local output vs remote output
reordering when pushing to ssh. The latter anyway is a core problem.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 21 Mar 2015 18:42:51 -0400] rev 1222
tests: import killdaemons.py from Mercurial 1cfded2fa1a9
This contains updated functionality to kill the server process on Windows, which
is needed to run the test-*server.t tests. This version requires the pids to be
passed as an argument instead of via $DAEMON_PIDS.
Durham Goode <durham@fb.com> [Fri, 20 Mar 2015 12:51:57 -0700] rev 1221
prune: add --keep to not touch the working copy
In order to more closely emulate strip, lets add --keep to leave the working
copy untouched when we do our prune.
Durham Goode <durham@fb.com> [Thu, 19 Mar 2015 12:31:51 -0700] rev 1220
strip: add the option for wrapping the strip command
Adds an experimental option for wrapping the existing strip command and
replacing its functionality with prune. It currently doesn't handle the --keep
case, but an upcoming patch will address that.
Durham Goode <durham@fb.com> [Thu, 19 Mar 2015 12:32:32 -0700] rev 1219
wrapcommand: fix wrapping extensions that aren't enabled
The extension command wrapping would previously fail if the extension wasn't
enabled. Let's just eat that silently.
Durham Goode <durham@fb.com> [Thu, 19 Mar 2015 10:52:28 -0700] rev 1218
wrapcommand: allow adding additional arguments to commands
This allows eh.wrapcommand to specify additional parameters to be added to the
commands being wrapped. This will be useful when wrapping strip in the future.
Durham Goode <durham@fb.com> [Thu, 19 Mar 2015 17:42:21 -0700] rev 1217
pushexperiment: remove use of obsolete._enabled
pushexperiment.py was using obsolete._enabled but it didn't cause any tests to
fail so I didn't see it. Let's go ahead and replace it with the new
obsolete.isenabled() api.
Durham Goode <durham@fb.com> [Thu, 19 Mar 2015 13:42:27 -0700] rev 1216
oldobsolete: remove use of obsolete._enabled
obsolete._enabled is deprecated. Switch to the newer obsolete.isenabled() logic.
Durham Goode <durham@fb.com> [Thu, 19 Mar 2015 13:41:58 -0700] rev 1215
server4simple: remove use of obsolete._enabled
obsolete._enabled is deprecated, so let's replace it's uses.
Durham Goode <durham@fb.com> [Tue, 17 Mar 2015 19:04:16 -0700] rev 1214
config: remove uses of obsolete._enabled
Upstream Mercurial will be removing obsolete._enabled soon, so switch all our
uses of it to use the new obsolete.isenabled(repo, option) function.
Durham Goode <durham@fb.com> [Tue, 17 Mar 2015 19:03:27 -0700] rev 1213
config: enable all obsolete options
Upstream Mercurial has moved away from obsolete._enabled as the obsolete flag to
a series of options. This patch makes evolve enable all the options
automatically if the user hasn't enabled any already. This preserves the
existing evolve experience of not having to configure anything.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 13 Mar 2015 10:49:02 -0700] rev 1212
merge with stable
Durham Goode <durham@fb.com> [Fri, 13 Mar 2015 09:05:34 -0700] rev 1211
evolve: fix manifest usage to match upstream
The manifest class upstream is no longer a dictionary, so switch to using an API
it does support.
Durham Goode <durham@fb.com> [Fri, 13 Mar 2015 09:04:12 -0700] rev 1210
drophack: fix to match upstream repair.strip
repair.strip upstream now assumes the input nodelist is a list, so update to
match it. The upstream change only affects the name of the backup bundle, so
this shouldn't affect any other functionality.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 05 Mar 2015 20:02:07 -0500] rev 1209
evolve: prevent a crash in httpclient_pushobsmarkers() when pushing
I've been running into a crash when pushing from my hg repo in a Fedora 16 VM to
Win7 running 'hg serve', even with extensions disabled on both sides:
../hg push -r . pc
pushing to http://192.168.1.4:8000/
searching for changes
no changes found
pushing 2 obsolescence markers (263 bytes)
** unknown exception encountered, please report by visiting
...
File "hg-evolve/hgext/evolve.py", line 2482, in _pushobsolete
remote.evoext_pushobsmarkers_0(obsdata)
File "hg-evolve/hgext/evolve.py", line 2522, in httpclient_pushobsmarkers
ret, output = self._call('evoext_pushobsmarkers_0', data=obsfile)
ValueError: too many values to unpack
I'm not sure how this repo differs from the one in the test suite, so I'm not
sure how to craft a test for this. The failure occurs even when there _are_
csets to push. There was no crash if no obsolete markers needed to be pushed.
At any rate, this code was stolen from httppeer._callpush(), where it calls
self._call(). The socket exception handling wasn't necessary to fix the crash,
but the calling code might as well be duplicated in its entirety.
A successful push with this patch looks like this. Note the final line is _not_
in the output of the http push in test-simple4server.t:
../hg push -r . pc
pushing to http://192.168.1.4:8000/
searching for changes
remote has heads on branch 'default' that are not known locally: 3af110194a0c
56000e3ae44d 57ac6e51d290 7da4355c21b8 and 8 others
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 0 changes to 1 files (+1 heads)
pushing 4 obsolescence markers (525 bytes)
remote: 2 obsolescence markers added
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 05 Mar 2015 10:52:01 -0800] rev 1208
merge stable into default
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 05 Mar 2015 10:45:53 -0800] rev 1207
Added tag 5.1.1 for changeset 9b8628e0a142
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 05 Mar 2015 10:45:40 -0800] rev 1206
prepare release 5.1.1
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 05 Mar 2015 10:44:43 -0800] rev 1205
update readme
Yuya Nishihara <yuya@tcha.org> [Thu, 29 Jan 2015 22:53:43 +0900] rev 1204
evolve: use 3.2+ fullreposet to evaluate argument set (issue4515)
getset() has no compatibility wrapper for old-style argument and we don't
want to add more hacks in Mercurial core.
Mathias De Maré <mathias.demare@gmail.com> [Mon, 02 Mar 2015 20:12:00 +0100] rev 1203
evolve: cache marker encoding to avoid performance degradation
The main overhead in bug 4518 is caused by calculating relevant markers
and encoding markers into the correct format.
Calculating relevant markers takes (worst case) ~ 0.12 seconds.
Encoding markers takes (worst case) ~ 0.06 seconds.
Caching encoded markers takes care of the second part and
speeds up cloning in bug 4518 by about 35%.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Feb 2015 17:01:28 +0000] rev 1202
evolve: handle invalid obsmarkers in the `debugobsconvert`
User can now recover from such situation, The error message is also changed to
point the `debugobsconvert` commands.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Feb 2015 16:58:42 +0000] rev 1201
fix release date in the readme
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Jan 2015 22:05:40 +0000] rev 1200
merge stable in default
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Jan 2015 22:05:07 +0000] rev 1199
Added tag 5.1.0 for changeset bfe9be352453
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Jan 2015 22:02:31 +0000] rev 1198
update readme and bump version to 5.1
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Jan 2015 21:57:41 +0000] rev 1197
merge default into table
3.3 is about to be released.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Jan 2015 20:29:33 +0000] rev 1196
discovery: filter null from the discovery revset
If there is nothing in common, common will be "null" and the revset will now
returns "-1" crashing the discovery process. We filter out the null revision to
prevent that.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Jan 2015 19:01:23 +0000] rev 1195
tests: update to new core output
Multiple output change need to be applied to the test suite.
Tyrone Nicholas <tnicholas@fb.com> [Tue, 27 Jan 2015 16:07:57 +0000] rev 1194
evolve: explicitly disable bookmark on evolve (issue4432)
We no longer leave the current bookmark active after an evolve, since it
is no longer pointing to the working directory.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 07 Jan 2015 15:24:47 -0800] rev 1193
discovery: do not build sample if undecided is smaller than sample size
This prevents crash with coming change in the mercurial discovery.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 05 Jan 2015 19:04:32 -0800] rev 1192
merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 23 Dec 2014 14:29:16 -0600] rev 1191
init: don't abort Mercurial on version mismatch
Evolve causes Mercurial to exit if there is a version mismatch, even
if no evolve command is invoked. This is a headache for people who
have to work with multiple versions of Mercurial. Instead, raise an
ImportError, which gives a warning but otherwise allows Mercurial to
run non-evolve commands.
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 14 Dec 2014 12:45:04 -0800] rev 1190
Added tag 5.0.2 for changeset dbd0733e5840
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 14 Dec 2014 12:44:40 -0800] rev 1189
prepare release 5.0.2
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 14 Dec 2014 12:19:40 -0800] rev 1188
test: adapt to core change in graft and rebase
The ouput changed we have to adapt
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 14 Dec 2014 12:14:45 -0800] rev 1187
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 14 Dec 2014 11:45:27 -0800] rev 1186
doc: drop rebase extension activation
The dependency have been dropped.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 13 Dec 2014 18:19:12 -0800] rev 1185
evolve: remove the dependency to the rebase extension
We do not use any rebase internal anymore.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 13 Dec 2014 18:09:23 -0800] rev 1184
evolve: remove the use of `rebase.concludenode`
Half of this function is now done in `merge.graft` and the over part is easy to
redo manually. So we remove the usage of this function to remove the dependency
of evolve on the rebase extension.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 13 Dec 2014 17:47:09 -0800] rev 1183
evolve: use `merge.graft` instead of `rebasenode`
The core mechanism is properly factorised and have a more stable API.
This is also a good step toward removing the dependency between evolve and the
rebase extension.
This also avoid a breakage with the future 3.3 where some of the rebase API
changed.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 08 Dec 2014 12:45:32 -0800] rev 1182
readme: add a reference to the bugtracker in the contribute section
Idea from Patrick Mezard
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 30 Nov 2014 00:11:06 -0800] rev 1181
merge with stable
Faheem Mitha <faheem@faheem.info> [Fri, 28 Nov 2014 21:32:35 +0530] rev 1180
debian: update changelog to 5.0.1
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 30 Nov 2014 00:06:31 -0800] rev 1179
test: adapt test to stable output
Stable branch should pass test with mercurial stable branch.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Nov 2014 11:02:09 -0800] rev 1178
Added tag 5.0.1 for changeset 0f3090785283
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Nov 2014 11:01:29 -0800] rev 1177
evolve: update in file version
(I'll eventually -not- forget to do so)
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Nov 2014 10:52:33 -0800] rev 1176
Added tag 5.0.1 for changeset 51e1e962172c
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Nov 2014 10:49:39 -0800] rev 1175
readme: prepare for release 5.0.1
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Nov 2014 10:48:59 -0800] rev 1174
readme: update changelog
Martin von Zweigbergk <martinvonz@google.com> [Thu, 20 Nov 2014 16:12:04 -0800] rev 1173
evolve: tell user which "base of divergent changeset" is not found
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 20 Nov 2014 15:49:52 -0800] rev 1172
debugobsconvert: fix 6f08a8f6bb1d and add proper test
The changeset adding deduplication (6f08a8f6bb1d) was super buggy and dropped
all obsmarkers in the repo. We update the test to check this case and fix the
deduplication.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 20 Nov 2014 15:34:34 -0800] rev 1171
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 20 Nov 2014 15:33:59 -0800] rev 1170
debugobsconvert: fix a typo on "version"
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 20 Nov 2014 15:33:14 -0800] rev 1169
debugobsconvert: also deduplicate markers in the process
Various bug allowed identical or semantically identical marker to be added to
the repository. So we also filter duplicates when converting.
André Sintzoff <andre.sintzoff@gmail.com> [Thu, 20 Nov 2014 22:05:29 +0100] rev 1168
evolve: fix capitalization in docstring for commands
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 17 Nov 2014 16:04:48 +0100] rev 1167
test: ensure we echo prompt
Tool running using the shipped 'run-tests.py' instead of the mercurial one would
get different result otherwise.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 13 Oct 2014 11:09:35 +0200] rev 1166
debian: blacklist simple4server tests
simple4server is not part of the package.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 13 Oct 2014 10:22:24 +0200] rev 1165
debian: blacklist test-drop
drophack.py is not shipped.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 17 Nov 2014 15:49:39 +0100] rev 1164
debian: update control file to reflect dependency to mercurial 3.2
Julien Cristau <julien.cristau@logilab.fr> [Mon, 17 Nov 2014 15:45:24 +0100] rev 1163
evolve: fix the version number
The tag is 5.0.0 the content of the file was wrong.
Mike Edgar <adgar@google.com> [Tue, 18 Nov 2014 20:27:53 -0500] rev 1162
help: fix typo in help for 'obsolete' option added to import command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 14 Nov 2014 09:54:55 +0000] rev 1161
test: add an explicit test for simple4server with bundle2
This makes it more likely to we catch issue with the iteration of these two.
Ryan McElroy <rmcelroy@fb.com> [Wed, 29 Oct 2014 10:34:08 -0700] rev 1160
Make next/prev only move bookmarks optionally
Augie Fackler <raf@durin42.com> [Mon, 20 Oct 2014 22:16:24 -0400] rev 1159
obsup: hack extension to make in-place upgrading of obsolete markers easy
I tried upgrading my obsstore by doing a local clone as suggested by
Pierre-Yves and Sean, but that caused me to end up with a ton of
unstable changes that should have been marked dead. In fact, as far as
I can tell, most of the performance win of that upgrade came from the
fact that only about 46% (46672 of 102285) of my markers were brought
over with the copy-and-pull method.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 11 Nov 2014 15:48:02 +0000] rev 1158
merge stable into default
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 11 Nov 2014 12:38:49 +0000] rev 1157
evolve: fix selection of changeset to evolve from the middle of a stack (issue4434)
The evolve algorithm picked a bad changesets to evolve (unstable changeset with
no obsolete parent (but unstable parent). And then get confused assuming that is
the first parent was not obsolete, the second should be.
This changeset fixed the issue by preventing selection of direct descendant of
[.] when evolving.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 11 Nov 2014 11:28:01 +0000] rev 1156
merge
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 11 Nov 2014 11:26:57 +0000] rev 1155
merge back with compat branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 11 Nov 2014 11:26:18 +0000] rev 1154
create a branch compatible with mercurial between 3.0.1 and 3.1.2
Martin von Zweigbergk <martinvonz@google.com> [Wed, 05 Nov 2014 15:35:13 -0800] rev 1153
evolve: fix suggested commands in "parents are not common" hint
The argument to 'hg rebase' is --dest, not -dest. Also, the same
command should not be suggested twice -- the second option should be
the rebasing the other way around.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 05 Nov 2014 15:32:25 -0800] rev 1152
evolve: add missing newlines in "parents are not common" hint
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Nov 2014 11:41:10 +0000] rev 1151
test-touch: add a test for rename preservation after touch
This bug was recently fixed in 3.2.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Nov 2014 11:11:14 +0000] rev 1150
evolve: fix error during iteration over bumped changesets (bug38)
We are iterating over a manifest while altering it. We cannot use iteritems() in
this context. we move to items, that will be an issue for very large changesets.
anatoly techtonik <techtonik@gmail.com> [Mon, 20 Oct 2014 13:54:46 +0300] rev 1149
evolve: add various version info to save time on troubleshooting
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Nov 2014 10:25:20 +0000] rev 1148
readme: drop the mention to the wip repo
The time spend in work in progress repo are fairly low nowaday.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Nov 2014 10:24:35 +0000] rev 1147
readme: update the contribution process
The inability to easily pull from pull request on bitbucket and the lack of
obsolescence support there are too much pain. Patchbombed contribution are
flowing so we drop the bitbucket mention in the README.
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 02 Nov 2014 15:06:00 +0000] rev 1146
merge 5.x line into stable (drop pre hg-3.2 compat)
Matt Harbison <matt_harbison@yahoo.com> [Mon, 29 Sep 2014 21:31:27 -0400] rev 1145
evolve: add the missing newline to output messages where needed
Matt Harbison <matt_harbison@yahoo.com> [Mon, 29 Sep 2014 21:23:09 -0400] rev 1144
evolve: add the missing argument to a debug statement
Nathan Goldbaum <ngoldbau@ucsc.edu> [Tue, 28 Oct 2014 18:06:28 -0700] rev 1143
uncommit: abort when rev specifies the current changeset
The uncommit command now fails when the rev argument indicates the current
changeset. Previously this aborted in the changeset obsolescence machinery when
the current commit tries to obsolete itself.
Using the rev argument like this indicates a misunderstanding, so printing an
uncommit-specific error should make it easier to understand what went wrong.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 28 Oct 2014 23:18:56 -0400] rev 1142
test-amend: add a test for amend with no configured username (issue4211)
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 01 Nov 2014 13:48:34 +0000] rev 1141
evolve: preserve branch change
evolve will now preserve branch change. If the evolved changeset had a different
phases than its parent, this branch name will be preserved. This allow
propagation of branch change during amend but do not overwrite special branch
name on children,
Matt Harbison <matt_harbison@yahoo.com> [Sat, 25 Oct 2014 22:25:42 -0400] rev 1140
amend: allow the --logfile argument to work properly
Though documented to work, using --logfile previously set the message option to
that of the parent commit, and cause amend to abort with this message:
abort: options --message and --logfile are mutually exclusive
It's not clear why the 'edit' option is popped, but this option is only fetched
in order to let the core commit command do the work.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Oct 2014 15:05:54 -0700] rev 1139
Added tag 5.0.0 for changeset c13b408c0006
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Oct 2014 15:03:49 -0700] rev 1138
setup.py: bump version to 5.0.0
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Oct 2014 15:03:17 -0700] rev 1137
evolve: update tested with statement
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Oct 2014 15:01:37 -0700] rev 1136
README: update for 5.0 release
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Oct 2014 14:58:06 -0700] rev 1135
fixup previous changesets (after forgot to amend).
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Oct 2014 15:59:34 -0700] rev 1134
prune: stop reinjecting all selected revisions back into the revrange
This trigger quadratic complexity for no good reason.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Oct 2014 15:53:00 -0700] rev 1133
test: adapt to new hidden-changeset message
From c1aede895072 we have a nicer error message when accessing public
changesets:
abort: hidden revision '6'!
(use --hidden to access hidden revisions)
Augie Fackler <raf@durin42.com> [Fri, 17 Oct 2014 17:43:52 -0400] rev 1132
pullobsolete: handle migration from todosteps to donesteps
This make evolve compatible with change made in Mercurial (92bf9abc4deb)
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 16 Oct 2014 04:38:37 -0700] rev 1131
evolve: adapt to change in core rebase
Mercurial core changeset 63e889cc610d (And the ones around it) changed the way
graft and rebase work. We adapt to them.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 16 Oct 2014 14:06:52 -0700] rev 1130
test: ignore bytes lenght in message
We should be storying floating point number as floating point number. So the
size of the meta for fm0 format is going to be unstable. We cover them with a
glob.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 16 Oct 2014 04:20:00 -0700] rev 1129
evolve: adapt to the new metadata storage
Metadata are not stored as a "list" of (key, value) tuple instead of a binary
blob.
This adapt to ef880e28e56a in Mercurial.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 16 Oct 2014 11:54:44 -0700] rev 1128
debugobsstorestats: drop the average meta length
Does not have much sense with the existence of multiple format with different
meta storage. We drop it for now and will introduce and average markers length
later.
Faheem Mitha <faheem@faheem.info> [Sat, 11 Oct 2014 02:27:21 +0530] rev 1127
debian: remove .PHONY line completely
This does not work in the case of implicit pattern matching rules as
used by dh. Consider this example from Geoffrey Thomas:
$ ls -l
total 16
-rw-r--r-- 1 faheem faheem 17 Aug 16 20:27 blue.c
-rw-r--r-- 1 faheem faheem 17 Aug 16 20:27 green.c
-rw-r--r-- 1 faheem faheem 35 Aug 16 20:26 Makefile
-rw-r--r-- 1 faheem faheem 17 Aug 16 20:27 red.c
$ cat Makefile
%: %.c
gcc -o $@ $<
.PHONY: blue
$ make red
gcc -o red red.c
$ make green
gcc -o green green.c
$ make blue
make: Nothing to be done for blue'.
The Make manual
(http://www.gnu.org/software/make/manual/make.html#Phony-Targets) says
Since it knows that phony targets do not name actual files that
could be remade from other files, make skips the implicit rule
search for phony targets (see Implicit Rules).
Thanks to the good folks on #debian-mentors on OFTC for instruction
and explanation in these matters.
Faheem Mitha <faheem@faheem.info> [Sat, 11 Oct 2014 02:14:12 +0530] rev 1126
debian: replace clean with override_dh_auto_clean
The current version does not call the default dh_auto_build, which is
a bug. This is required in particular for cleaning the build
directories.
Faheem Mitha <faheem@faheem.info> [Sat, 11 Oct 2014 04:23:22 +0530] rev 1125
debian: replace build line with a override_dh_auto_build line
This is more in line with how dh is supposed to work. In particular,
dh_auto_build is functionally equivalent to the repeated "dh build
--with python2 --buildsystem=python_distutils" used currently.
Faheem Mitha <faheem@faheem.info> [Sat, 11 Oct 2014 02:02:05 +0530] rev 1124
debian: remove clean target before implicit match rule
This is redundant because it is a match-everything rule. Possibly a
typo.
Faheem Mitha <faheem@faheem.info> [Sat, 11 Oct 2014 02:36:46 +0530] rev 1123
debian: Add DH_VERBOSE, commented out, for debugging convenience
Matt Harbison <matt_harbison@yahoo.com> [Thu, 02 Oct 2014 21:10:48 -0400] rev 1122
evolve: wrap exchange.push() for compatability with core mercurial 4d52e6eb98ea
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 08 Oct 2014 18:17:21 -0700] rev 1121
drophack: use `first` and `last` on smartset
This matches the new changes in mercurial core.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 08 Oct 2014 18:16:52 -0700] rev 1120
evolve: use `first` and `last` on revset
this match change in mercurial core.
G: changed hgext/evolve.py
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 02 Oct 2014 15:53:54 -0500] rev 1119
test: adapt to core mercurial 9ab18a912c44
This changesets improved the output of prompt during test.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 02 Oct 2014 15:50:07 -0500] rev 1118
evolve: adapt to core changeset 4f14303e8954
pushop.ret is now pushop.cgresult
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 02 Oct 2014 14:16:32 -0500] rev 1117
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 30 Sep 2014 10:27:11 -0500] rev 1116
evolve: update evolve merge message
People are apparently unaware of --succ
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 30 Sep 2014 10:27:54 -0500] rev 1115
import: fix the "is None" check for the Node
We are checking the wrong variable.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 22 Sep 2014 17:27:57 -0700] rev 1114
test: remote "date" from the output of obsmarker meta
Data is no longer a generic meta. it has its own field now.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 22 Sep 2014 17:24:23 -0700] rev 1113
test: adapt to mercurial changes
Changeset 816be4ca4ae2 in core make hg config return non-zero when no value
match the filter.
Siddharth Agarwal <sid0@fb.com> [Wed, 17 Sep 2014 13:38:24 -0700] rev 1112
evolve: wrap setparents calls in begin/endparentchange
Mercurial rev d259322a394b added a requirement to wrap any dirstate.setparents
calls and their associated dirstate changes in begin/endparentchange.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Sep 2014 09:06:18 +0200] rev 1111
merge with stable
A couple of test fix were added on stable.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 12 Aug 2014 21:02:34 -0400] rev 1110
test: add glob annotations where Mercurial's run-tests.py suggests
These happen to also be 5 of the 6 tests that warn about no result code when run
on Windows. Probably not a coincidence.
The tests previously warned about no result code whether or not it was run
interactively. They only started working when test output changes were accepted
in interactive mode, and these globs were added automatically.
Matt Harbison <matt_harbison@yahoo.com> [Wed, 03 Sep 2014 21:25:13 -0400] rev 1109
evolve: really fix the 'grab' alias on Windows
Something seems to have happened when importing cb36a4eb0157- it dropped the $@
argument to --rev, and it picked up a bunch of test changes for the obsolete
sha1 replacement patch. Instead of backing it out and breaking the tests for
the sha1 replacement, this just fixes the missing $@.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 03 Sep 2014 23:56:39 +0200] rev 1108
evolve: keep vague compatibility with 3.1
Matt Mackall work flow requires this to not crash in fire with 3.1. We apply
basic bandage to stop the bleeding.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 02 Sep 2014 20:11:45 +0200] rev 1107
merge: all the stable sweetness into default
Matt Harbison <matt_harbison@yahoo.com> [Sat, 09 Aug 2014 19:12:16 -0400] rev 1106
evolve: replace each obsolete sha1 in the description with its latest successor
Obsolete csets are hidden by default and don't get pushed to the parent repo.
In order to avoid broken references in commit messages, it makes sense to evolve
those references to the latest and greatest successor, as each cset containing
them is evolved. Of course, stale references can still occur if a commit in
branch 'A' references something in branch 'B', and that something in 'B' is
evolved but 'A' isn't subsequently evolved.
This alleviates the user that is evolving a series of commits from having to
1) recognize that there is a hash that needs updating in any one of the series
2) look up the latest successor manually
3) hg amend -e
The regular expression for matching and the logic for replacing are borrowed
from the convert extension [1].
It might be nice for the output to state the reason that the reference couldn't
be updated (it was pruned, split or diverged), but that may be excessive for
something only displayed in verbose mode. (Maybe it should be a ui.status()
instead?)
[1] http://selenic.com/hg/rev/45562379ce4e
Matt Harbison <matt_harbison@yahoo.com> [Sat, 09 Aug 2014 18:36:28 -0400] rev 1105
test: add parent hash to commit message in test-evolve.t
This (slightly) reduces the changes to the test when hashes in the commit
message are evolved in the next commit.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 12 Aug 2014 19:09:53 -0400] rev 1104
evolve: fix the 'grab' alias to work on Windows
For some reason, the variable wasn't substituted on Windows in this case.
From the test suite:
$ hg grab 8
'' is not recognized as an internal or external command,\r (esc)
operable program or batch file.\r (esc)
This change seems hacky, but there isn't a readily available example of setting
up a shell alias like this from a python module to know if there is a better
way, and it seems like this is maybe just a convenience for tests, since there
is no documentation for the aliases.
The local copy of run-tests.py appears to predate the Windows support in the
Mercurial repository's version, and fails each test with:
The system cannot find the path specified.
However, with this change and blacklisting test-simple4server.t, the tests can
(mostly) be run on Windows like so:
$ ../../hg/tests/run-tests.py --with-hg=../../hg/hg --blacklist windows
Skipped test-simple4server.t: blacklisted
Warned test-obsolete.t: no result code from test
Warned test-tutorial.t: no result code from test
Warned test-evolve.t: no result code from test
Warned test-userguide.t: no result code from test
Warned test-sharing.t: no result code from test
Warned test-drop.t: no result code from test
Failed test-prune.t: output changed
# Ran 41 tests, 1 skipped, 6 warned, 1 failed.
Faheem Mitha <faheem@faheem.info> [Sun, 24 Aug 2014 01:02:18 +0530] rev 1103
debian: add README to the list of documents shipped with the package.
Faheem Mitha <faheem@faheem.info> [Sun, 24 Aug 2014 01:42:34 +0530] rev 1102
debian: add missing curl Build-Depends
curl is required to run the tests.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 25 Apr 2014 14:14:29 -0700] rev 1101
prune: work around lazy revset slowdown
Since 3.0 lazy revset is making some revset very slow. We currently work around
the issue by using a simple loop instead.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 02 Sep 2014 19:19:17 +0200] rev 1100
readme: act that there will not be a 4.1.1 release
David Soria Parra <davidsp@fb.com> [Fri, 29 Aug 2014 14:26:17 +0200] rev 1099
evolve: write a status message when the working directory changes
Evolve changes the working directory during atop, etc which can confuse people
as they are not aware that this happend. The ideal solution is to not have
evolve change it, however mercurial limitations don't allow us to do that at the
moment. So instead we are printing a status message that the working directory
changed.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 09:29:02 +0200] rev 1098
merge small default improvement before dropping compat with released Mercurial
We are going to drop a bunch of compatibility layer.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 16:13:19 +0200] rev 1097
pull: use discovery to pull less obsmarkers through bundle2
This hooks in the official API for bundle2
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 16:13:01 +0200] rev 1096
pull: run obsmarker discovery only on the common set
If the discovery is run before the obsmarker push, pulled revs does not exist in
the repository yet.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 16:11:22 +0200] rev 1095
evolve: fix a typo in a long function name
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 15:19:19 +0200] rev 1094
bundle2: burn some more of the old code
Some of it survived.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 18:59:11 +0200] rev 1093
obsexch: respect todosteps when using the old push
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 18:28:22 +0200] rev 1092
compat: update the tests after the jump
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 18:16:10 +0200] rev 1091
compat: use in-core encodemarkers
Now exist in core witha slightly different format.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 18:15:39 +0200] rev 1090
compat: rename encodeonemarkers to _fm0encodemarkers
This is getting renamed in core.
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 27 Jul 2014 23:09:45 +0200] rev 1089
enable bundle2
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 11:56:16 +0200] rev 1088
drop the debug output
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 18:28:09 +0200] rev 1087
test-simple4server: add error output for http
This is useful in case of failure.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 10:44:40 +0200] rev 1086
compat: adapt to change to memctx
Since core mercurial 650b5b6e75ed we must return None instead of raising
IOError. Hooray for mads!!
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:49:08 +0200] rev 1085
evolve: use pushkeyescape from core
It exists for all version we are compatible with.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:55:20 +0200] rev 1084
evolve: display more message
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:36:35 +0200] rev 1083
evolve: drop a very old safe guard about bad marker
The do not clean marker with nullrev successors. I assume none of them remains.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:31:21 +0200] rev 1082
pull: drop the custom bundle2 part
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:25:18 +0200] rev 1081
obsexc: add support for evoext_pushobsmarkers_0 on localpeer
This will unify the behavior of exchange in the tests.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:24:40 +0200] rev 1080
evolve: allow read() from the magic StringIO
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:12:01 +0200] rev 1079
evolve: drop old obsmarker discovery code
It as not caller anymore.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:09:36 +0200] rev 1078
obsexc: use the common discovery
We drop the hand made discovery and rely on the general one introduced some time
ago.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 12:29:40 +0200] rev 1077
obsexc: push nothing if push fail
This is closer to the future behavior with bundle2.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 10:13:44 +0200] rev 1076
discovery: hook on the official discovery for obsmarker
This will let the discovery be done once and used by core.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 12:05:49 +0200] rev 1075
discovery: use a different setup step for discovery
This will ease the dropping of the other part later.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 12:04:57 +0200] rev 1074
evolve: remove unused drop random
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 12:02:53 +0200] rev 1073
obshash: resist to unknown revision during discovery
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 10:49:58 +0200] rev 1072
code movement: gather discovery code together
The discovery code is the one thing that will survive the great purge.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 10:53:09 +0200] rev 1071
bundle2: drop custom compat
We'll rely on the core implementation to use bundle2.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 10:22:50 +0200] rev 1070
drop relevant marker compat
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 10:21:30 +0200] rev 1069
evolve: always use the transaction version of phase movement
This drop compat with all known released version of Mercurial.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 10:29:31 +0200] rev 1068
evolve: drop debugobsoleterelevant
Core gained this capability usig `hg debugobsolete --rev REV`
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 20 Aug 2014 20:49:48 -0700] rev 1067
evolve: yield to relevant markers handling in core
The handling of obsolescence marker is now performed in core. If we detect a
mercurial with such power we skip the wrapping from evolve.
This changeset also suffer from massive diff from the change in display of
obsolescence marker with parent information introduced at the same time in core.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 20 Aug 2014 21:14:49 -0700] rev 1066
test-wireproto: adapt to output change from core
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 17:07:55 -0700] rev 1065
test: update test to new date formatting in debuobsolete output
The date is now a first class citizen with proper formatting.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 16:39:42 -0700] rev 1064
test: update help output to future 3.2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 15:57:44 -0700] rev 1063
merge with stable
Faheem Mitha <faheem@faheem.info> [Sun, 17 Aug 2014 05:05:22 +0530] rev 1062
pkg: make tests pass using the generated tarball
Exclude tests/test-drop.t and include tests/_exc-util.sh,
tests/dummyssh, and hgext/simple4server.py.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 17:42:19 -0700] rev 1061
compat: always call metadata as a keyword argument
Those function are gaining more arguments. using keyword argument keep use safe
in all version.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 16:54:32 -0700] rev 1060
test: work around a bug in debugobsolete
The defautl date was wrong all along. So we use a fixed date for all tests.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 12:56:01 -0700] rev 1059
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 00:46:23 -0700] rev 1058
uncommit: add a --rev argument
The uncommit command now taks a --rev argument. This lets restore the file
content in the current commit to another revision (instead of just is parent
content). This still does not touch the working directory content.\
This allow the longly awaited:
hg uncommit --hidden --rev 'precursors(.)'
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 14 Aug 2014 15:30:04 -0700] rev 1057
readme: add missing changelog entry
My dear friends changelog.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 14 Aug 2014 15:26:55 -0700] rev 1056
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 14 Aug 2014 15:17:02 -0700] rev 1055
import: handle patch with no node information
patch created by old Mercurial version or other tool have no node information.
We cannot create marker in this case.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 14 Aug 2014 15:14:18 -0700] rev 1054
import: compare binary node with binary node when using --obsolete
hex(N) != N
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 10 Aug 2014 23:58:31 -0700] rev 1053
README: fix version number
Faheem Mitha <faheem@faheem.info> [Mon, 11 Aug 2014 01:57:09 +0530] rev 1052
relocate: fix typo
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 23:16:24 -0700] rev 1051
merge back with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 23:15:43 -0700] rev 1050
Added tag 4.1.0 for changeset 4d5d101e878f
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 23:15:26 -0700] rev 1049
pkg: prepare release 4.1.0
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 23:14:00 -0700] rev 1048
merge default into stable
Release 4.1.0 is coming
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 23:02:26 -0700] rev 1047
evolve: adds a --confirm option
This option lets the use double check if it wants the evolve operation.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 23:11:09 -0700] rev 1046
evolve: gather evolve output together
We stop relying on ui.status being muted when --quiet is used. Instead we use
plain write and hide this behind an explicite ui.quiet check.
This will help use enforcing this output in the comming --confirm mode.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 21:06:48 -0700] rev 1045
doc: forgotten amend
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 12 Jun 2014 14:41:13 -0700] rev 1044
evolve: attempt to clarify the documentation around --all and --any
This have been confusing to people. We try to be a bit more verbose in the
evolve help.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 18:15:01 -0700] rev 1043
evolve: re enable progress for all
Progress is an important information for user facing slow push.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 18:06:08 -0700] rev 1042
evolve: stop pretending we are pulling markers when we don't
If discovery did not found any unknown marker, we should not display the
"pulling marker" message.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 18:01:02 -0700] rev 1041
evolve: do not even try to pull if all remote markers are known
previously we were explicitly pulling an empty bundle.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 17:49:22 -0700] rev 1040
evolve: add "obsolescence" in front of marked in the previous message
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 17:46:20 -0700] rev 1039
evolve: make the "X markers added" message during pull important
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 17:40:01 -0700] rev 1038
evolve: make the "pulling obsolescence marker" message important
This is likely to take some time the user needs to know what is going on.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 17:34:22 -0700] rev 1037
evolve: add "absolescence" in front of markers in the message
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 17:29:29 -0700] rev 1036
evolve: re-introduce the "pushing 42 markers…" message
Informing the user about marker behind pushed sounds a good idea.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 17:16:29 -0700] rev 1035
evolve: hide the OBSEXC message behind a config option
This will lets most people ignore them while keep evolve dev having a close look
at them.
Some of the most useful messages will be reintroduced for all in coming
changeset.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 17:10:31 -0700] rev 1034
evolve: move OBSEXC progress in a dedicated function
This will help use to rework them.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 16:48:38 -0700] rev 1033
evolve: move OBSEXC message in a dedicated function
This will help use to rework them.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 15:55:04 -0700] rev 1032
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 15:50:26 -0700] rev 1031
Added tag 4.0.1 for changeset e914884fb721
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 15:43:07 -0700] rev 1030
evolve: prepare release 4.0.1
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 15:48:42 -0700] rev 1029
evolve: fix distribution for 4.0.0
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 15:40:19 -0700] rev 1028
evolve: update readme
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 15:33:39 -0700] rev 1027
evolve: update tested with statement
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 08 Aug 2014 10:40:47 -0700] rev 1026
test: apply message changes introduced by mercurial 3.1
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 25 Jul 2014 14:27:16 +0200] rev 1025
test: use `hg log` in the `getid` function
using `hg id` to retrieve full lenght node requires to use --debug. This may
include debug output (regarding branch cache invalidation for example) that
breaks the test. We now use `hg log` with a custom template. This is a simple,
clean and robust solution.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 17:05:57 -0700] rev 1024
evolve: add a tr arguement to retractboundary
Mercurial core is adding a transaction argument to its phase movement function.
We do the same. If Mercurial appears to be an old version (without the extra
args) we call it the old way.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 18:10:00 -0700] rev 1023
relocate: add transaction around phase movement
cheap way to acces access to the transaction object
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 17:14:00 -0700] rev 1022
uncommit tr
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 18:06:17 -0700] rev 1021
evolve: saner locking an transaction in `hg evolve`
Each trouble solved used to handle locking and transaction on its own. We now
have a top level locking and transaction. This will helps use making sure phase
are moved within a transaction.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 17:08:51 -0700] rev 1020
uncommit: saner locking scheme
(and do it in the right order in the process)
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 17:40:55 -0700] rev 1019
prune: lock inside the try
tss…
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 17:39:32 -0700] rev 1018
debugrecordpruneparents: release tr the same way than the lock
Nicer code is nicer.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 17:37:28 -0700] rev 1017
evolve: drop useless wlock in rewrite
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 16:55:41 -0700] rev 1016
divergence: actually use the hint that have been around for age
Having a hint in the code is good, having it displayed is usually seens as
better.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 16:07:53 -0700] rev 1015
evolve: rename `tr` variable (for troubled) to `tro`
tro is usually dedicated to transaction.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 16:04:07 -0700] rev 1014
evolve: add a custom layer around retractboundary
retract boundary is about to gain a new argument in core, we need somethign to
handle this
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Jul 2014 13:40:40 -0700] rev 1013
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Jul 2014 13:38:33 -0700] rev 1012
evolve: point to the core mercurial tracker for bugfix
As per Matt Mackall request evolution related bug should be filled again the
main tracker as at some point al lof evolve wil be in core.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Jul 2014 13:37:46 -0700] rev 1011
evolve: drop reference to 2.3 in the extension help text
We are far away from 2.3 now.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Jul 2014 13:26:46 -0700] rev 1010
readme: update the work in progress repository location
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Jul 2014 13:24:19 -0700] rev 1009
readme: update the official documentation location
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Jul 2014 13:14:13 -0700] rev 1008
evolve: deprecated --obsolete and --old-obsolete option on commit and graft
Such option are unlikely to make it into core, so we deprecate them to avoid uer
discovery them and getting used to them.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 25 Jul 2014 17:13:54 +0200] rev 1007
push: put phase in the same bundle2 than changegroup and obsmarkers
Note that the usual phase push from core will be performed in all case. But the
discovery should find already in sync phase at that time. The old ways sync will
be properly skipped when this logic is introduced into core.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 25 Jul 2014 16:54:08 +0200] rev 1006
push: put obsmarkers in the same bundle2 than changeset
When client is Mercurial 3.1 and server have proper evolve version and both side
have bundle2 enabled, we'll includes a part containing obsolescence markers.
When obsmarkers are included to the main bundle2 push, they will failed to be
pushed if the changeset failed to be pushed (and reciprocally).
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 28 Jul 2014 00:08:06 +0200] rev 1005
push: extract obsmarkers discovery in a dedicated function
The need to factorise the computation of the markers to send in a dedicated
function. This prepare the inclusion of obsmarkers in an atomic bundle2 push.
For now, when obsmarkers are pushed using bundle2, they are still doing it on
their own, in a dedicated bundle2 push.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 29 Jul 2014 17:15:57 -0700] rev 1004
evolve: update the tested with statement
Tested with the soon to be release 3.1.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 29 Jul 2014 17:15:01 -0700] rev 1003
test: adapt to upstream message change
A message gained parenthesis in 3.1 we reflect than in the test.
Nathan Goldbaum <ngoldbau@ucsc.edu> [Thu, 24 Jul 2014 12:02:53 -0700] rev 1002
uncommit: improve error message for use with no arguments
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 25 Jul 2014 14:27:16 +0200] rev 1001
test: use `hg log` in the `getid` function
using `hg id` to retrieve full lenght node requires to use --debug. This may
include debug output (regarding branch cache invalidation for example) that
breaks the test. We now use `hg log` with a custom template. This is a simple,
clean and robust solution.
Faheem Mitha <faheem@faheem.info> [Sun, 13 Jul 2014 21:54:03 +0530] rev 1000
readme: mention patchbomb usage and patch description guidelines on wiki
Faheem Mitha <faheem@faheem.info> [Wed, 23 Jul 2014 12:08:48 +0200] rev 999
debian: add line to clean target to delete error files caused by failing tests
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Mon, 30 Jun 2014 13:38:49 -0400] rev 998
fold: improve error messages for multiple heads and roots
This commit adds hints and i18n to the error messages about non-linear
revisions, along with corresponding tests.
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Mon, 30 Jun 2014 13:37:15 -0400] rev 997
fold: reword error message for public commits
This rewords the error message when attempting to fold public csets.
It is somewhat clearer to not use contractions in formal writing. It
also uses i18n for it. This commit also adds a new test for this error
message.
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Mon, 30 Jun 2014 13:29:49 -0400] rev 996
fold: overhaul handling of revisions with --rev (BC)
The fold command parsed the revision arguments in a very peculiar and
idiosyncratic fashion: if revisions were passed without a --rev
argument, then they would all be extended to ".", but if they were
passed with --rev, then no extension would happen. Passing revisions
both with and without --rev would abort. This is inconsistent with the
way all other hg commands parse revision arguments. We have several
examples of command where several revisions are passed, and the --rev
option is optional for specifying those revisions (update, strip,
export).
This patch alters the way in which fold parses its revision arguments.
No distinction is made between revisions passed with or without the
--rev argument. Regardless if a single or multiple revision is
specified, all will be folded together into the parent of the working
directory. If the --exact argument is passed, then the parent of the
working directory is ignored and the specified revisions must be a
single contiguous line.
The docstring and tests are modified accordingly.
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Mon, 30 Jun 2014 10:25:08 -0400] rev 995
fold: emit error message when folding a single revision
Previously, a confusing error state would happen if the revision set
to fold was a singleton.
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Mon, 30 Jun 2014 10:27:15 -0400] rev 994
fold: clarify message for empty revision set and abort instead (BC)
I find it clearer that there are no revisions to fold because none
were specified. Otherwise it seems ambiguous: maybe there are no
revisions to fold because it's impossible to fold whatever was given?
In analogy of other commands that are given no revisions (e.g. strip,
graft), this is also now an abort instead of a mere error message,
which is a BC.
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Fri, 04 Jul 2014 09:29:13 -0400] rev 993
evolve: do not use _ as an unused variable
The _ variable is the i18n function from core Mercurial, so locally
assigning to it can lead to name clashes.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 26 Jun 2014 15:31:49 +0100] rev 992
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 26 Jun 2014 15:27:25 +0100] rev 991
merge with very old 2.2 branch
Greg Ward <greg@gerg.ca> [Mon, 23 Jun 2014 22:04:32 -0400] rev 990
test-obsolete: make log templates more consistent: add {desc} to one
This has the extra added benefit of making the divergence situation
easier to understand.
Greg Ward <greg@gerg.ca> [Mon, 23 Jun 2014 21:03:57 -0400] rev 989
test-obsolete: explicitly show which changesets are divergent
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 23 Jun 2014 02:31:53 -0700] rev 988
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 23 Jun 2014 02:19:04 -0700] rev 987
update readme
(I should have a hook preventing me to push to public repo with uncommited
changes)
Greg Ward <greg@gerg.ca> [Sun, 22 Jun 2014 20:10:07 -0400] rev 986
evolve: add --tool option so we don't have to use HGMERGE
Greg Ward <greg@gerg.ca> [Sun, 22 Jun 2014 12:01:11 -0400] rev 985
amend: add -U/--current-user option (inspired by mq)
Greg Ward <greg@gerg.ca> [Sat, 21 Jun 2014 18:31:21 -0400] rev 984
tests: fix grammar, spelling, punctuation in comments
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 13 Jun 2014 12:49:16 -0700] rev 983
evolve: minor reorganisation of code responsible for evolve output
This does not change any of the semantic as status is not printed when --quiet
is provided. This juste make it more explicit that the output are related.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 12 Jun 2014 16:10:01 -0700] rev 982
template: add a troubles keyword
This keyword list all evolution troubles that affect a changeset. Evolution
troubles can be "unstable", "divergent" and "bumped".
Greg Ward <greg@gerg.ca> [Fri, 06 Jun 2014 17:21:59 -0400] rev 981
docs: update copyright statement used by sphinx
Greg Ward <greg@gerg.ca> [Fri, 06 Jun 2014 17:20:30 -0400] rev 980
docs: add concepts guide (the set theory behind obsolescence)
Greg Ward <greg@gerg.ca> [Fri, 06 Jun 2014 17:19:17 -0400] rev 979
docs: add guide to sharing mutable history
Greg Ward <greg@gerg.ca> [Thu, 05 Jun 2014 22:11:04 -0400] rev 978
docs: add new user guide
This has also been reviewed to death on evolve-testers. There are
still a couple of short sections to write (clearly marked "TODO"), and
one example to add. But (if I may be so bold) this is a gigantic
improvement over the current docs, so it really should get merged.
Incidentally, the figures are all SVG files created with Inkscape.
They're not perfect, but they're pretty nice. Anyone who knows a
better way to create technical diagrams is welcome to contribute.
One wart: there's a test script that accompanies the document and
largely duplicates it, but I haven't unified them. I've been
concentrating on writing the best possible content, not on fiddling
with tools. I suspect that unifying them will be non-trivial, but
definitely worth doing.
Greg Ward <greg@gerg.ca> [Thu, 05 Jun 2014 21:57:34 -0400] rev 977
docs: rewrite index page (including dangling links to future docs)
This has been reviewed to death on the evolve-testers mailing list.
I've made some minor tweaks since the last round of reviews, but the
main content is the same.
Greg Ward <greg@gerg.ca> [Fri, 06 Jun 2014 17:43:45 -0400] rev 976
amend: add -D/--current-date option, just like mq's qrefresh has
Carefully designed so we can easily add -D to other changeset-creating
commands (probably anything that takes -d), and so that we can add
-U/--current-user as well. When that's done, the date and user options
should be very similar to those in MQ.
Greg Ward <greg@gerg.ca> [Thu, 05 Jun 2014 21:27:28 -0400] rev 975
amend: explicitly test -d option
Greg Ward <greg@gerg.ca> [Thu, 05 Jun 2014 21:27:06 -0400] rev 974
amend: in tests, do not rely on defaults -- always use explicit -d
Having a default -d option will make it hard to test
-D/--current-date, which is coming shortly: presence of -d overrides
-D, just like with mq's qrefresh.
Greg Ward <greg@gerg.ca> [Thu, 05 Jun 2014 18:07:39 -0400] rev 973
evolve: fix createmarkers() wrapper to accept an iterable
Docstring in mercurial.obsolete says "<relations> must be an iterable
of ...", and hgsubversion takes it at its word and passes a generator.
Until around Mercurial 3.0, this did not cause any problems, but now
it does: in a repo with both evolve and hgsubversion enabled, pushing
to Subversion when obsolete changesets are present causes a crash:
[...]
File "/home/gward/src/hgsubversion/hgsubversion/wrappers.py", line 346, in push
obsolete.createmarkers(repo, relations)
File "/home/gward/src/hg-stable/mercurial/extensions.py", line 196, in wrap
return wrapper(origfn, *args, **kwargs)
File "/home/gward/src/hg-evolve/hgext/evolve.py", line 332, in _createmarkers
relations[idx] = (prec, sucs, meta)
TypeError: 'generator' object does not support item assignment
Since hgsubersion is playing by the documented rules, evolve must be
the guilty party here.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 03 Jun 2014 16:45:02 -0700] rev 972
merge with 4.0.0
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 03 Jun 2014 16:44:24 -0700] rev 971
Added tag 4.0.0 for changeset 0304fc2bab15
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 03 Jun 2014 15:38:16 -0700] rev 970
pkg: prepare release of version 4.0.0
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 03 Jun 2014 15:36:58 -0700] rev 969
pkg: drop pushexperiment from the install list
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 03 Jun 2014 14:31:15 -0700] rev 968
merge stable into default
default is meant to be a superset of stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 03 Jun 2014 14:30:23 -0700] rev 967
merge default in to stable
evolve 4.0.0 is coming.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 03 Jun 2014 14:29:24 -0700] rev 966
merge back into stable
The 2,7 is meant to be a subset of stable.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 03 Jun 2014 14:28:31 -0700] rev 965
prepare a branch for compatibility with mercurial 2.7 to 3.0(.0)
Evolve 4.0.0 is coming
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Jun 2014 15:22:23 -0700] rev 964
test: update to output change introduced by future 3.1
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 21 May 2014 12:01:28 -0700] rev 963
simple4server: backport the bundle2 exchange
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 May 2014 22:36:47 -0700] rev 962
evolve: install progress support for the bundle2 pull path
The custom wireprotocol command had a trick to display progress while pulling.
We reinstall such logic for the new path using bundle2.
Its notable that we are using the bundle2 advisory parameter for this purpose.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 May 2014 17:21:36 -0700] rev 961
evolve: install progress support for the bundle2 push path
The custom wireprotocol command had a trick to display progress while pushing.
We reinstall such logic for the new path using bundle2.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 May 2014 14:39:13 -0700] rev 960
evolve: add a pull path using bundle2
Instead of using a dedicated wireprotocol commands, we use bundle2 to transmit
an obs marker parts. This aims at both testing bundle2 more and to limit the
amount of special code we needs to put in simple for server to fit our needs.
The massive test changes comes from the fact we can use this fast path for both
remote and local push.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 03 Jun 2014 02:13:02 -0700] rev 959
evolve: advertise obsmarker creation in the transation hook
This will let extensions hooks on marker exchange.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 May 2014 15:01:33 -0700] rev 958
evolve: add bytes and new marker data when processing part
This will helps use to keep printing useful message when pulling through
bundle2.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 May 2014 13:41:27 -0700] rev 957
evolve: add a push pass using bundle2
Instead of using a dedicated wireprotocol commands, we use bundle2 to transmit
an obs marker parts. This aims at both testing bundle2 more and to limit the
amount of special code we needs to put in simple for server to fit our needs.
The massive test changes comes from the fact we can use this fast path for both
remote and local push.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Jun 2014 14:44:13 -0700] rev 956
evolve: make exchange output compact in the old pushkey case too.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 03 Jun 2014 01:37:08 -0700] rev 955
evolve: compatibility with memfilectx change
The future 3.1 have have more sophisticated memfilectx object. We add a
compatibility layer for them.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 03 Jun 2014 01:22:31 -0700] rev 954
evolve: abstract access to context.memfilectx
This class is getting altered in the future Mercurial 3.1.0. This changeset
prepare a compatibility layer.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Jun 2014 14:18:29 -0700] rev 953
import: drop version check for ``import --obsolete``
This code base does not support anything below mercurial-3.0 anyway.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 03 Jun 2014 01:16:39 -0700] rev 952
evolve: bump requirement to 3.0.1
Use of bundle2 for pulling will require this version or above.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Jun 2014 14:58:45 -0700] rev 951
test: fix test-import condition
The help text is ``"only(`` not `` only(``
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 31 May 2014 00:23:25 -0700] rev 950
merge with stable
Angel Ezquerra <angel.ezquerra@gmail.com> [Tue, 29 Apr 2014 22:25:57 +0200] rev 949
evolve: make most line lenghts 80 characters or less
There are still a few lines that are above 80 characters in length. Those have
not been changed because doing so would make the code a bit less clear.
Angel Ezquerra <angel.ezquerra@gmail.com> [Tue, 29 Apr 2014 22:25:48 +0200] rev 948
evolve: start all util.Abort messages with lower case
Angel Ezquerra <angel.ezquerra@gmail.com> [Tue, 29 Apr 2014 22:25:35 +0200] rev 947
evolve: improve wording of a few of messages
Angel Ezquerra <angel.ezquerra@gmail.com> [Tue, 29 Apr 2014 22:25:21 +0200] rev 946
evolve: fix a couple of typos
Greg Ward <greg@gerg.ca> [Sun, 25 May 2014 17:37:13 -0400] rev 945
evolve: fix spelling error
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 May 2014 13:45:52 -0700] rev 944
evolve: more compact output in the wire protocol case
We made the wording more similar and use less line. The writing operation is
usually fast so we do not needs a specific line for it.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 May 2014 23:57:48 -0700] rev 943
evolve: test exchange through wireprotocol
The wireprotocol version of the exchange was only tested in the
`simple4server.py` case.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 May 2014 13:30:12 -0700] rev 942
evolve: align working during obsmarker push using pushkey
lets use the same wording everywhere to prevent user confusion.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 19 May 2014 17:43:31 -0700] rev 941
evolve: drop some pre-3.0 compatibility code
This extension already requires Mercurial 3.0
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 19 May 2014 17:45:28 -0700] rev 940
evolve: update the errors message to request mercurial 3.0 and above
And update the checking code too. This extension already requires 3.0 for some
time.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 19 May 2014 12:44:30 -0700] rev 939
readme: remove some duplicated entries
Those changes where backported to 3.3.2.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 19 May 2014 12:43:03 -0700] rev 938
readme: remove embarrassment
There were… conflict marker in this file. Its over, they are gone now.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 14 May 2014 16:42:41 -0700] rev 937
merge with 3.3.2
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 14 May 2014 16:40:50 -0700] rev 936
Added tag 3.3.2 for changeset a03ea39aca2a
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 14 May 2014 16:36:37 -0700] rev 935
prepare release 3.3.2
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 10 Apr 2014 16:02:02 -0400] rev 934
fold: add squash as a possible alias
In order to respect the habituation of the majority of DVCS users and
to make this feature more easily discoverable, the very common
"squash" terminology should be added as a synonym to "fold". Since git
does not have a squash command, this should be safe.
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Mon, 14 Apr 2014 15:46:27 -0400] rev 933
fold: add --message and --logfile options
Like other commit-creating commands, this add two options for
specifying the resulting commit message, with tests. If either of
these options is specified, no editor is popped up asking for a commit
message.
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 11 May 2014 01:29:11 -0700] rev 932
merge with stable
Dan Villiom Podlaski Christiansen <dan@cabo.dk> [Thu, 09 Jan 2014 11:33:15 +0100] rev 931
prune: update to successor rather than parent when prune '.'
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 09 May 2014 03:06:36 -0700] rev 930
import: --obsolete flag for automatic obsolescence marker creation
A new `--obsolete` flag is added to import. When present, the new node will be
marked as a successors of the one specified in the `Node` field of the imported
patch. No marker are created when revision have the node expected in the patch.
This improves email based work flow where implicit rebase are likely to happen
and extra information are lost, changing the hash.
This new behavior requires a flags, otherwise the `hg export x | hg import -`
idiom would change, turning the source obsolete.
(Changing from `hg graft x` to `hg rebase --dest . --rev x`)
This change only takes effect when using Mercurial 3.0 and above
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 11 May 2014 01:17:02 -0700] rev 929
merge with all other change to 3.3
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 11 May 2014 01:14:34 -0700] rev 928
update 3.3.0 readme to include minimal mercurial requirement
This clarify the situation.
Greg Ward <greg@gerg.ca> [Tue, 15 Apr 2014 14:06:47 -0400] rev 927
evolve: fix grammar in a comment
Greg Ward <greg@gerg.ca> [Tue, 15 Apr 2014 14:06:20 -0400] rev 926
README: document how to run the tests
Faheem Mitha <faheem@faheem.info> [Sat, 03 May 2014 03:46:21 +0530] rev 925
uncommit: change 'kill' to 'prune' in error message
'kill' was renamed to 'prune' Long time ago.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 29 Apr 2014 16:31:21 -0700] rev 924
readme: the forgotten update strike again
Sean Farley <sean.michael.farley@gmail.com> [Fri, 25 Apr 2014 19:58:33 -0500] rev 923
evolve: protect call to rebase within a wlock (#42, #35, #16)
Without a wlock, repo.commit would blow away the dirstate's parents on OSes
that have no 'os.symlink' support in python, leading evolve to produce a merge
instead of a rebase. If a user ran the rebase command instead of evolve, then
things would work because rebase is wrapped in a giant wlock.
Unfortunately, we can't use the same idea of wrapping the evolve command in one
giant wlock because that's too early in the process. If the lock did wrap the
entire evolve command, then the working directory would save its current
parents which, since rebase hasn't been called yet, would be just
p1.
Therefore, we need to obtain the lock *after* the dirstate's parents are
changed but *before* the call to rebase. This way ensures that when a conflict
happens the working directory correctly shows both parent changeset.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 23 Apr 2014 15:58:55 -0700] rev 922
readme: update the readme with all missing entry
One days one will stop forgetting to update it.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 23 Apr 2014 15:32:52 -0700] rev 921
readme: rephrase the changelog entry regarding the new exchange
Lets try to have it readable by human being.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 23 Apr 2014 15:08:28 -0700] rev 920
readme: drop the reference to fastobs
Its dead Jim.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 23 Apr 2014 14:28:28 -0700] rev 919
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 23 Apr 2014 14:24:02 -0700] rev 918
Added tag 3.3.1 for changeset fc04758ea9f5
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 23 Apr 2014 14:23:23 -0700] rev 917
prepare release 3.3.1
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 23 Apr 2014 14:22:06 -0700] rev 916
fix maintainer email
I'm not working at Logilab since july 2013. Using my personal address to prevent
this kind of situation in the future.
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Fri, 11 Apr 2014 19:24:29 -0400] rev 915
fold: enable --date and --user options
Like all other commit-creating commits, `hg fold` should also have
these options enabled. This also allows getting consistent hashes
during tests involving fold.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 23 Apr 2014 14:15:40 -0700] rev 914
evolve: improves readme wording
(yes I just pushed the other version…)
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 23 Apr 2014 14:10:28 -0700] rev 913
evolve: update changelog in README
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 23 Apr 2014 14:05:36 -0700] rev 912
test: update testing statement
Olle Lundberg <geek@nerd.sh> [Wed, 26 Mar 2014 00:38:14 +0100] rev 911
evolve: abort when trying to move a node on top of itself
This provides a clearer error message when evolve misstakenly tries
to move a changeset on top of itself. Before we got an abort with a
cryptic message about trying to rebase a merge changeset.
A proper fix to make sure that evolve never tries to move a node on
top of itself will come in later patches.
Olle Lundberg <geek@nerd.sh> [Wed, 26 Mar 2014 23:57:15 +0100] rev 910
run-tests: add executable bit
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Mon, 14 Apr 2014 15:10:29 -0400] rev 909
rewrite: use cmdutil.logmessage instead of ad-hoc methods
The logic for handling the --message and --logfile options is already
in core hg in the cmdutil.logmessage function. This patch removes this
duplicate logic from Evolve and just calls the core function.
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Fri, 11 Apr 2014 19:24:29 -0400] rev 908
fold: enable --date and --user options
Like all other commit-creating commits, `hg fold` should also have
these options enabled. This also allows getting consistent hashes
during tests involving fold.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 22 Apr 2014 17:04:40 -0700] rev 907
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 22 Apr 2014 17:15:05 -0700] rev 906
test: sort output of listkey command
The pushkey namespace came as dict key. So they have no defined order. We sort
them to stabilize the test.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 22 Apr 2014 17:00:24 -0700] rev 905
exchange: use fixed order for obstore content
The obsstore content seems unstable from one version of python to another (we
most certainly use some dict) we fix the order once and for all.
Greg Ward <greg@gerg.ca> [Sun, 20 Apr 2014 17:40:56 -0400] rev 904
Finish killing fastobs (this test failed loudly after 33fdaec24432)
Augie Fackler <raf@durin42.com> [Thu, 17 Apr 2014 17:15:54 -0400] rev 903
Kill fastobs, as marmoute says it causes problems
Durham Goode <durham@fb.com> [Mon, 07 Apr 2014 16:41:29 -0700] rev 902
tests: fix test-prune.t breakage
test-prune.t was broken due to 91d28bd0e04e in upstream Mercurial, which made
hidden commits visible when a local tag made the commit reachable. The fix is to
delete the tag in the test.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 14 Apr 2014 18:16:35 +0200] rev 901
Fix preservation of rename information on evolve (#33)
Following what rebase itself does, call duplicatecopies between
rebasenode and concludenode.
Should fix
https://bitbucket.org/marmoute/mutable-history/issue/33/evolve-command-loses-copy-metadata
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 13 Apr 2014 16:46:13 -0400] rev 900
merge stable into default
Durham Goode <durham@fb.com> [Mon, 07 Apr 2014 16:41:29 -0700] rev 899
tests: fix test-prune.t breakage
test-prune.t was broken due to 91d28bd0e04e in upstream Mercurial, which made
hidden commits visible when a local tag made the commit reachable. The fix is to
delete the tag in the test.
Olle Lundberg <geek@nerd.sh> [Sat, 12 Apr 2014 23:16:02 +0200] rev 898
evolve: small white space change
Olle Lundberg <geek@nerd.sh> [Sat, 12 Apr 2014 23:15:13 +0200] rev 897
evolve: use new api _callcompressable
This changeset makes evolve compatible with the change introduced in
167047ba3cfa
Olle Lundberg <geek@nerd.sh> [Fri, 04 Apr 2014 01:07:27 +0200] rev 896
evolve: downcase first word in module doc
This makes the output of hg help consistent with the other extensions.
Olle Lundberg <geek@nerd.sh> [Fri, 04 Apr 2014 00:58:15 +0200] rev 895
evolve: deprecate gup and gdown aliases
This is done in an effort to clean up the UI of evolve.
Olle Lundberg <geek@nerd.sh> [Fri, 04 Apr 2014 00:30:56 +0200] rev 894
evolve: add function to deprecate an alias
When cleaning up the UI for evolve we will deprecate old aliases,
but still want them to work for a while. This is a helper function
that will be called during the extension setup and has the ability
map an old alias to a new or canonical one.
Olle Lundberg <geek@nerd.sh> [Fri, 04 Apr 2014 01:07:27 +0200] rev 893
evolve: downcase first word in module doc
This makes the output of hg help consistent with the other extensions.
Olle Lundberg <geek@nerd.sh> [Wed, 26 Mar 2014 23:58:45 +0100] rev 892
evolve: active bookmark should move when using prev/next (#37)
The #37 references the bitbucket issue for mutable-history, that
can be found here:
https://bitbucket.org/marmoute/mutable-history/issue/37/
Brendan Cully <brendan@kublai.com> [Thu, 03 Apr 2014 23:36:23 -0700] rev 891
commands: small language fixes in help
Olle Lundberg <geek@nerd.sh> [Wed, 26 Mar 2014 00:38:14 +0100] rev 890
evolve: abort when trying to move a node on top of itself
This provides a clearer error message when evolve misstakenly tries
to move a changeset on top of itself. Before we got an abort with a
cryptic message about trying to rebase a merge changeset.
A proper fix to make sure that evolve never tries to move a node on
top of itself will come in later patches.
Olle Lundberg <geek@nerd.sh> [Wed, 26 Mar 2014 23:57:15 +0100] rev 889
run-tests: add executable bit
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 27 Mar 2014 11:12:56 -0700] rev 888
evolve: add a hook related to the new pushobsmarkers command
Before the current expericment, people could hook on obsolescence marker push
using pushkey. We add a new hook to serve the same purpose.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 19 Mar 2014 20:15:55 -0700] rev 887
exchange: dropping dead code (issue36)
This variable does not exist anywhere else in the code.
Matt Mackall <mpm@selenic.com> [Tue, 18 Mar 2014 12:59:49 -0700] rev 886
evolve: fix evolve with mercurial default
MODERNCAPS have been renamed to moderncaps upstream.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 12 Mar 2014 13:07:37 -0700] rev 885
simple4server: update tests
Forgot to amend before pushing.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 12 Mar 2014 13:03:35 -0700] rev 884
sinmple4server: advertise new cap only when advertising obsolescence
This is more consistent.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 12 Mar 2014 13:01:32 -0700] rev 883
evolve: do not exchange obsolescence markers when server refuse it
The server can be configured to refuse obsolescence markers exchange. See
changeset 48804a8d7472 for details about it. We respect server will in the
client.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 12 Mar 2014 12:44:33 -0700] rev 882
simple4server: option to advertise obsolescence support
We had an option to control the advertising of the obsolescence markers support
from the server. The goal of this option is to allow large scale repo hosting
service to control the use of obsolescence markers exchange.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Mar 2014 19:47:24 -0700] rev 881
export: add test for simple4server
We now officially test it over http
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Mar 2014 21:57:41 -0700] rev 880
exchange: fix push markers over wire protocol for http peer
Http actually interpret the data passed to _callpush expecting them to a bundle.
Interpretation of a markers stream as a bundle obviously led to crash.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Mar 2014 21:55:41 -0700] rev 879
exchange: expose length of pushed markers
http wireprotocol will need it.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Mar 2014 22:09:26 -0700] rev 878
simple4server: update "from <changeset>" statement
Could obviously not do it in the same changeset than the original changes.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Mar 2014 21:35:54 -0700] rev 877
exchange: fix changeset pulling over http
http compress its stream. The were building a bogus stream where the first 10
bytes where uncompressed. Confusing the client.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Mar 2014 22:08:21 -0700] rev 876
simple4server: update "from <changeset>" statement
Could obviously not do it in the same changeset than the original changes.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Mar 2014 21:34:36 -0700] rev 875
exchange: properly wrap wireprotocol capabilities
Just wrapping the module function only works for ssh. Ssh gets capability
through the `hello` command. We also need to wrap the function stored in the
command dict. This fix discovery for http peer.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Mar 2014 17:40:38 -0700] rev 874
simple4server: add origin and documentation to most function
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Mar 2014 16:54:08 -0700] rev 873
evolve: add 2.9.1 compatibility seal to simple4server
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Mar 2014 16:52:46 -0700] rev 872
simple4server: fix a missing import
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Mar 2014 16:27:21 -0700] rev 871
evolve: update version compatibility error message
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 07 Mar 2014 14:46:45 -0800] rev 870
exchange: fix pull over wire protocol
Actually hand pulled obsolescence markers to the pull logic.
In the wire protocol case we did not reset the position of the file pointer
after writing the pulled data. This lead the pull logic to thing that no markers
were send at all.
This changeset fix this client side bug.
(apparently no test check both markers pulling and wireprotocol)
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 06 Mar 2014 12:15:04 -0800] rev 869
exchange: enforce permission on new wireprotocol command
hgweb needs an explicit declaration of the permission level of each commands.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 05 Mar 2014 19:08:58 -0800] rev 868
merge stable
André Sintzoff <andre.sintzoff@gmail.com> [Sun, 02 Mar 2014 15:19:31 +0100] rev 867
evolve: fix typos in uncommit docstring
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 05 Mar 2014 15:21:21 -0800] rev 866
simple4server: add the wireproto command for obsolescence markers discovery
This come with its usual train of duplicated utility.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 05 Mar 2014 15:14:40 -0800] rev 865
discovery: use the discovery process for pull
Wow! Such speed! Much functional! Very proof on concept implementation!
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 05 Mar 2014 15:09:07 -0800] rev 864
discovery: implement a discovery process and use it for push
Much faster! So functional! Very proof on concept implementation! Wow!
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 05 Mar 2014 16:58:56 -0800] rev 863
discovery: first version of the "hash tree" idea
We build a hash for each node based on the markers that applies to it and the
hash of its parent. This will allow a kind of discovery process for markers.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 04 Mar 2014 11:34:38 -0800] rev 862
evolve: update changelog with recent advance
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 04 Mar 2014 11:31:11 -0800] rev 861
merged 3.3 release into default
Some of the default content was released in 3.3.0 the other ones are moved to
3.4
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 04 Mar 2014 11:14:24 -0800] rev 860
Added tag 3.3.0 for changeset 83882f2fbecb
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 04 Mar 2014 11:14:15 -0800] rev 859
prepare 3.3.0 release
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 19 Feb 2014 18:14:20 -0800] rev 858
evolve: drop `latercomer` and `conflicting` compatibility.
Those old alias are deprecated for a long time now. All computations related to
troubles are in Mercurial core for multiple versions.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 19 Feb 2014 18:03:13 -0800] rev 857
evolve: use flag value from core for bumped fix
This flag is available from core for a long time, lets use it directly from
there.
This commit intend to cleanup old stuff from the evolve extention.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 20 Feb 2014 13:32:04 -0800] rev 856
test: get rid of all reference to conflicting changesets
They are now called divergent for a long time.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 04 Mar 2014 11:02:42 -0800] rev 855
merge various improvement to stable
We want a good stable state before starting massive changes in default for
obsolescence marker update.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 22:46:46 -0800] rev 854
exchange: add progress bar when pushing using wire protocol command
Progress bar on pull was only available for pushkey based push before this
changeset. This implementation is very hacky but we are still at a proof of
concept stage for those new exchange method.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 22:18:05 -0800] rev 853
exchange: add progress bar when pulling using wire protocol command
progress bar on pull was only available for pushkey based pull before this
changeset.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 21:37:18 -0800] rev 852
exchange: fix pulling from simple for server
There is far too much code duplication down there.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 21:23:52 -0800] rev 851
exchange: add test case for D.4
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 21:23:46 -0800] rev 850
exchange: add test case for D.3
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 21:23:42 -0800] rev 849
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 21:23:36 -0800] rev 848
exchange: add test case for D.1
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:48:06 -0800] rev 847
exchange: add test case for C.4
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:42:21 -0800] rev 846
exchange: add test case for C.3
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:39:50 -0800] rev 845
exchange: add test case for C.2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:36:47 -0800] rev 844
exchange: add test case for C.1
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:28:03 -0800] rev 843
exchange: add test case for B.7
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:21:27 -0800] rev 842
exchange: add test case for B.6
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:09:27 -0800] rev 841
exchange: add test case for B.5
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 20:00:45 -0800] rev 840
exchange: add test case for B.4
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 19:51:18 -0800] rev 839
exchange: add test case for B.3
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 19:39:20 -0800] rev 838
exchange: add test case for B.2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 19:33:00 -0800] rev 837
exchange: add test case for B.1
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 18:51:54 -0800] rev 836
exchange: add test case for A.7
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 15:31:39 -0800] rev 835
exchange: add test case for A.6
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 15:21:01 -0800] rev 834
exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 15:14:48 -0800] rev 833
exchange: add test case for A.4
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 14:59:43 -0800] rev 832
exchange: add test case for A.3
Allow arbitrary arguments to dotest. This allow to push --force when the push
creates more heads.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 14:03:41 -0800] rev 831
exchange: automate the testing process too
we now have: dotest TESTNAME [TARGETNODE]
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 13:27:53 -0800] rev 830
exchange: have a function doing all the common initial setup
This will help creation of further test.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 13:12:50 -0800] rev 829
exchance: add a common setup script for all test
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 16:36:37 -0800] rev 828
exchange: add test case for A.2
Testcase defined here: http://mercurial.selenic.com/wiki/ObsolescenceMarkersExchange
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 16:21:22 -0800] rev 827
exchange: add test case for A.1
Testcase defined here: http://mercurial.selenic.com/wiki/ObsolescenceMarkersExchange
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 13:45:59 -0800] rev 826
exchange: add the pullmarker wireproto command to simple4server
This will allow simple server side support.
(yes, code duplication is bad I already told you I won't do it too much mom)
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 13:44:37 -0800] rev 825
exchange: extract computation of pulled markers boundary in a function
I expect massive experimentation on this specific aspect. so we better isolate
it.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 13:38:19 -0800] rev 824
exchange: pull markers relevant to the pulled subset only
With the command recently introduced we can select to pull only markers relevant
to some nodes. We are now pull all markers for all node in the relevant subset.
We'll try to pull less (just markers for node where local and remote marker
diverge) later, but we need some marker discovery mechanism for that. which are
not easy.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 13:25:34 -0800] rev 823
exchange: add a new method to pull markers
It has both local and wire protocol implementation. This command does not
requires escaping of the marker and are expecting to me highly faster than the
pushkey method.
The other main point is that command is to accept a `heads` and `common`
argument to select to pull changeset only relevant to a set a of node.
We are not using this capability yet but we'll do it soon
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 00:55:34 -0800] rev 822
exchange: add the pushmarker wireproto command to simple4server
This will allow simple server side support.
(yes, code duplication is bad, I won't do it too much mom)
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 00:40:29 -0800] rev 821
exchange: introduce a wireprotocol command to push markers
Pushkey is not adapted to transmit a stream of binary data. We used it as a hack
so far. We add a new wire protocol command to speed the things up (and also push
all the markers in a single transaction). The proper way to do it is to
introduce bundle2 in core, but this will already help in the mean time.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Feb 2014 10:30:10 -0800] rev 820
exchange: actually use _pushkeyescape fallback
The code was still calling `obsolete._pushkeyescape` therefore never calling the
fallback we defined. Now that we call it, it had to be fixed to actually work
too.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 19:28:43 -0800] rev 819
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Mar 2014 19:27:42 -0800] rev 818
prune: accept '0 0' as a valide --date value
I 've no idea why 4c0f6d555032 introduced it with this check.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 27 Feb 2014 19:58:08 -0800] rev 817
exchange: only push the set of marker relevant to want we push
We now compute all markers relevant to pushed set. And just send just those one.
So you are no longer pushing markers that point to changeset your are not
pushing. See the in line comment for details about what "relevant" is.
Multiple nice output have been added in the process.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 27 Feb 2014 18:30:55 -0800] rev 816
evolve: add relevant marker exchange machinery
This is going to be needed for obsolescence marker exchange.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 27 Feb 2014 17:20:34 -0800] rev 815
fastobs: rename var from `node` to `rev`
It contains revision (from repo.revs not node).
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 27 Feb 2014 17:11:09 -0800] rev 814
fastobs: move the extension to the hgext dir
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 26 Feb 2014 15:25:33 -0800] rev 813
test-prune: update test with a prune output compatible with newest hg
Newest hg can record the parent information in the marker. This change the
debugobsstorestate output a lot.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Feb 2014 11:14:37 -0800] rev 812
drophack: major speedup to marker stripping
It appear that each call to obsstore.add have a significant overhead (in
particular the creation of a set form the list of markers and file system
operation to the obsstore file.
We now compute the marker we need to store and write them in a single call.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Feb 2014 19:01:12 -0800] rev 811
evolve: add a cmddebugrecordpruneparents command
This command can be used to create prune marker with parent information from
prune marker on changeset known locally.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Feb 2014 17:44:12 -0800] rev 810
debugobsstorestat: add test for pruning
There is multiple prune specific code in this command. So we test it in the
presence of prun marker too.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Feb 2014 17:32:09 -0800] rev 809
debugobsstorestat: add information about cluster
We now display information about independant osolescence markers clusters.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Feb 2014 19:00:04 -0800] rev 808
evolve: fix creation of prunedchildren for merge
The `p2` code path was broken. (stupid typo)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 20 Feb 2014 13:59:49 -0800] rev 807
evolve: add a debugobsstorestat command
This commands print multiple some data about the content of the obsstore. This
will be usefull to provide some metric and insight for obsolescence marker
exchange.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 19 Feb 2014 17:27:45 -0800] rev 806
evolve: extend obsstore object to use prune parent information
Now that we have the information, we can use it to build a mapping to access all
marker that prune a children of a node. This is similar to what we do for
successors and precursors.
The performance impact is a few tens of second on my mercurial clone.
Experimenting is worth the trouble.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 13 Feb 2014 18:09:54 -0800] rev 805
prune: wrap mercurial internal to add parent information in prune marker
We store as a p1 (and p2) key in the extra dict for marker. This allow us to
record this information for future use without requiering a format change.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 19 Feb 2014 18:14:20 -0800] rev 804
evolve: drop `latercomer` and `conflicting` compatibility.
Those old alias are deprecated for a long time now. All computations related to
troubles are in Mercurial core for multiple versions.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 20 Feb 2014 13:32:04 -0800] rev 803
test: get rid of all reference to conflicting changesets
They are now called divergent for a long time.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 19 Feb 2014 18:03:13 -0800] rev 802
evolve: use flag value from core for bumped fix
This flag is available from core for a long time, lets use it directly from
there.
This commit intend to cleanup old stuff from the evolve extention.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 20 Feb 2014 12:56:57 -0800] rev 801
importing fastop extension in this repo
This repo is dedicated to experimentation on mutable history topic. Fastop is
appropriate there.
Augie Fackler <raf@durin42.com> [Wed, 19 Feb 2014 15:31:00 -0500] rev 800
fastobs: revset refactor related fixes
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 18 Feb 2014 15:32:31 -0800] rev 799
adapt fastopt extension to mercurial.exchange module
The push code have changed to be more modular. the fastop extension need to be
rewritten. No backward compatibility preserved for mercurial <=2.9x.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 18 Feb 2014 15:30:54 -0800] rev 798
drop unused function `pushmarkerwrapper`
I can find any user for this function.
Augie Fackler <raf@durin42.com> [Sat, 16 Nov 2013 20:44:44 -0500] rev 797
Add initial test.
Augie Fackler <raf@durin42.com> [Sat, 16 Nov 2013 20:44:37 -0500] rev 796
Deduplicate markers. Depends on __hash__ and __eq__ on obsolete.marker
Augie Fackler <raf@durin42.com> [Sat, 16 Nov 2013 20:43:44 -0500] rev 795
copy precursor revset from evolve so we don't depend on involve
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 03 Sep 2013 21:46:50 +0200] rev 794
fastobs: details strategies in the main help
Augie Fackler <raf@durin42.com> [Fri, 26 Jul 2013 21:35:56 -0400] rev 793
fastobs: fix a bunch of stupid errors that prevented it from working at all
Augie Fackler <raf@durin42.com> [Fri, 26 Jul 2013 16:08:56 -0400] rev 792
fastobs: clean up logging a little
Augie Fackler <raf@durin42.com> [Fri, 26 Jul 2013 16:04:40 -0400] rev 791
fastobs: first commit of an extension to test obsolete marker exchange methods
This currently implements the "fill in the box" approach discussed at
the 2.6 sprint, which seems to handle common cases correctly with
significantly less data transferred.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 12 Feb 2014 17:18:50 -0800] rev 790
drophack: add a new drop hack extension for Matt Mackall usage
This extension is hacky and not intended for real world usage. See documentation
for details.
Sean Farley <sean.michael.farley@gmail.com> [Tue, 11 Feb 2014 00:02:18 -0600] rev 789
prune: add biject option
This option allows two ranges to be given for successors and precursors such
that there is a one-to-one match between each range.
Test coverage has been added.
Simon Heimberg <simohe@besonet.ch> [Fri, 07 Feb 2014 09:36:42 +0100] rev 788
evolve: register a summary hook instead of wrapping the summary command
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Jan 2014 14:30:45 -0800] rev 787
merge stable into default.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Jan 2014 14:20:50 -0800] rev 786
doc: improve reference to log --hidden
- glog is not mucha thing anymore
- also add a usage exemple
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Jan 2014 14:19:55 -0800] rev 785
doc: fix trailing white space
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Jan 2014 14:19:40 -0800] rev 784
doc: DIE MQ DIE
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Jan 2014 14:19:25 -0800] rev 783
doc: use --succ in prune help
--succ is the new only way.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Jan 2014 14:18:43 -0800] rev 782
doc: remove referenc to proleferation of hidden commit
This is not much something we try to avoid anymore
This changeset is eathenly adding reference to other toubles too.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Jan 2014 14:14:06 -0800] rev 781
doc: try to clarify rebase warning
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Jan 2014 14:13:22 -0800] rev 780
doc: enhance your fold help
Refer to the two different for of using fold.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Jan 2014 14:12:44 -0800] rev 779
doc: refer to previous and next in the gup, gdown help
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Jan 2014 14:12:07 -0800] rev 778
doc: replace graft -O with grab
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Jan 2014 14:10:24 -0800] rev 777
doc: rework how to entry about amend
We can recommand the core `hg commit --amend` now. We also drop reference to MQ.
Arne Babenhauserheide <arne.babenhauserheide@kit.edu> [Mon, 20 Jan 2014 10:57:10 +0100] rev 776
raise util.Abort instead of assertion when trying to evolve a merge changeset.
This prevent exposing a nasty traceback to the user.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 09 Jan 2014 21:46:23 -0800] rev 775
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 09 Jan 2014 21:37:52 -0800] rev 774
tutorial: fix note
We need a double semin colon, otherwise this is a comment.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 09 Jan 2014 21:21:29 -0800] rev 773
tutorial: warn about rollback beeing obsolete
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 09 Jan 2014 21:16:09 -0800] rev 772
tutorial: use grab instead of rebase.
grab as now the advantage to move the working directory.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 09 Jan 2014 21:14:41 -0800] rev 771
tutorial Clarify "." explanation
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 09 Jan 2014 21:18:41 -0800] rev 770
tutorial: update divergent changeset section
Still not there but less fuzy.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 09 Jan 2014 21:10:42 -0800] rev 769
tutorial: use long form of argument for the sake of clarity
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 09 Jan 2014 21:22:41 -0800] rev 768
tutorial: fix some various typo
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 09 Jan 2014 21:38:28 -0800] rev 767
tutorial Display the help of appropriate command in section that need writting
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 09 Jan 2014 15:24:16 -0800] rev 766
doc: some documentation on the configuration part of the tutorial
Trying to make it less obscure on first contact
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 09 Jan 2014 21:22:00 -0800] rev 765
doc: smarter make file
We regenerate the tutorials when needed only
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 09 Jan 2014 21:38:56 -0800] rev 764
doc: use a symbolic link to point to the tutorial
the file was lagging behind a ton.
Dan Villiom Podlaski Christiansen <dan@cabo.dk> [Thu, 24 Oct 2013 10:42:50 +0200] rev 763
import: warn about new unstable changesets
'hg import' can add new unstable changesets, for example when invoked
with '--hidden' or '--exact', or when the working directory parent
already is unstable.
Dan Villiom Podlaski Christiansen <dan@cabo.dk> [Tue, 22 Oct 2013 11:16:55 +0200] rev 762
evolve: show progress
The total count may be too low on occasion. Not sure why.
gaved up at testing this, can't get stable result.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 07 Jan 2014 16:07:43 -0800] rev 761
removed the qsync extension.
The only user I knew about (logilab) is not using it anymore. It not compatible
with coming Mercurial version 2.9.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 07 Jan 2014 15:52:47 -0800] rev 760
evolve: add more details when we abort for case not handled yet
Verboser output to help people knowing what is going on and solving it on their
own.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 07 Jan 2014 17:03:36 -0800] rev 759
merge stable back into default
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Dec 2013 17:21:01 -0800] rev 758
current release is stable enought
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Dec 2013 17:20:16 -0800] rev 757
evolve: update the tested with statement
It actually ssems to work with version up to 2.6 but some minor changes makes
test fails. so better encourage people to upgrade.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Dec 2013 14:42:22 -0800] rev 756
evolve: use super for calling parent class method
Otherwise we can bipass filtering (and break a lot of things)
Faheem Mitha <faheem@faheem.info> [Mon, 02 Dec 2013 23:31:45 +0530] rev 755
debian: add source/format file
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 15 Nov 2013 21:53:22 -0500] rev 754
Added tag 3.2.0 for changeset c3ba8a965a7a
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 15 Nov 2013 21:39:47 -0500] rev 753
prepare 2.8 release
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 15 Nov 2013 21:44:24 -0500] rev 752
grab: update the alias for 2.8 compatibility
2.8 does not update on rebase anymore. We need to update by hand. this makes
this alias more fragile.
Dan Villiom Podlaski Christiansen <dan@cabo.dk> [Fri, 15 Nov 2013 21:33:54 -0500] rev 751
gdown/gup: add next/previous alias
Up and down refer to the customary order in log output rather than
concepts; as such, it may be confusing to the user. I for one found
them suprising -- they just didn't fit with my mental model.
Previous and next, however, imply a clear parent/child relationship.
We attroduce the new name as aliases for now.
Dan Villiom Podlaski Christiansen <dan@cabo.dk> [Tue, 22 Oct 2013 11:51:01 +0200] rev 750
evolve: allow updating to the successor if the parent is obsolete
Although 'hg update' handles this as well, it will also update to
tipmost descendent of the successor, if any.
Dan Villiom Podlaski Christiansen <dan@cabo.dk> [Wed, 31 Jul 2013 19:56:28 +0200] rev 749
evolve: abort on unknown divergent changeset base
...rather than noisily dying with a KeyError.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 15 Nov 2013 19:14:19 -0500] rev 748
test: prepare test for core changeset 6cd9b8428104
Changeset 6cd9b8428104 in Mercurial core (2.8) make rebase preserve more
extra. this mean hash changes. We make the test resilient to that.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 15 Nov 2013 18:53:29 -0500] rev 747
test: prepare test for core changeset 9c78ed396075
New changeset in mercurial 2.8 (9c78ed396075) change rebase behavior to preverse
the original working directory. This break an handfull of test so we
preventively update to tip after rebase.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 15 Nov 2013 16:01:40 -0500] rev 746
merge stable into default
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 16 Oct 2013 18:28:52 +0200] rev 745
add obsolete parents wrapper to the 'parents' command
although the command itself cannot *cause* obsolete changesets, the
information is rather relevant to the state of the parents
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 16 Oct 2013 18:23:54 +0200] rev 744
README: update changelog
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Fri, 26 Jul 2013 12:06:44 +0200] rev 743
conform to the Mercurial custom of lowercase messages
...and while at it, use the more usual long form of "can't"
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 16 Oct 2013 00:37:29 +0200] rev 742
amend: use core mechanism for amend
Evolve used its own code for amending. This was introduced before mercurial
includes commit --amend. The evolve code is now older and buggier. So we just
use the core cod when amend is called.
Message of the temporary commit is different, all test hash changed \o/.
Test change are been carefully checked.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 15 Oct 2013 16:20:17 +0200] rev 741
amend: drop the deprecated note option
We plan to get closer to the commit --amend implementation dropping this
deprecated option helps.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 02:06:47 +0200] rev 740
test: adapt to 2.6 message improvement
From fd1bb7c1be78 (in core) hidden revision are excluded from partial match in a proper
way resulting in a nicer error message.
Greg Ward <greg@gerg.ca> [Sat, 10 Aug 2013 17:30:44 -0400] rev 739
README: polish the language so it reads better
Greg Ward <greg@gerg.ca> [Sat, 10 Aug 2013 17:27:19 -0400] rev 738
README: fix spelling, capitalization, grammar, punctuation
Greg Ward <greg@gerg.ca> [Sat, 10 Aug 2013 14:51:45 -0400] rev 737
README: fix minor markup inconsistencies
Julien Cristau <julien.cristau@logilab.fr> [Tue, 04 Jun 2013 17:29:01 +0200] rev 736
3.2.0
Julien Cristau <julien.cristau@logilab.fr> [Tue, 04 Jun 2013 17:50:52 +0200] rev 735
debian: properly clean the docs build
Julien Cristau <julien.cristau@logilab.fr> [Tue, 04 Jun 2013 17:31:18 +0200] rev 734
pushexperiment requires mercurial 2.6
Julien Cristau <julien.cristau@logilab.fr> [Tue, 04 Jun 2013 17:44:17 +0200] rev 733
ship pushexperiment extension
Julien Cristau <julien.cristau@logilab.fr> [Tue, 04 Jun 2013 17:17:47 +0200] rev 732
pushexperiment: guard against non-push-capable remotes
Julien Cristau <julien.cristau@logilab.fr> [Tue, 04 Jun 2013 17:16:09 +0200] rev 731
pushexperiment: fix doc typos
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 03 Jun 2013 15:06:18 +0200] rev 730
merge stable into default
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 03 Jun 2013 15:03:55 +0200] rev 729
push obsolescence marker before anything else
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 03 Jun 2013 14:57:39 +0200] rev 728
add notification at the end of push
We have a dedicated hook to know when a push is done.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 03 Jun 2013 14:53:24 +0200] rev 727
Add a new pushexperiment extension
This extension introduce a faster way to push obsolescence marker. Send the
obsstore directly instead of inefficiently going through pushkey's
inefficiency.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 03 Jun 2013 13:28:13 +0200] rev 726
Adapt to human readable date in patch
Julien Cristau <julien.cristau@logilab.fr> [Fri, 31 May 2013 15:10:34 +0200] rev 725
debian: honor nocheck in DEB_BUILD_OPTIONS
André Sintzoff <andre.sintzoff@gmail.com> [Fri, 31 May 2013 18:47:01 +0200] rev 724
evolve: fix typo
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 31 May 2013 18:45:31 +0200] rev 723
amend: hide the --note option
The intermediate commit will not survive long
AndréSintzoff <andre.sintzoff@gmail.com> [Thu, 02 May 2013 18:00:38 +0200] rev 722
evolve: remove trailing spaces
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 04 Mar 2013 18:02:39 +0100] rev 721
update debian changelog
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 11 Feb 2013 10:46:38 +0100] rev 720
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 11 Feb 2013 10:44:54 +0100] rev 719
Added tag 3.1.0 for changeset cdb52bbbe5b8
Levi Bard <levi@unity3d.com> [Sun, 10 Feb 2013 16:14:45 +0100] rev 718
evolve: update test output.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 11 Feb 2013 10:28:32 +0100] rev 717
prepare release 3.1.0
Levi Bard <levi@unity3d.com> [Mon, 11 Feb 2013 09:21:22 +0000] rev 716
prune: add --user and --date options
They control the metadata writen to the obsolescence marker.
Levi Bard <levi@unity3d.com> [Mon, 11 Feb 2013 09:21:11 +0000] rev 715
prune: add strip-like bookmark
This prune changesets pointed by the specified bookmark only (and removes the
bookmarks)
Levi Bard <levi@unity3d.com> [Sun, 10 Feb 2013 16:17:01 +0100] rev 714
evolve: remove duplicate alias.
Levi Bard <levi@unity3d.com> [Sun, 10 Feb 2013 00:23:22 +0100] rev 713
evolve: update stabilize order test after output change
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 10 Feb 2013 12:10:32 +0000] rev 712
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 09 Feb 2013 20:53:45 +0000] rev 711
evolve: document --all option
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 09 Feb 2013 20:53:03 +0000] rev 710
merge --all option from tak
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 09 Feb 2013 20:52:30 +0000] rev 709
minor help changes
Levi Bard <levi@unity3d.com> [Sat, 09 Feb 2013 18:07:49 +0100] rev 708
evolve: clean up help message
Levi Bard <levi@unity3d.com> [Sat, 09 Feb 2013 18:07:36 +0100] rev 707
evolve: remove magic return values from utility functions
Levi Bard <levi@unity3d.com> [Sat, 09 Feb 2013 17:02:34 +0100] rev 706
evolve: clean up evolve implementation.
Levi Bard <levi@unity3d.com> [Sat, 09 Feb 2013 16:21:32 +0100] rev 705
evolve: add test for evolve --all.
Levi Bard <levi@unity3d.com> [Sat, 09 Feb 2013 16:21:22 +0100] rev 704
evolve: add --all argument.
Levi Bard <levi@unity3d.com> [Sat, 09 Feb 2013 15:42:14 +0100] rev 703
evolve: extract evolve --any implementation into a function.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 08 Feb 2013 22:44:43 +0000] rev 702
touch: properly handle touching multiple changeset
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 08 Feb 2013 22:12:46 +0000] rev 701
add a duplicate option in touch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 08 Feb 2013 22:09:42 +0000] rev 700
touch: add basic testing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 08 Feb 2013 21:43:00 +0000] rev 699
amend: prune replacement commit without sucessors
This align with the core behavior of `commit --amend`.
All user of rewrite are not responsible for creating their own marker.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 08 Feb 2013 21:27:48 +0000] rev 698
changelog: add more entry
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 08 Feb 2013 21:26:47 +0000] rev 697
fix future 3.1.0 changelog entry
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 08 Feb 2013 20:45:18 +0000] rev 696
alias: add a grab alias
Its a valid replacement for graft -O
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 08 Feb 2013 20:18:40 +0000] rev 695
amend: drop the --change option
it is deprecated for quite some time already
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 06 Feb 2013 23:21:42 +0000] rev 694
drop suspicious import in evolve
introduced by 97ce1f801309
Thanks to Bryan Murdock for reporting the issue.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 21:38:19 +0100] rev 693
prune: handle bookmark
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 21:40:58 +0100] rev 692
test-prune: simplified log output
useful to testing bookmark later
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 19:08:27 +0100] rev 691
prune: update inline documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 19:04:22 +0100] rev 690
prune: more command switch idea
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 19:02:19 +0100] rev 689
prune: documentation update
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 22:05:03 +0100] rev 688
prune: add an informative message about the number of pruned changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 22:04:50 +0100] rev 687
prune: test and improve message of immutable aborting.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 18:44:40 +0100] rev 686
prune: turn one of the test changeset public
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 18:42:50 +0100] rev 685
prune: add test and more robusness
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 18:07:09 +0100] rev 684
prune: detect bad input
We accept multiple changeset folded into one successors. One changesets split in
multiple successors. But we refuse multiple changesets split in multiple ones.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 17:55:03 +0100] rev 683
simplify locking in prune
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 17:51:27 +0100] rev 682
prune: rename --new to --succ
This is closer to want the documentation says.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 17:45:38 +0100] rev 681
prune: improve command function name
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 17:45:22 +0100] rev 680
prune: fix doc
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 17:41:35 +0100] rev 679
evolve: drop uneeded noderange function
We can use revrange instead
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 17:40:28 +0100] rev 678
evolve: warn for troubles created by histedit too.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 17:39:16 +0100] rev 677
drop useless empty lines
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 17:31:43 +0100] rev 676
evolve: remove outdated documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 17:31:20 +0100] rev 675
add an explicite warning when repo contains invalid obsolescence markers
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 17:21:02 +0100] rev 674
evolve: remove pre 2.3 code
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 17:18:02 +0100] rev 673
evolve: removes amend from the list of advertised function
We have commit --amend almost as powerful now.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 17:11:58 +0100] rev 672
evolve: fix extsetup extension helper
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 17:04:36 +0100] rev 671
evolve: remove unused function imported from mercurial
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 04 Feb 2013 17:03:20 +0100] rev 670
evolve: drop unused import
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 02 Feb 2013 13:07:01 +0100] rev 669
merge with doc fixes
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 02 Feb 2013 13:02:07 +0100] rev 668
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 02 Feb 2013 13:05:01 +0100] rev 667
doc: update version information
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 02 Feb 2013 13:01:34 +0100] rev 666
merge with hg2.4 compat branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 02 Feb 2013 13:00:02 +0100] rev 665
Added tag 3.0.0 for changeset 862b6b71a358
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 02 Feb 2013 12:57:58 +0100] rev 664
prepare for release 3.0.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 02 Feb 2013 12:21:01 +0100] rev 663
mark test with 2.5
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 02 Feb 2013 12:20:10 +0100] rev 662
merge
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 02 Feb 2013 12:17:00 +0100] rev 661
create a compat-hg2.4 branch
2.5 is out, 2.4 compatible code is parked in a compat-hg2.4 branch as we did for
2.3
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 25 Jan 2013 17:26:47 +0100] rev 660
hgext: add a simpler extension to enable obsolete on server
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 25 Jan 2013 16:59:20 +0100] rev 659
drop: divergence related code
It is now in code
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 25 Jan 2013 16:42:49 +0100] rev 658
evolve: remove revset calls in warnobserror
revset have serious performance impact in several case.
The resulting code is a bit too complicated to my taste. I hope for much simpler
implementation in core anyway.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 05 Jan 2013 18:10:07 +0100] rev 657
evolve: drop "troubles" and "troubled" method now in core
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 25 Jan 2013 16:31:29 +0100] rev 656
test: drop rebase test
We assume that the mercurial rebases tests suite is strong enough now.
Greg Ward <greg@gerg.ca> [Thu, 24 Jan 2013 18:05:59 -0500] rev 655
doc: fix grammar, spelling, punctuation
I restrained myself to making only changes that turn bad English into
good English. There are still opportunities to improve, but other
changes require some discussion and review. This change should be
uncontroversial.
Greg Ward <greg@gerg.ca> [Thu, 24 Jan 2013 18:02:00 -0500] rev 654
tutorial: fix grammar, spelling, punctuation
I restrained myself to making only changes that turn bad English into
good English. There are still opportunities to improve the tutorial,
but other changes require some discussion and review. This change
should be uncontroversial.
The same changes had to be duplicated in both copies of the tutorial
(hmmm); it's not clear which one is definitive.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 07 Dec 2012 12:14:46 +0100] rev 653
[evolve] Drop useless filtered code
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 04 Jan 2013 12:43:22 +0100] rev 652
merge with filtering change (DO NOT USE WITHOUT FILTERING)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 04 Jan 2013 12:42:43 +0100] rev 651
evolve: ensure evolve command run unfiltered
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 04 Jan 2013 11:47:45 +0100] rev 650
test: drop divergent test
It is into core now