Martijn Pieters <mj@octobus.net> [Wed, 21 Nov 2018 12:00:46 +0000] rev 4459
topic: make topics compatible with branchmap refactor
See https://phab.mercurial-scm.org/D5290
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 29 Mar 2019 11:19:24 +0100] rev 4458
evolve: compat patch to fix broken evolve obsdiscovery
This patch preserve the compatibility for the changes upstreamed
by e5ece0f46b40 in hg-committed.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 28 Mar 2019 15:05:57 -0700] rev 4457
tests: add obslog output to some tests for divergence resolution
As suggested by Boris Feld.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 28 Mar 2019 14:54:46 -0700] rev 4456
tests: add tests for divergence resolution with split+amend
As suggested by Boris Feld.
G: changed tests/test-evolve-phase-divergence.t
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Mar 2019 12:53:50 +0100] rev 4455
test: use 'split' instead of 'splitted' in the tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Mar 2019 12:30:10 +0100] rev 4454
evolve: drop the "computing new diff message" for phase-divergence
Future code update will remove this message, dropping it early clarify the
future diff.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 20 Mar 2019 09:19:02 -0700] rev 4453
evolve: clarify output when phase-divergence resolution results in no change
I found it pretty confusing that it said "committed as abcd1234" when
no commit was created.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Mar 2019 09:44:05 -0700] rev 4452
tests: reduce dependence on previous tests for setup
The tests in test-evolve-phase-divergence.t built on each other for no
good reason, which makes the tests hard to modify and hard to read.
This patch cleans up some of them. We should clean up the rest too,
but the rest won't matter for my next patch, so I haven't bothered.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Mar 2019 12:37:55 +0100] rev 4451
branching: merge with stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 27 Mar 2019 20:52:30 +0800] rev 4450
topicmap: add compatibility for branchcache that now uses self._entries
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 27 Mar 2019 14:29:22 +0530] rev 4449
evolve: fix over-idented block
Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Mar 2019 09:48:05 -0700] rev 4448
tests: create "private" repository in already-updated state
I'm going to add more copies of the repo and it's easier to work with
the repo if it's already been updated.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Mar 2019 11:23:09 +0100] rev 4447
branching: merge with stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 25 Mar 2019 15:45:11 -0700] rev 4446
touch: use action "touch", not "<function touch at ...>", in precheck
I just got this message:
abort: cannot <function touch at 0x7fde174b69b0> public changesets: f177c51ae98f
It has been this way since 1b7b9acda2a9 (touch: use precheck to
validate revision, 2017-07-23).
Martin von Zweigbergk <martinvonz@google.com> [Mon, 25 Mar 2019 15:44:44 -0700] rev 4445
prune: use action "prune", not "touch", in precheck
We have been using "touch" since 06ee4ec88190 (prune: use precheck to
validate revision, 2017-07-23). That commit modified the tests, so it
kind seemed intentional, but I suspect it was still just an oversight.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 24 Mar 2019 21:30:12 +0530] rev 4444
evolve: test a common case of public divergence
evolve: in pubdiv, handle the case when public branch is behind the mutable
In public divergence, when public branch is behind the mutable one the behaviour
that this patch added is that we relocate the draft one to public side.
This should be fine in most case, but might be an issue in some other (eg, when
the draft side of the divergence is rebase away from ancestors it relies on.)
Test written by Pierre-Yves David <pierre-yves.david@octobus.net>
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 24 Mar 2019 21:29:44 +0530] rev 4443
evolve: add condition in case of pubdiv to not swap the two div csets
In public divergence, we have pinned the public cset to the local side
when merge is performed. And in divergence resolution implementation
divergent cset is the one who is kept at the local side, so to say this
in one line: we have pinned public cset to the divergent side.
However, in some cases we need to swap the "divergent" and "other"
but we can't swap them in case of public divergence as thought would
cause an error because of not being able to relocate public cset.
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 23 Mar 2019 02:10:31 +0530] rev 4442
evolve: add logic to handle a particular case in divergence resolution
Case is: In content divergence, to check if the two csets are on different
parent or same parent what we do is find gca of the two csets and then
compare it with the singlesuccessors of two csets's parents.
Now, if gca is same as singlesuccessors of both the csets then we conclude
that both are on the same parent which is not totally correct as it is
possible that both the parents of two csets are obsolete with a single
successor.
This patch adds the logic to cover the above metioned case correctly,
deciding the part when we need to relocate a cset to other side while
resolving the stack of divergent csets.
Changes in test file demonstrate that before this patch we were not
doing it right because it should have relocated every node to other side
instead of just relocating the first one from the stack.
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 22 Mar 2019 00:16:44 +0530] rev 4441
evolve: add a test reflecting wrong behaviour of content-div resolution
This patch shows that currently the case when stack of divergent csets
have different parents is not handled correctly.
For a stack of csets which has different parent, right behaviour is to
relocate every node before performing merge but present implementation
only relocate first cset in the stack and skip relocation for the rest
of csets, this is not what we expect it to do.
Next patch will be about fixing this issue.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 22 Mar 2019 09:45:07 -0700] rev 4440
compat: add support for new arg name in memfilectx.__init__
This makes us compatible with 550a172a603b (memctx: rename constructor
argument "copied" to "copysource" (API), 2019-03-19).
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 13 Mar 2019 17:32:14 +0530] rev 4439
evolve: preserve compatibility for hg < 4.8 versions
This patch make sure evolve don't break if user using a version of
hg before this 7694b685bb10 patch on hg-committed.
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 09 Mar 2019 19:25:34 +0530] rev 4438
evolve: warn user if cset desc is being lost
In public divergence when merging results in same as public cset,
we only create markers to solve the divergence i.e. [(public, (other,))]
In this case if other cset had a desc which was different from public
that will be lost.
So this print out a warning message to user that desc of non-public
cset is being lost.
Changes in test files reflect the added behaviour.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Mar 2019 18:00:08 +0100] rev 4437
changelog: mention latest improvement
Anton Shestakov <av6@dwimlabs.net> [Sun, 10 Mar 2019 18:50:00 +0800] rev 4436
stack: make @ (current) more important than $ (some sort of unstable)
Base is still ^ even if it's currently checked out.
Anton Shestakov <av6@dwimlabs.net> [Sat, 09 Mar 2019 13:13:53 +0800] rev 4435
stack: show content and phase divergent state and symbol
Replacing ' ' with '-' is just for color labels.
Anton Shestakov <av6@dwimlabs.net> [Sat, 09 Mar 2019 12:54:00 +0800] rev 4434
stack: handle external-children just like other states
This also fixes color labels: previously when external-children was combined
with another state, --color=debug would show something like:
[topic.stack.index topic.stack.index.current - external-children|s4]
Now there is a separate label for each state.
Anton Shestakov <av6@dwimlabs.net> [Thu, 07 Mar 2019 22:50:56 +0800] rev 4433
stack: optimize revset used for stack --children
Since that option needs to exclude changesets on the current stack, let's just
use stack.revs (that are cached) for that and skip branch() or topic() revset.
st.revs[0] is the stack base, we don't consider it actual part of stack.
Anton Shestakov <av6@dwimlabs.net> [Thu, 07 Mar 2019 19:13:45 +0800] rev 4432
stack: rename unstable -> orphan
That's the only instability stack can currently show, but it's about to show
more and showing "unstable" for one type of instability just isn't good.
Anton Shestakov <av6@dwimlabs.net> [Wed, 06 Mar 2019 21:47:08 +0800] rev 4431
evolvecmd: compatibility with older geteffectflag() that took a tuple
Before bae6f1418a95 the function took a tuple of 2 arguments instead of these 2
arguments directly.
Anton Shestakov <av6@dwimlabs.net> [Wed, 06 Mar 2019 21:42:32 +0800] rev 4430
obshistory: remove unused geteffectflag(), it's been in core since 4.4
Anton Shestakov <av6@dwimlabs.net> [Wed, 06 Mar 2019 16:56:25 +0800] rev 4429
compat: remove old vocabulary change fallbacks
Mercurial 4.4 (minimal hg version evolve currently supports) already uses the
new names and in fact has deprecation warnings saying that 4.4 is the last
version of Mercurial to support the old names.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 07 Mar 2019 10:51:48 +0100] rev 4428
branching: merge with stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 07 Mar 2019 01:57:43 +0530] rev 4427
evolve: fix a typo from directory to dirty
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 07 Mar 2019 01:47:14 +0530] rev 4426
evolve: fix the dirstate after setting parents with dirty wdir (issue5930)
Before this patch, during an interrupted evolve it can be confused
about copies. This patch fix the dirstate when parents are changed
using dirstate.setparents() with a dirty wdir.
Changes in test file reflect the fixed behaviour.
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 07 Mar 2019 01:02:05 +0530] rev 4425
evolve: add tests which shows evolve can get confused about copies (issue5930)
This test demonstrate that an interrupted evolve can get confused about
copies. Next patch will fix this.
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 05 Mar 2019 21:15:05 +0530] rev 4424
test: include some documentation to describe the case briefly
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 05 Mar 2019 20:07:23 +0530] rev 4423
split: use ui.configoverride to preserve phase while commiting
As we need to preserve the phase of revision which is going to be
splitted into multiple revision. This patch use ui.configoverrides
to temporarily overwrite the phases.new-commit config option at the
time of committing a new node.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 04 Mar 2019 12:30:15 +0100] rev 4422
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 04 Mar 2019 11:54:49 +0100] rev 4421
changelog: add entries for the recent fixes
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 04 Mar 2019 03:16:51 +0530] rev 4420
evolve: make sure user can recover from conflict (issue6053)
we make sure while continuing interrupted evolve it reach to right code
This patch fix the issue6053 which is about falling evolve into unrecoverable
state and this is how it call fall into it:
If after some rewrite operations we reach to a point where resparent for
two content divergent csets is obsolete and we hit a conflict in
relocation, so now if you run `hg evolve --continue` after resolving
the conflict: code execution would check if wdir parent is obsolete
and run solveobswdp() rather than going to continueevolve() part
and there we will hit by a "abort: outstanding uncommitted merge"
And same for `--abort` or `--stop` flags.
Changes in tests reflect the fixed behaviour.
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 04 Mar 2019 02:55:38 +0530] rev 4419
evolve: add test which shows unrecoverable evolve state (issue6053)
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 02 Mar 2019 02:34:29 +0530] rev 4418
evolve: add a test in pubdiv where only merging leads to conflict
Added a test in public divergence where both the cset are on the different
parent and no conflict in relocation but in merging.
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 28 Feb 2019 03:12:39 +0530] rev 4417
evolve: cover continue case in pubdiv when merging results in same as public
This patch is the part of a series which is adding support of public
divergence resolution of the case when merging results in same as pubic
cset. Changes made in this patch cover the --continue flag for the case:
when we had conflicts in merging.
Modified lines in previously added tests reflects the changed behaviour.
Also added some additional tests. I guess I have covered every possbile
case in test-evolve-public-content-divergent.t
While reviewing, if you see any test missed please let me know.
(I think there is one test missed that I will send as a follow-up)
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 22 Feb 2019 01:02:51 +0530] rev 4416
evolve: handle a case in pubic-div when merging results in same as public
In public divergence resolution, what we do is:
1) first apply content divergence resolution
2) then phase divergent resolution on resultant node of 1) case
While doing case 1 it is possible that result of merging the two csets
would have same changes as public one contains. And then processing
the case 2 would create an empty commit which is not something we want
to do.
So this patch catch that same case when merging results in same as public
cset and don't create a new node, instead to solve the divergence
it just add a obsmarker from "other divergent" to "public divergent"
i.e. [other, (public,)]
Next patch will add the continue case handling for this same case.
This patch also adds the tests for the different cases which are possible
for the above mentioned case.
There is test for continue case too which is broken in this patch
and will be fixed in next patch.
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 28 Feb 2019 02:08:58 +0530] rev 4415
evolve: rename npublicdiv to publicnode
In next patches it would make more sense to use publicnode
instead of npublicdiv.
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 28 Feb 2019 02:02:18 +0530] rev 4414
evolve: in pubdiv resolution make sure that transaction get closed
Before this patch it could be possible that transaction won't get
closed if res is False in the pubic divergence resolution when
continuing the hg evolve.
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 25 Feb 2019 22:50:24 +0530] rev 4413
evolve: pin the public cset to local side in merging when solving public div
While working on public divergence, I think it would be better to pin
the public cset to local side of merge for understanding and handling
the future cases without any ambiguity.
Changes in tests reflect the changed behaviour.
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 23 Feb 2019 00:47:14 +0530] rev 4412
evolve: add tests of relocation case in public divergence
These tests cover the cases when "other" is behind the "public"
one and we would have to relocate "other" here. It covers
all the conflicting and non-conflicting cases.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 03 Mar 2019 16:29:32 +0100] rev 4411
branching: merge with stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 02 Mar 2019 01:43:14 +0530] rev 4410
split: make sure hg split preserve the phase of splitting cset (issue6048)
Before this patch, while splitting we were not taking the phase
of splitting cset into account. By default new commits would
have draft changes. As we know there can two possible phases
i.e draft and secret in rewriting csets thing, so this adds
the handling of secret phase (as default is draft)
Changes in test file reflect the added behaviour.
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 02 Mar 2019 01:37:04 +0530] rev 4409
split: add tests which demonstrate the issue6048
Next patch will fix this issue.
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 22 Feb 2019 21:01:06 +0530] rev 4408
evolve: fix the broken behaviour on div resolution in relocation case
In content divergence resolution, I see that when "relocationreq" is
True which means both the cset are on different parent and relocation
is required. In this case when "divergent" is the one who is behind
the "other" cset in DAG, we swap them. At this point one thing we
missed is to update the evolvestate['divergent'].
Because of this in continue case we didn't get the right value
of obsmarkers creation.
In this patch I added the code to update the evolvestate when we swap
them.
Now as we know "divergent" and "other" can be swapped in some cases,
it is better to store the intial divergent separately in evolvestate
which is evolvestate['orig-divergent'] and later this value is used
to update the evolvestate['replacements'] which is the track of
revisions which has been resolved.
Changes in tests demonstrate the fixed behaviour.
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 22 Feb 2019 23:49:37 +0530] rev 4407
evolve: change in a test which demonstrate divergence resolution can break
This patch just add "--any" flag to "hg evolve --content-divergent" in
a test and changed output reflect that there is something which is not
handled correctly.
After looking into code I found that it is because of using a evolvestate
value which is not updated i.e evolvestate['divergent']
Next patch will fix this problem.
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 22 Feb 2019 23:57:18 +0530] rev 4406
tests: update the title of a test as it's not what it says
I see that this test has conflict in relocation and in merging also.
We do have a test for the case when only relocation leads to conflict.
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 21:56:29 +0800] rev 4405
obsexchange: avoid importing io/StringIO module with a different name
Since we're not interested in the whole module, let's shorten the imports and
aviod the lint warnings.
Otherwise pep8-naming complains:
- import io as StringIO: N812 lowercase imported as non lowercase
- import StringIO as io: N813 camelcase imported as lowercase
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 21:56:05 +0800] rev 4404
evolve: remove unused StringIO import
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 21:39:10 +0800] rev 4403
evolve: unindent some lines caught by flake8
The message was: "E117 over-indented".
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 13 Feb 2019 12:46:57 +0100] rev 4402
branching: overwrite broken merge with a correct one
Thanks goes to Anton Shestakov for spotting and fixing this.
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 19:18:17 +0800] rev 4401
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Feb 2019 15:03:14 +0100] rev 4400
branching: merge with stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 11 Feb 2019 21:33:02 +0800] rev 4399
obshistory: omit keyword arguments with default values in patch.diffui() calls
d4c9eebdd72d made that function not take "relroot" and "prefix" anymore, and
instead expect "pathfn". These two chunks of code in this patch simply generate
patches for obslog -p and they broke because they tried to provide default
values for "prefix" and "relroot" for no apparent reason (and also for
"changes"). Let's instead rely on defaults of patch.diffui().
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Feb 2019 17:52:49 +0100] rev 4398
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Feb 2019 10:21:09 +0100] rev 4397
test: wider another time matching in prev/next lock testing
There does not seems to be a reasons for specifically matching 4-6 seconds.
Wider matching will avoid intermittent failure.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Feb 2019 09:29:54 +0100] rev 4396
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Feb 2019 09:26:48 +0100] rev 4395
test: wider time matching in prev/next lock testing
There does not seems to be a reasons for specifically matching 4-6 seconds.
Wider matching will avoid intermittent failure.
Martijn Pieters <mj@octobus.net> [Wed, 21 Nov 2018 12:00:46 +0000] rev 4394
topic: make topics compatible with branchmap refactor
See https://phab.mercurial-scm.org/D5290
Martin von Zweigbergk <martinvonz@google.com> [Wed, 30 Jan 2019 10:03:00 -0800] rev 4393
prompts: use 1-indexing in revselectionprompt()
The consumer is generally a human, not a computer. I've made the
mistake of entering "1" instead of "0" a few times myself.
Anton Shestakov <av6@dwimlabs.net> [Thu, 07 Feb 2019 16:24:59 +0800] rev 4392
test-split: split now ignores diff.* settings
From 66399f2e92aa: "It is assumed by the author that the `[diff]` section is
primarily for *viewing* diffs, and that it is unlikely what people intend when
attempting to commit or revert."
Sangeet Kumar Mishra <mail2sangeetmishra@gmail.com> [Sun, 03 Feb 2019 17:03:02 +0530] rev 4391
pick: add --tool for hg pick to specify mergetool
This patch used configuration override to enable you to pass a mergetool via the
--tool flag in case there is any merge conflict.
Anton Shestakov <av6@dwimlabs.net> [Wed, 06 Feb 2019 13:49:29 +0800] rev 4390
revset: use getintrange() to parse relation subscript
After 13f7a6a4f0db parsing the tokens into usable values needs to happen inside
subscript relation functions.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 03 Feb 2019 12:04:50 +0100] rev 4389
branching: merge with stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 31 Jan 2019 15:38:48 +0530] rev 4388
compat: pass contexts to _findlimit() (issue6066)
Now _findlimit() in copies module accept context instead of rev
number. See https://phab.mercurial-scm.org/D5595
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 03 Feb 2019 08:10:48 +0100] rev 4387
packaging: fix debian changelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Jan 2019 04:45:40 +0100] rev 4386
changelog: add relevant entries
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 22 Jan 2019 18:40:10 +0530] rev 4385
evolve: add test for the case where public divergence on difference parents
This test make sure that public divergence resolution also handle the case when
divergentes changeset does not share the same parent at one end because one end
simply rebase. The other side has actual an actual diff change.
For now this would work only for the case when we need to relocate
the mutable one. Other case is still left to work on.
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 21 Jan 2019 23:06:10 +0530] rev 4384
evolve: update the public divergence resolution logic to cover --continue case
To continue the interrupted evolve in case of public divergence:
we will have to store the node of that public cset which was in
content divergence with the other cset, so that we can perform the
phase divergence resolution between that public cset and a newnode
which is the result of content-divergence resolution.
Added tests reflect the behaviour this patch adds.
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 21 Jan 2019 23:06:34 +0530] rev 4383
evolve: add logic to resolve content-divergence with a public cset
Public content-divergence is the divergence where a cset is content-divergent
with a public cset.
To solve public divergence:
1) perform content-divergent resolution
2) resultant node is phase divergent
3) perform phase divergence resolution
It is the intial logic to solve public divergence.
Next patches will be the covering the cases of:
1) relocation: when we need to relocate to node
2) continue: to add this resolution in case of --continue
3) the case when content-divergence resolution gives a result similar
to public cset.
Added test-evolve-public-content-divergent.t reflect the added behaviour.
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 13 Jan 2019 19:33:19 +0530] rev 4382
evolve: introduce function to create a obsmarker relation even for public cset
To create obsmarkers we use obsolete.createmarkers() function, but because of
security reasons this function refuses to create obsmarkers for public cset.
And we need to create obsmarkers for a public cset while solving public content
divergence. So introducing this function which create a obsmarker relation even
for immutable cset.
Currently this function create obsmarker for a single relation, in contrast of
obsolete.createmarkers() which create markers for multiple relations.
Upcoming pathces will be using this function.
Anton Shestakov <av6@dwimlabs.net> [Tue, 29 Jan 2019 20:45:14 +0800] rev 4381
topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net> [Mon, 28 Jan 2019 22:31:31 +0800] rev 4380
topic: simplify #stack index check/access
Also using stack.revs instead of list(stack). It's equivalent and stack.revs is
@propertycache'd.
Anton Shestakov <av6@dwimlabs.net> [Sun, 27 Jan 2019 17:39:09 +0800] rev 4379
topic: make ranges work in revset relations like 'foo#topic[1:2]'
Since #topic is very similar to #generations, we reuse the function directly.
Few tests because #generations is already tested in core.
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 25 Jan 2019 16:51:36 +0530] rev 4378
evolve: add description of function solveobswdp
Martin von Zweigbergk <martinvonz@google.com> [Wed, 23 Jan 2019 12:11:36 -0800] rev 4377
evolve: document the "if not shouldupdate" block
I missed the "not" in "if not shouldupdate: ... hg.updaterepo()" and
it took a long time for me to realize it's about updating *back* to
the original commit (or to its successor). Let's add a comment to
maybe help the person not make the same mistake.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 23 Jan 2019 11:55:20 -0800] rev 4376
evolve: make "startnode" consistently be a node, not a context
This fixes a bug where we didn't print "working directory is not at
..." after `hg evolve --continue` because we were comparing a node and
a context.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Jan 2019 22:36:29 -0800] rev 4375
evolve: use context managers for locks and transaction
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Jan 2019 10:17:58 -0800] rev 4374
prune: use scmutil.cleanupnodes()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Jan 2019 10:45:16 -0800] rev 4373
uncommit: use scmtutil.cleanupnodes()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Jan 2019 10:33:02 -0800] rev 4372
amend: use scmutil.cleanupnodes() with --patch
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Jan 2019 10:32:44 -0800] rev 4371
pick: use scmutil.cleanupnodes()
A side-effect is that `pick` should now also move bookmarks.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Jan 2019 09:45:25 -0800] rev 4370
fold: use scmutil.cleanupnodes()
scmutil.cleanupnodes() has existed since 4.3 and had the metadata
argument since 4.4, so we can now safely depend on it.
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Jan 2019 23:58:18 +0800] rev 4369
revset: subscriptrelations functions now have two bounds
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Jan 2019 15:49:44 -0500] rev 4368
branching: merge with stable
A new version has been released
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Jan 2019 15:48:44 -0500] rev 4367
packaging: mark as development version
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Jan 2019 15:46:38 -0500] rev 4366
Added tag 8.4.0 for changeset 8c4289d0e91e
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 20:25:36 -0500] rev 4365
packaging: prepare release 8.4.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Jan 2019 09:05:12 -0500] rev 4364
minitopic: add warning about extensions state and testing
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 12:57:25 -0500] rev 4363
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 12:55:09 -0500] rev 4362
test-compat: merge mercurial-4.6 into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 12:59:33 -0500] rev 4361
branching: closing test-compat branch for mercurial-4.3
We are dropping support for this version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 12:54:44 -0500] rev 4360
test-compat: merge mercurial-4.7 into mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 12:54:43 -0500] rev 4359
test-compat: merge mercurial-4.8 into mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 12:54:41 -0500] rev 4358
test-compat: merge stable into mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 12:50:54 -0500] rev 4357
changelog: explicit the part related to topic
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 10:46:02 -0500] rev 4356
branching: merge with future version
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 10:43:44 -0500] rev 4355
branching: start branch for test compat with Mercurial 4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 10:45:09 -0500] rev 4354
test-compat: reverse test change from 9bce7e6c18b3
This change are 4.9 only
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 10:44:49 -0500] rev 4353
test-compat: reverse test change from db87432df8de
This change are 4.9 only
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 10:44:33 -0500] rev 4352
test-compat: reverse test change from ac39cfb5bddd
This change are 4.9 only
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 22 Jan 2019 10:41:53 -0500] rev 4351
branching: merge stable into default prior to new version
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 19 Jan 2019 21:41:15 +0100] rev 4350
branching: merge wit stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 17 Jan 2019 12:37:40 +0100] rev 4349
obsdiscovery: use consistent filtering during discovery
If we computed revision using an unfiltered repository, we should run the
discovery unfiltered too.
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 18 Jan 2019 23:09:44 +0530] rev 4348
evolve: make sure we don't stop after evolution of obsparent (issue5881)
Before this patch, we were not handling the case when revset
given by user also contain wdir parent which is obsolete.
We were explicitly checking if wdir parent is obsolete, then update
to its successor and return; without checking if we still have
some revisions to be evolved.
This patch make sure that after it update to the successor of
obsolete parent it doesn't stop and continue to evolve other remaining
revisions.
Changes in tests/test-evolve-issue5881.t reflect the fixed behaviour.
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 18 Jan 2019 23:08:43 +0530] rev 4347
evolve: extract "update" code into its own function
This patch moves the code to a function which handles the case when wdir
parent is obsolete and evolve will just update to its successor.
And extraction of this to a function will also help us to fix the
issue5881.
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 25 Dec 2018 16:08:05 +0530] rev 4346
evolve: add test case for issue 5881
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 18 Jan 2019 13:54:30 +0530] rev 4345
evolve: add test which shows fixed behaviour of `hg evolve` (issue5686)
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 25 Dec 2018 14:35:54 +0530] rev 4344
evolve: cover the orphanmerge part missed by lastsolved
Let's cover the orphanmerge part also as it was missed
at the time when we introduced "lastsolved".
Chagnes in test-evolve.t reflect the fixed behaviour.
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 17 Jan 2019 16:20:35 +0530] rev 4343
evolve: add test which shows orphan-merge resolution can result to crash
It happens when there are still some revisions to evolve after evoluiton of
a orphan-merge. And the reason behind crash is that `lastsolved` is not being
updated and contain a wrong value which is now hidden.
Next patch will fix this problem.
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 25 Dec 2018 10:10:12 +0530] rev 4342
next: populate stacktemplate to the missed _nextevolve function
Martin von Zweigbergk <martinvonz@google.com> [Mon, 14 Jan 2019 09:14:38 -0800] rev 4341
evolve: adapt for deprecated ui.progress()
This makes a wrapper that has an interface like ui.progress() even
though that's the old interface that will eventually go away. That's
because it's a lot easier to convert from the ui.progress() to the
ui.makeprogress() interface than the other way around. Once we no
longer support hg<4.7, we can migrate our callers to ui.makeprogress()
and drop the wrapper.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 11 Jan 2019 09:26:41 -0800] rev 4340
fold: sort concatenated commit messages in topological order
It seems better to have the proposed commit message look the same
whether the user ran `hg fold --exact -r . -r .^` or `hg fold --exact
-r .^ -r .`.
Anton Shestakov <av6@dwimlabs.net> [Wed, 26 Dec 2018 14:52:07 +0800] rev 4339
topic: make revsets like 'foo#topic[0]' work
Essentially, 'topic' relation subscript function is the same as 'generations',
but is limited to revisions marked with one particular topic.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 10 Jan 2019 17:30:01 +0100] rev 4338
changelog: add an entry about the revset stack indexing
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 10 Jan 2019 17:36:59 +0100] rev 4337
test: adapt output to minor behavior change
CORE-TEST-OUTPUT-UPDATE: bad05a6afdc8
Anton Shestakov <av6@dwimlabs.net> [Sun, 06 Jan 2019 00:27:54 +0800] rev 4336
tests: remove unused variable and needless subshell in testlib/pythonpath.sh
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Jan 2019 05:21:37 +0100] rev 4335
branching: merge with stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 04 Jan 2019 19:17:38 -0500] rev 4334
tests: conditionalize some output for Windows
A couple of these were already present, but out of place.
Matt Harbison <matt_harbison@yahoo.com> [Fri, 04 Jan 2019 18:49:53 -0500] rev 4333
test-pyflakes: use '/' when printing the files to check
If paths are printed with '\', `xargs` sees the parts allsmooshedtogether, and
pyflakes errors out.
Matt Harbison <matt_harbison@yahoo.com> [Fri, 04 Jan 2019 18:46:46 -0500] rev 4332
tests: fix PYTHONPATH manipulation on Windows
Without the semicolon separator and quotes, the variables ends up like this:
c:\Users\Matt\projects\hg-evolve:c:\Users\Matt\projects\hg-evolve:
c:\Users\Matt\projects\hg;c:\Users\Matt\projects\hg-evolve\tests;
c:\Users\Matt\projects\hg\tests
That in turn makes the local evolve code unreachable, and the system installed
code is tested instead.
I'm testing against `uname` instead of a trivial python script printing os.name
because maybe one day tests will run on WSL.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 03 Jan 2019 00:01:54 -0500] rev 4331
exthelper: update documentation with some examples for using registrar aliases
Matt Harbison <matt_harbison@yahoo.com> [Thu, 27 Dec 2018 23:46:35 -0500] rev 4330
exthelper: simplify the ability to register filesets
Same mechanism as revsets earlier in this series.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 27 Dec 2018 21:55:22 -0500] rev 4329
exthelper: simplify the ability to register templates
Same mechanism as revsets earlier in this series.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 27 Dec 2018 21:26:17 -0500] rev 4328
exthelper: simplify the ability to register revsets
I think this is what Yuya and Boris agreed on.[1] This happens *after* the
extsetup phase now (and after the _aftercallback notifications). But this is
trivial, mergeable between exthelper instances, and doesn't need to have the
extension name supplied when registering.
[1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2018-December/125888.html
Matt Harbison <matt_harbison@yahoo.com> [Sun, 23 Dec 2018 21:54:56 -0500] rev 4327
exthelper: support the option argument when registering a command
Largefiles uses this 5th argument with push and pull, so this will be tested in
the next commit. I assume the reason for unrolling and reforming the tuple in
each finalxxxsetup() is to validate that something proper was passed in when
registering. But it's better to explode when decorating than during the delayed
actual registration.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 22 Dec 2018 22:26:36 -0500] rev 4326
exthelper: simplify configitem registration
Matt Harbison <matt_harbison@yahoo.com> [Thu, 27 Dec 2018 21:26:17 -0500] rev 4325
exthelper: avoid a [] default arg to wrapcommand()
Matt Harbison <matt_harbison@yahoo.com> [Fri, 04 Jan 2019 00:10:44 -0500] rev 4324
configitems: move the default values to the registrar decorator
The exthelper refactoring of configitems stopped registering dynamicdefault for
everything, which in turn causes a lot of warnings about mismatched defaults.
There are a few stragglers- I didn't fix topic-mode because I wasn't sure what
the default should be, and the alias for odiff was explicitly given a default
for compatibility.
Anton Shestakov <av6@dwimlabs.net> [Wed, 26 Dec 2018 22:14:23 +0800] rev 4323
topic: make revsets like foo#stack[-1] work too
We remove base commit when n < 0 because it's confusing to see base (which
technically isn't a commit inside the stack) at both 0 and -n.
Anton Shestakov <av6@dwimlabs.net> [Sun, 16 Dec 2018 11:22:04 +0800] rev 4322
topic: make revsets like 'foo#stack[0]' work
'stack' relation subscript function is another way to refer to s0, s1, etc. But
instead of aborting in many cases it will simply return an empty set.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 22 Dec 2018 01:29:59 -0500] rev 4321
exthelper: remove '_' in final_xxx() function names to conform to hg style
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 18:38:25 +0100] rev 4320
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 18:36:25 +0100] rev 4319
packaging: mark as development version
This avoid confusion when installing from source.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 18:01:30 +0100] rev 4318
Added tag 8.3.3 for changeset 97b18934d6db
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 17:55:25 +0100] rev 4317
packaging: prepare version 8.3.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 17:47:40 +0100] rev 4316
test-compat: merge mercurial-4.4 into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 17:47:31 +0100] rev 4315
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 17:47:29 +0100] rev 4314
test-compat: merge mercurial-4.6 into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 17:47:28 +0100] rev 4313
test-compat: merge mercurial-4.7 into mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Dec 2018 17:47:27 +0100] rev 4312
test-compat: merge stable into mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Dec 2018 13:14:59 +0800] rev 4311
evolve: detect unresolved conflict during evolve --continue (issue5966)
Evolve --continue was ignoring unresolved conflict, proceeding with its
operation without any check. This is now fixed.
This test case was built and formalized by Matt Harbison and Anton Shestakov.
Anton Shestakov <av6@dwimlabs.net> [Thu, 20 Dec 2018 13:59:07 +0800] rev 4310
tests: filter out uninteresting log events
Core has new ui.log() calls added (for tracking extension loading and
performance, for example), but in test-discovery-obshashrange.t it produces a
bunch of lines that are unrelated to the test. So we filter them out to not
touch test output. This is inspired by 1de3364320af in core.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Dec 2018 20:14:26 +0100] rev 4309
test-compat: merge mercurial-4.4 into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Dec 2018 20:14:23 +0100] rev 4308
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Dec 2018 20:14:21 +0100] rev 4307
test-compat: merge mercurial-4.6 into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Dec 2018 20:14:20 +0100] rev 4306
test-compat: merge mercurial-4.7 into mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Dec 2018 20:14:18 +0100] rev 4305
test-compat: merge stable into mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Dec 2018 19:48:01 +0100] rev 4304
linter: silence rightful complains about unused variable
Anton Shestakov <av6@dwimlabs.net> [Mon, 03 Dec 2018 14:41:03 +0800] rev 4303
topic: merge _showlasttouched logic into _listtopics
Makes --age work with --verbose.
Anton Shestakov <av6@dwimlabs.net> [Mon, 03 Dec 2018 14:15:00 +0800] rev 4302
topic: simplify _showlasttouched and _getlasttouched (and its data structure)
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Dec 2018 18:57:49 +0100] rev 4301
branching: merge with stable
Boris Feld <boris.feld@octobus.net> [Thu, 13 Dec 2018 17:40:41 +0000] rev 4300
split: add a --interactive flag
While the interactive mode is useful for end-users, there are some cases where
they don't need the interactivity overhead. Moreover, this allow the split
command to be used in automated scripts.
Boris Feld <boris.feld@octobus.net> [Wed, 21 Feb 2018 14:39:48 +0100] rev 4299
split: take file patterns to limit selection on matching file patterns
When splitting a big changeset, the user often wants to extract specific files
from the changeset while leaving the others files intact.
The split command can now be called with multiple file patterns. Only files
that match one of the patterns will be shown in the interactive selection. The
user will be able to create one or more commits with those files.
When the user finishes splitting the matching files, a last commit will be
made with the remaining of the files.
Boris Feld <boris.feld@octobus.net> [Wed, 21 Feb 2018 12:39:17 +0100] rev 4298
split: only accept explicit revision through the `-r` option
We are about to introduce new non-optionnal arguments to defines files
patterns. To avoid confusion and to be closer to the standard options, only
accepts revisions with the `-r` option.
James Reynolds <james.glenn.reynolds@gmail.com> [Thu, 13 Dec 2018 17:41:06 +0100] rev 4297
issue-6028: resolves 6028 - return (False, ".") instead of (False, '')
Since 4.8, repo[] no longer takes an empty string, so we update to a valid with
similar semantic.
This value is strange and we should probably use an actual node ID here,
however, this is an independent issue.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Dec 2018 17:26:26 +0100] rev 4296
branching: merge with stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 12 Dec 2018 01:19:30 +0800] rev 4295
tests: add sparserevlog cap since hg now has sparse revlogs by default
CORE-TEST-OUTPUT-UPDATE: 3764330f76a6
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 12 Dec 2018 17:22:58 +0100] rev 4294
split: rework the prompt to be more standard
We dropped the initial capital and moved to a positive question.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 20 Feb 2018 09:35:16 +0100] rev 4293
split: add a option to discard remaining change during split
This is useful to drop unwanted remaining change spotted during the split.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 20 Feb 2018 09:35:16 +0100] rev 4292
split: add a way to abort a split from the prompt
This prompt is asking the user about the next step. Offering to abort there make
sense.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 20 Feb 2018 09:36:55 +0100] rev 4291
split: add a help entry to the final prompt
We are about to add more option in this prompt. Adding a way to document then
seems like a good first step.
Anton Shestakov <av6@dwimlabs.net> [Wed, 05 Dec 2018 23:15:29 +0800] rev 4290
topic: make revset argument messages be similar to such messages in core
Anton Shestakov <av6@dwimlabs.net> [Wed, 05 Dec 2018 23:13:26 +0800] rev 4289
tests: don't forget to add hg serve pid to DAEMON_PIDS in test-wireproto.t
Otherwise it leaves a process running after each run-tests.py launch.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 04 Dec 2018 13:33:51 +0100] rev 4288
test: adapt to change output change on default
We now have a `wcache` directory in `.hg`.
Anton Shestakov <av6@dwimlabs.net> [Sat, 01 Dec 2018 16:08:42 +0800] rev 4287
safeguard: don't reimplement auto-publish if it's in core (will be in 4.9)
Anton Shestakov <av6@dwimlabs.net> [Sat, 01 Dec 2018 16:07:55 +0800] rev 4286
safeguard: the new default for auto-publish is 'publish'
James Reynolds <jreynolds@backstage.com> [Fri, 21 Sep 2018 11:44:34 -0400] rev 4285
stack: add a --children flag to stack
If a commit in the stack has been merged outside the current topic, show a trailing status of (external-children)
Matt Harbison <matt_harbison@yahoo.com> [Sun, 02 Dec 2018 16:52:14 +0100] rev 4284
extensions: avoid shadowing imported module names with exthelper methods
The previous code worked, but confused pyscripter.
Matt Harbison <matt_harbison@yahoo.com> [Fri, 30 Nov 2018 22:10:39 -0500] rev 4283
extensions: add fileset support to exthelper
This will be tested by using it in lfs.
Matt Harbison <matt_harbison@yahoo.com> [Sun, 02 Dec 2018 16:48:05 +0100] rev 4282
extensions: add uipopulate() support to exthelper
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 02 Dec 2018 16:45:08 +0100] rev 4281
exthelper: clarify copyright and licence for the module
The exthelper is quite useful and Matt Harbison is looking into having it
upstreamed. We clarify the legal situation first.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:46:35 +0100] rev 4280
packaging: merge with version 8.3.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:42:45 +0100] rev 4279
packaging: mark development version
This help reduce the confusion when people install from source.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 12:53:24 +0100] rev 4278
Added tag 8.3.2 for changeset 7edc5c148df0
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:31:03 +0100] rev 4277
packagin: prepare release 8.3.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:07:38 +0100] rev 4276
test-compat: merge mercurial-4.4 into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:07:36 +0100] rev 4275
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:07:35 +0100] rev 4274
test-compat: merge mercurial-4.6 into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:07:33 +0100] rev 4273
test-compat: merge mercurial-4.7 into mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 04:07:31 +0100] rev 4272
test-compat: merge stable into mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 03:57:30 +0100] rev 4271
changelog: add information about the topic message improvements
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 27 Nov 2018 03:56:27 +0100] rev 4270
branching: merge with stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 27 Nov 2018 03:46:06 +0100] rev 4269
evolve: update the abort to a ProgrammingError
This error should be a ProgrammingError and as Pierre-Yves David said
ProgrammingError type did not existed when this code was written, so lets update
this now.
Pulkit Goyal <pulkit@yandex-team.ru> [Mon, 26 Nov 2018 16:43:39 +0300] rev 4268
topics: improve the message around topic changing
The new message says 'cleared' when topic name is cleared, if we change to a new
topic name, it mentions the new topic name too.
Martijn Pieters <mj@octobus.net> [Wed, 21 Nov 2018 11:13:21 +0000] rev 4267
tests: fix for POSIX compliance
* Mac ls will exit with a different message and exit code [1], replace with
grep (which is what mercurial tests do)
* POSIX echo has no -n switch, use printf instead
Martijn Pieters <mj@octobus.net> [Wed, 21 Nov 2018 10:47:07 +0000] rev 4266
style: remove unused variables
Both `as e` references are not used and can go.
Eric Spishak-Thomas <spishak@google.com> [Tue, 20 Nov 2018 11:33:38 -0500] rev 4265
evolve: fix a documentation typo
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 02:34:39 +0000] rev 4264
compat: drop 4.3 related obsfate code
All the necessary piece are supported starting 4.4.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 02:27:13 +0000] rev 4263
compat: drop code dealing with incompatibility for --publish with 4.3
We dropped 4.3 support.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 02:25:37 +0000] rev 4262
compat: clarify when some conditional are used
The middle condition was an intermediate state that never existed into a
release. We can safely drop it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 02:20:44 +0000] rev 4261
compat: drop 4.3 "new troubles" report code
This is supported natively for Mercurial 4.4 and above.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 02:18:58 +0000] rev 4260
compat: drop 4.3 wrapping of createmarker for effect flag support
This is supported natively in 4.4 and above.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 01:52:45 +0000] rev 4259
compat: drop 4.3 monkey patch of `copies.mergecopies`
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 01:45:34 +0000] rev 4258
compat: drop 4.3 compatiblity code for `obsutil.allprecursors` function
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 01:44:28 +0000] rev 4257
compat: drop 4.3 compatiblity code for `ui.edit` method
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 01:42:50 +0000] rev 4256
compat: drop 4.3 compatiblity code for 'successors' revset
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 01:41:36 +0000] rev 4255
compat: drop 4.3 compatiblity code for 'precursors' revset
Matt Harbison <matt_harbison@yahoo.com> [Sat, 10 Nov 2018 23:54:46 -0500] rev 4254
compat: drop Mercurial 4.3 support for exthelper
The last release email noted plans to drop 4.3 and 4.4 support in the next
feature release. I'd like to move this code into core, and dropping this should
allow the class to be copied in unmodified.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Nov 2018 01:49:34 +0000] rev 4253
compat: update metadata about minimum ag version
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 06 Nov 2018 10:41:50 +0530] rev 4252
next: solve the issue of `next` get confused by split
This patch solve a problem of next command which get confused by split.
Let me describe how it was getting confused:
Initial state of repo:
A---B---C
After splitting B to (B1,B2):
@
A---B1---B2
\
---B---C
X *
(note: C is orphan; checkedout to B1)
Lets make an amend on B1:
@
B1'
/
A---B1---B2
\ X *
\
---B---C
X *
Now, if run `hg next` (--evolve is True by default now):
$ it would give you choice to choose from B2 and C thinking that C could also
be a possbile children for B1, instead of stablizing B2 on B1.
I fixed this problem by filtering those aspiring children which can be
stablized on one of the aspiring children itself.
Changes made in test-prev-next.t shows the changed expected behaviour.
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 06 Nov 2018 15:10:56 +0530] rev 4251
next: add test which shows that `next` get confused by split
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 31 Oct 2018 14:08:56 +0530] rev 4250
cleanup: avoid a Yoda condition
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 31 Oct 2018 14:06:17 +0530] rev 4249
evolve: modify and move the comment to appropriate position
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 31 Oct 2018 14:01:58 +0530] rev 4248
next: update the command description
Now, if necessary next command evolve the next child revision
by defualt. You don't need to pass the --evolve flag.
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 10 Nov 2018 15:50:05 +0100] rev 4247
next: make next command --evolve by default
Before this patch, if we need to evolve to update to the next child,
we were suggesting the user to use --evolve flag. This patch make some
changes to evolve by default in that conditions.
After making next command to evolve by default we have to consider
the following points:
1) If we don't need to evolve while updating to the next child:
a) And if wdir is dirty, we suggest to use --merge flag
b) if wdir is clean, we simply update to next child (if ambiguous,
prompt the user to select one)
2) If we need to evolve:
a) when wdir is dirty, we suggest the user to use `hg shelve` first,
to make wdir clean. As we don't support --merge while evovling.
b) when wdir is clean, we evolve the next cset.
Changes made in test-prev-next.t reflect the changed behaviour.
Anton Shestakov <av6@dwimlabs.net> [Mon, 05 Nov 2018 19:56:33 +0800] rev 4246
safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net> [Sun, 04 Nov 2018 22:06:23 +0800] rev 4245
topic: only add --publish flag to push if it's not already there
Anton Shestakov <av6@dwimlabs.net> [Mon, 05 Nov 2018 16:04:01 +0800] rev 4244
safeguard: check auto-publish value before sending listkeys command
Always sending listkeys command is just wasteful, let's first make sure users
even care about auto-publish behavior.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 17:54:28 +0100] rev 4243
style: silence another flak8 warning
Default should be green now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 16:11:19 +0100] rev 4242
oops: backed out changeset df22f010cf24 pushed by error
The changeset still fails some test
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 10 Nov 2018 15:50:05 +0100] rev 4241
next: make next command --evolve by default
Before this patch, if we need to evolve to update to the next child,
we were suggesting the user to use --evolve flag. This patch make some
changes to evolve by default in that conditions.
After making next command to evolve by default we have to consider
the following points:
1) If we don't need to evolve while updating to the next child:
a) And if wdir is dirty, we suggest to use --merge flag
b) if wdir is clean, we simply update to next child (if ambiguous,
prompt the user to select one)
2) If we need to evolve:
a) when wdir is dirty, we suggest the user to use `hg shelve` first,
to make wdir clean. As we don't support --merge while evovling.
b) when wdir is clean, we evolve the next cset.
Changes made in test-prev-next.t reflect the changed behaviour.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 16:05:34 +0100] rev 4240
next: improve the message for dirty working copy with --evolve
This will be important soon when --evolve will be the default.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 16:01:31 +0100] rev 4239
next: use the `hint` argument of bail if changed
The argument is availabel since Mercurial 4.1. So let's use it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 15:59:16 +0100] rev 4238
prev: use the `hint` argument of bail if changed
The argument is availabel since Mercurial 4.1. So let's use it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 15:28:44 +0100] rev 4237
next: explicitly specify --no-evolve in the tests
The default value for this flag is about to switch.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 15:47:46 +0100] rev 4236
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 15:37:22 +0100] rev 4235
style: fix various flake8 warning
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 10 Nov 2018 15:30:10 +0100] rev 4234
next: set if we need to evolve or not; also move logic to appropriate pos
set the value `needevolve` and also move the logic to find aspiringchildren
to appropriate position i.e before we suggest user to use other flags like
--merge.
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 06 Nov 2018 11:22:39 +0530] rev 4233
next: move some code to prepare for `next --evolve` by default
Moved some values before the block where we suggest the user to use
--merge flag. As we would need these values to find if we need to evolve
or not before we can suggest user to use `--merge` flag.
We will suggest user to use `--merge` flag only when we don't need to
evolve. Because currently we don't support both --evolve(going to be True
by default) and --merge at the same time.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Nov 2018 00:55:34 +0100] rev 4232
branching: merge with stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 06 Nov 2018 15:53:18 +0530] rev 4231
topic: improve UX by using pager only when we should
Before this patch we were using pager in every case of topic command,
either it is setting up a new topic or clearing the active topic.
After this patch it will not use pager in following commands:
$ hg topic [TOPIC] -r [rev]
$ hg topic --clear
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 06 Nov 2018 10:43:35 +0530] rev 4230
evolvecmd: _possibledestination() skip visiting empty parent
I see that even in the case when "parent == -1" we are visiting
that also and find succsets for that and in last -1 is being
added in the set of possible destination. Why not skip that?
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 03 Nov 2018 12:21:19 +0530] rev 4229
pick: `hg help` was not showing the full cmd desc of `pick`
after running command `hg help` it was not including the second line
of command description. I guess it picks the firstline only. So I moved
that part in first line of cmd description.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Nov 2018 20:19:01 +0100] rev 4228
test-compat: merge mercurial-4.4 into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Nov 2018 20:18:59 +0100] rev 4227
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Nov 2018 20:18:58 +0100] rev 4226
test-compat: merge mercurial-4.6 into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Nov 2018 20:18:57 +0100] rev 4225
test-compat: merge mercurial-4.7 into mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Nov 2018 20:18:55 +0100] rev 4224
test-compat: merge stable into mercurial-4.7
Boris Feld <boris.feld@octobus.net> [Wed, 07 Nov 2018 19:35:48 +0100] rev 4223
compat: fix fixedcopytracing compatibility with mercurial 4.8 and narrow
Mercurial 4.8 version of _fullcopytracing includes some new narrow code. As
https://phab.mercurial-scm.org/D3896 has not yet landed, update
fixedcopytracing behind a version detection condition. This was spotted by
Augie Fackler.
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 01 Nov 2018 21:33:15 +0300] rev 4222
utility: don't translate commit messages in revselection prompt (issue6016)
Commit messages should not be translated and should be shown the same. I am not
sure if I can add a test for this by creating a commit with non-ascii character
in commit message.
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 26 Oct 2018 12:54:40 +0530] rev 4221
evolve: use stack template in --continue case also
We use stack indexes (s#) in evolve msging when revs being evolved are
in active topic. Before this patch we are not covering the --continue case.
So this patch cover the same and use the stack indexes s# even when we
continue an interrupted evolve.
In this patch I used the same concept (to check if we should use s#)
as we are using in cases other than `--continue`. Thanks to PYD for
refactoring those lines.
Changes in tests also reflects the expected behaviour.
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 24 Oct 2018 19:38:02 +0530] rev 4220
evolve: add test showing currently stackalias fails in --continue case
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:51:55 +0200] rev 4219
branching; merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:50:42 +0200] rev 4218
packaging: mark version as devel version
This avoid confusion from people installing from source.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:44:07 +0200] rev 4217
Added tag 8.3.1 for changeset b90422a11a88
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:42:49 +0200] rev 4216
packaging: prepare version 8.3.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:32:54 +0200] rev 4215
test-compat: merge mercurial-4.4 into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:32:52 +0200] rev 4214
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:32:51 +0200] rev 4213
test-compat: merge mercurial-4.6 into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:32:50 +0200] rev 4212
test-compat: merge mercurial-4.7 into mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:32:49 +0200] rev 4211
test-compat: merge stable into mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:09:08 +0200] rev 4210
evolve: do not try to display stack index of changeset who do not have one
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 18:08:34 +0200] rev 4209
evolve: check if we should use stack template for each item in the stack
We should probably just track the current topic and move all the logic in the
template itself. However, this is a good first step.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 17:03:34 +0200] rev 4208
branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 16:33:10 +0200] rev 4207
test-compat: merge mercurial-4.4 into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 13:05:14 +0200] rev 4206
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 13:04:08 +0200] rev 4205
test-compat: merge mercurial-4.6 into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 13:03:30 +0200] rev 4204
test-compat: merge mercurial-4.7 into mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 13:03:03 +0200] rev 4203
test-compat: merge stable into mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 13:24:34 +0200] rev 4202
branching: revert test outptu change for 4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 10:01:58 +0200] rev 4201
pullbundle: drop erroneous flagging of the command as basic
This is a debug command, not a basic part of the UI.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:55:37 +0200] rev 4200
test-compat: backed out changeset ba1e83c841f2
Preparing the branch for 4.8.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:55:22 +0200] rev 4199
test-compat: backed out changeset b0084d599112
Preparing the branch for 4.8.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:55:12 +0200] rev 4198
test-compat: backed out changeset e2d083cc447e
Preparing the branch for 4.8.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:53:48 +0200] rev 4197
test-compat: backed out changeset ccbfbeee6cf3
Preparing the branch for 4.8.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:53:09 +0200] rev 4196
test-compat: backed out changeset 7091f7215651
Preparing the branch for 4.8.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:52:34 +0200] rev 4195
test-compat: backed out changeset 8eec9422bd8e
Preparing the branch for 4.8.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:49:48 +0200] rev 4194
branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 12:41:16 +0200] rev 4193
branching: start test compatibility branch for Mercurial 4.7
Mercurial 4.8-rc0 have been released
Pulkit Goyal <pulkit@yandex-team.ru> [Sun, 21 Oct 2018 00:08:27 +0300] rev 4192
topic: add the changelog argument to branchinfo()
47c03042cd1d in core added a changelog argument to revbranchcache.branchinfo()
and we wrap that function in topic extension. So let's add this optional
argument in topic extension too.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 18 Oct 2018 22:11:43 -0700] rev 4191
evolve: adapt for changed @command decorator
Core changed the hacky "^command" syntax to be a proper decorator
option in fa88170c10bb (help: adding a proper declaration for
shortlist/basic commands (API), 2018-10-12). This patch makes evolve
compatible with that.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Oct 2018 14:47:38 +0200] rev 4190
topicidx: stop assigning index number to obsolete changesets
Obsolete changeset are no longer part of the stack, the old logic tried to
assigns them the index of their successors but this is flacky and error prone.
So we stop doing so.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 11:32:43 +0200] rev 4189
stack-index: add some test featuring content diversion
This will be useful to display various issues.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 Oct 2018 10:01:58 +0200] rev 4188
pullbundle: drop erroneous flagging of the command as basic
This is a debug command, not a basic part of the UI.
Pulkit Goyal <pulkit@yandex-team.ru> [Sun, 21 Oct 2018 00:08:27 +0300] rev 4187
topic: add the changelog argument to branchinfo()
47c03042cd1d in core added a changelog argument to revbranchcache.branchinfo()
and we wrap that function in topic extension. So let's add this optional
argument in topic extension too.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Oct 2018 09:02:35 -0700] rev 4186
topics: "prairie" is a not an animal (AFAIK, anyway)
Martin von Zweigbergk <martinvonz@google.com> [Thu, 18 Oct 2018 21:59:24 -0700] rev 4185
tests: remove a"| head -n 2" that just hides an error code
The output from core used to be longer and it made sense, but no
longer does.
CORE-TEST-OUTPUT-UPDATE: 5199c5b6fd29
Martin von Zweigbergk <martinvonz@google.com> [Thu, 18 Oct 2018 22:11:43 -0700] rev 4184
evolve: adapt for changed @command decorator
Core changed the hacky "^command" syntax to be a proper decorator
option in fa88170c10bb (help: adding a proper declaration for
shortlist/basic commands (API), 2018-10-12). This patch makes evolve
compatible with that.
Anton Shestakov <av6@dwimlabs.net> [Wed, 17 Oct 2018 23:10:30 +0800] rev 4183
commands: adjust metavariables as appropriate
Apart from looking better in hg help command, these strings are also helpful
when generating shell completions programmatically.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Oct 2018 14:02:18 +0200] rev 4182
branching: merge with default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Oct 2018 13:44:06 +0200] rev 4181
branching: preserve the expected output on default
Anton Shestakov <av6@dwimlabs.net> [Sun, 14 Oct 2018 13:37:11 +0200] rev 4180
evolvecmd: use modern vocabulary in help text for evolve
Anton Shestakov <av6@dwimlabs.net> [Sun, 14 Oct 2018 13:35:13 +0200] rev 4179
evolvecmd: mark flags with old instability names as deprecated
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Oct 2018 13:36:08 +0200] rev 4178
packaging: mark as development version
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 16:31:20 +0200] rev 4177
Added tag 8.3.0 for changeset 45d4b49d81d9
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 16:19:39 +0200] rev 4176
packaging: prepare release 8.3.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 16:25:06 +0200] rev 4175
pullbundle: document working version and update changelog to mention it
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:20:54 +0200] rev 4174
test-compat: merge mercurial-4.4 into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:15:09 +0200] rev 4173
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:15:07 +0200] rev 4172
test-compat: merge mercurial-4.6 into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:15:05 +0200] rev 4171
test-compat: merge stable into mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:37:22 +0200] rev 4170
topic: fix '{topicidx}' keyword registration for mercurial <= 4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:03:29 +0200] rev 4169
branching: prepare release 8.3.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:07:23 +0200] rev 4168
test: other harmless output change
These are new test that need adjustment for 4.7 output.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 15:02:51 +0200] rev 4167
changelog: mention the fix of cache warming on hg strip
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 14:56:00 +0200] rev 4166
test: backed out output changes from changeset 6f391c2a773b
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 14:55:46 +0200] rev 4165
test: backed out test output changes from changeset ef22eef37ecc
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 14:55:37 +0200] rev 4164
test: backed out output changes from changeset 0171a7ceb574
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 14:55:27 +0200] rev 4163
test: backed out output changes from changeset dfa69b5ece87
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 14:55:20 +0200] rev 4162
test: backed out output changes from changeset 01ad46551d7c
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 14:40:03 +0200] rev 4161
prev: also use stack shortcut in output when possible
This mirror what `hg evolve` is doing since cc3a0b13ae57.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 14:33:03 +0200] rev 4160
next: also use stack shortcut in output when possible
This mirror what `hg evolve` is doing since cc3a0b13ae57.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 11:33:30 +0200] rev 4159
branching: merge stable into default
Pulkit Goyal <pulkit@yandex-team.ru> [Fri, 12 Oct 2018 02:12:23 +0300] rev 4158
rewind: alias the command to undo
This is a step in unifiying rewind and undo and not talk about them as different
commands or concepts. If there exists rewind command, that should be an alias of
undo and the vice versa.
The exact implmentation detail and how the command works etc. is a different
thing but there should be just one command.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 12 Oct 2018 01:23:16 +0200] rev 4157
changelog: add a line about the usage of s# in evolve
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Oct 2018 13:38:38 +0200] rev 4156
caches: no longer warm the cache on strip in "auto" mode
Before this patch, a strip would trigger a full and blind cache load that would
include the stablerange cache.
In repository like Mozilla this was a bit painful. The default "auto" mode now
behave has intended.
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 02 Oct 2018 12:55:29 +0530] rev 4155
evolve: use stack alias s# in `hg evolve` msgs
As repository grows revision number lose their usefulness. To
make it a little better than now, after this patch we will be
using short stack aliases introduced by the topic extension
(as displayed by `hg stack`).
These stack aliases s# will be used only when user has enabled
topic extension and his repo's current active topic is same as
the revs to be evolved.
For now, this patch doesn't cover `continue` case. I will discuss about this
with Pierre-Yves David. Maybe we have to store the info in evolvestate that "we
were using stack aliases".
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 01 Oct 2018 19:59:17 +0530] rev 4154
evolve: extract displayer to _solveone()
I extracted this displayer method to _solveone() so that it would be
easy to pass a different template to show evolve msgs. In upcoming
patches we will be using stacktemplate in some cases where we want
to include stack alias s# in evolve msgs.
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 01 Oct 2018 13:20:30 +0530] rev 4153
utility: add a template alias that will be used in evolve msgs
This template use stack alias s# instead of rev number in messages
printed when we run `hg evolve`.
For example, this template's msgs will look like this:
move:[s3] add aaa
atop:[s2] add bbb
move:[s4] add ccc
I will be using this template in upcoming patches.
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 01 Oct 2018 12:37:42 +0530] rev 4152
topic: add topicidx template keyword
This keyword will be useful where we want to see the index of
the changeset in the stack when we run `hg stack`.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 09 Oct 2018 15:14:32 +0200] rev 4151
changelog: fix version number
Pulkit Goyal <pulkit@yandex-team.ru> [Tue, 02 Oct 2018 20:38:37 +0300] rev 4150
tests: update the test-topic.t with changes in core mercurial
Yuya stabilized the -T option and now it's in help by default.
CORE-TEST-OUTPUT-UPDATE: 0d703063d0c8
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 26 Sep 2018 19:17:04 +0200] rev 4149
pullbundle: fix style warning
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 26 Sep 2018 18:41:55 +0200] rev 4148
pullbundle: improves management of multiple branch while dealing with a head
There were still case where a range was issued too early.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 26 Sep 2018 18:42:44 +0200] rev 4147
pullbundle: deal with head in a predicable order
We use node order to make this repeatable from one clone to another. This is an
arbitrary pick.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 26 Sep 2018 17:17:11 +0200] rev 4146
pullbundle: deal with another special case introduced by arbitrary ranges
previous, we dealt with the case where the tippest subrange of the stable parent
was too long. Now, we need to deal with the case where it is too small.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 26 Sep 2018 13:15:40 +0200] rev 4145
pullbundle: compat with Mercurial 4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 19:35:33 +0200] rev 4144
pullbundle: add some information on the cached change
This also adds a way to skip "caching" smaller range in the debugcommand (not in
the extensions itself).
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 18:41:51 +0200] rev 4143
pullbundle: add data about the cached bundle size and hit
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 18:23:46 +0200] rev 4142
pullbundle: add a command to generate cache hit statistic
This new command should help checking that the stable range produce reusable
bundle.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 13:44:32 +0200] rev 4141
pullbundle: point out the output flooding issue from core
Right now, we don't have a reliable progress report when using pullbundle.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 13:29:49 +0200] rev 4140
pullbundle: issue local branches in the right order
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 12:53:34 +0200] rev 4139
pullbundle: delay cache file opening
Otherwise we can end-up with a too many file open at the same time.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 12:20:26 +0200] rev 4138
pullbundle: improve slicing of the lower part of range
The previous method could get confuse by merge and overslice. The new method
is better at using sticking on power of two boundaries.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Sep 2018 12:19:41 +0200] rev 4137
stablerange: fix slicing of arbitrary ranges
Pull bundle trigger slicing from range with arbitrary initial skip. We have to
adjust the current slicing to take this into account.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Sep 2018 01:16:00 +0200] rev 4136
pullbundle: attempt to save stablerange cache after each computation
Since we do not serve the full repository, we use more stablerange starting from
a random point. These are probably not loaded yet and should be cached.
This is best effort caching, if we can't save them we won't.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Sep 2018 00:51:39 +0200] rev 4135
pullbundle: add basic extension metadata
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Sep 2018 00:28:10 +0200] rev 4134
pullbundle: add a config option for the cache directory
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 23 Sep 2018 22:58:11 +0200] rev 4133
pullbundle: add an output about the time spent slicing the set
This will be useful to monitor overall performance.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 23 Sep 2018 22:45:23 +0200] rev 4132
pullbundle: add extension documentation
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 23 Sep 2018 23:46:49 +0200] rev 4131
pullbundle: add an extra test showing how cache are reusable
We issue a single final pull, most of its item are reusable.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 23 Sep 2018 00:08:02 +0200] rev 4130
pullbundle: add caching logic
We now only generate a bundle once (and store it to disk). If we need it again,
we use it directly from disk.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 23 Sep 2018 23:41:08 +0200] rev 4129
pullbundle: slice pull into multiple ranges
We subdivide the set of missing revisions into multiple "range" using the "stable
range" data structure. This slicing aims at maximizing the capability of the
resulting ranges.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 23 Sep 2018 23:53:23 +0200] rev 4128
pullbundle: initial commit
Right now, we do not do any slicing, but we install the wrapping and the tests.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Sep 2018 20:02:03 +0200] rev 4127
test: update output to make streamv2 capabilities
CORE-TEST-OUTPUT-UPDATE: 4bd6e444c76f
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Sep 2018 18:33:55 +0200] rev 4126
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 22 Sep 2018 13:09:06 +0200] rev 4125
topic: respect preexisting 'topic' value on workingcommitctx
Mercurial's core changeset: 6c8ceebce309 revealed an issue. If the creator of a
workingcommitctx explicitly assigned a 'topic', it was silently overridden by
the current active on. This break import of patch with topic information.
We now respect preexisting topic information.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Sep 2018 19:49:28 +0200] rev 4124
topic: add a compatibility to access transaction's names
The attribute was made private in 4024c363cd33.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Sep 2018 17:50:28 +0200] rev 4123
topic: add a compatibility to access transaction's validator
The attribute was made private in ebbba3ba3f66.
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 21 Sep 2018 15:52:53 +0530] rev 4122
evovle: remove redundancy in evolve output
Copying the discription of this redundancy issue given by Pierre Yves David:
When running `hg evolve` to stabilize orphan changeset output about the
currently stabilized changeset is issued. For example:
$ hg evolve
move:[3] a3
atop:[4] a2
working directory is now at 7c5649f73d11
This output can become quite repetitive when orphan are stabilized atop
each other. For example:
$ hg evolve --all
move:[8] dansk 2!
atop:[10] dansk!
merging main-file-1
move:[9] dansk 3!
atop:[11] dansk 2!
In this case it would be smoother to issue:
$ hg evolve --all
move:[8] dansk 2!
atop:[10] dansk!
merging main-file-1
move:[9] dansk 3!
Since we are moving "dansk 3!" atop the changeset we just stabilized.
When adding this be careful that we still want to issue the "atop" message
in various cases:
1. first changesets in a stack
2. when the orphan is not stabilized atop previous one
3. when using hg evolve --continue to resume an evolution
So, I have made the changes which also respect above listed three points.
And changes in tests/test-evovle*.t reflecting the changed behavior.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Sep 2018 11:58:42 +0200] rev 4121
amend: handle crash before transaction initialization with --patch
The `tr` object can be None.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Sep 2018 02:14:10 +0200] rev 4120
branching: merge with stable
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 17 Sep 2018 09:25:28 -0700] rev 4119
obsdiscovery: adopt to calling convention change
Upstream commits 71d83b315778 and abce899c985f changed the calling
convention of setdiscovery._takefullsample().
We inspect the signature of the function before calling it so
we can pass the proper arguments.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 12:21:32 +0200] rev 4118
branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 12:18:22 +0200] rev 4117
packaging: mark as development version
This avoid confusion when people install version from source.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 12:17:21 +0200] rev 4116
Added tag 8.2.1 for changeset c6362c4abd69
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 12:17:06 +0200] rev 4115
packagin: prepare release 8.2.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 10:51:44 +0200] rev 4114
test-compat: merge mercurial-4.4 into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 10:51:43 +0200] rev 4113
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 10:51:42 +0200] rev 4112
test-compat: merge mercurial-4.6 into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 10:51:40 +0200] rev 4111
test-compat: merge stable into mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 10:47:57 +0200] rev 4110
branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Sep 2018 10:39:01 +0200] rev 4109
caches: issue both debug and blackbox log message
This increase the odd someone looking for issue will find them.
Anton Shestakov <av6@dwimlabs.net> [Thu, 13 Sep 2018 00:04:17 +0800] rev 4108
cmdrewrite: rename variable and move it closer to where it is used
Renaming to satisfy pep8-naming linter plugin, which complained on this
variable because all-uppercase names are reserved for constants, and constants
need to be module-level. This variable is not a good choice for moving up to
the module level because it's used only in one place.
Additionally, let's have it closer to the place it's actually used to
potentially avoid an extra call to _() function (however cheap it may be).
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 19:46:05 +0200] rev 4107
changelog: mention the cache improvements
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 17:09:44 +0200] rev 4106
obshashrangecache: be more paranoid in the errors we catch
It seems like there error were already covered. Better safe than sorry.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 17:09:34 +0200] rev 4105
stablerangecache: be more paranoid in the errors we catch
It seems like there error were already covered. Better safe than sorry.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 19:22:03 +0200] rev 4104
stablesortcache: update the variable tracking on-disk state after write
Since we updated the on disk content, we should update that value.
In practice the object will likely be discarded after the write, but there is
nothing wrong in being more correct.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 19:22:39 +0200] rev 4103
stablesortcache: ignore permission and OS errors when writing
This cache is related to the obshashrange one and we update it lazily by
default.
This can be an issue when pulling locally from a read only repository that was
not configured for a more aggressive cache warming. The raised permission error
was uncaught and could crash the whole process. Errors during cache update
should not block Mercurial operations.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 19:09:48 +0200] rev 4102
firstmergecache: update the variable tracking on-disk state after write
Since we updated the on disk content, we should update that value.
In practice the object will likely be discarded after the write, but there is
nothing wrong in being more correct.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 17:08:18 +0200] rev 4101
firstmergecache: ignore permission and OS errors when writing
This cache is related to the obshashrange one and we update it lazily by
default.
This can be an issue when pulling locally from a read only repository that was
not configured for a more aggressive cache warming. The raised permission error
was uncaught and could crash the whole process. Errors during cache update
should not block Mercurial operations.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 18:56:04 +0200] rev 4100
depthcache: update the variable tracking on disk state after write
Since we updated the on disk content, we should update that value.
In practice the object will likely be discarded after the write, but there is
nothing wrong in being more correct.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 17:08:05 +0200] rev 4099
depthcache: ignore permission and OS errors when writing
This cache is related to the obshashrange one and we update it lazily by
default.
This can be an issue when pulling locally from a read only repository that was
not configured for a more aggressive cache warming. The raised permission error
was uncaught and could crash the whole process. Errors during Cache update
should not block Mercurial operations.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 18:20:50 +0200] rev 4098
obscache: update the variable tracking on disk state after write
Since we updated the on disk content, we should update that value.
In practice the object will likely be discarded after the write, but there is
nothing wrong in being more correct.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 18:21:07 +0200] rev 4097
obscache: ignore permission and OS errors when writing
In practice we always update this cache along side a new transaction, with lock
taken so permission issues should not happens. However, staying on the safe side
is better. Errors during Cache update should not block Mercurial operations.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 13 Sep 2018 02:49:58 +0200] rev 4096
obshashrange: force reset if many changes
If there is many new markers (or the markers affect many changesets) resetting
affected changeset can get slow. A common case for that is then changeset and
markers are added in different transaction, (eg: when using clone bundle).
When we detect such case, we reset the obshashrange cache, rewarming it should
be faster.
Here many is arbitrarily set to 10 000. The number might get adjusted.
Anton Shestakov <av6@dwimlabs.net> [Tue, 04 Sep 2018 19:30:19 +0800] rev 4095
topic: refactor revset.py slightly
Checking both kind == 'literal' and topic.startswith('literal:') seems to be
redundant, because of how stringutil.stringmatcher() works.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 12 Sep 2018 12:02:17 +0200] rev 4094
test: update output to match new `hg verify` reports
CORE-TEST-OUTPUT-UPDATE: f1186c292d03
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 12 Sep 2018 11:53:41 +0200] rev 4093
test: update output to match new "pull" phase report
CORE-TEST-OUTPUT-UPDATE: 89630d0b3e23
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 12 Sep 2018 10:37:14 +0200] rev 4092
test: adapt to change in revert messages order
CORE-TEST-OUTPUT-UPDATE: cb70501d8b71
Martin von Zweigbergk <martinvonz@google.com> [Fri, 07 Sep 2018 11:08:47 -0700] rev 4091
rewind: fix help text (mostly grammar, but also s/precursor/predecessor)
Martin von Zweigbergk <martinvonz@google.com> [Thu, 06 Sep 2018 16:14:24 -0700] rev 4090
evolve: fix use of "'%d' % ctx"
ctx has not been convertible to int since Mercurial commit
38f480502043 (context: remove basectx.__int__ (API), 2018-02-24). I
decided to use "%s" instead to match other similar messages in
evolvecmd.py. I also added a space to match the other messages.
Gerald Squelart <gsquelart@mozilla.com> [Thu, 06 Sep 2018 23:24:26 -0400] rev 4089
stablerange: only issue the message once
There is a flag to prevent issuing the long load message multiple time. However,
it was never set. This is now fixed
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 07 Sep 2018 00:06:00 -0400] rev 4088
changelog: fix version number
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 23:30:28 +0200] rev 4087
branching: merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 23:29:15 +0200] rev 4086
packaing: mark as development version
This help avoid confusion when installing in progress work.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 23:27:54 +0200] rev 4085
Added tag 8.2.0 for changeset 8d8f08245f97
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 23:21:39 +0200] rev 4084
branching: merge back with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 23:17:50 +0200] rev 4083
packaging: prepare new release
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:59:20 +0200] rev 4082
test-compat: merge mercurial-4.4 into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:59:19 +0200] rev 4081
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:59:18 +0200] rev 4080
test-compat: merge mercurial-4.6 into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:59:16 +0200] rev 4079
test-compat: merge stable into mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:47:18 +0200] rev 4078
topic: rework topic templatekw declaration to be 4.5 compatible again
Mercurial prior to 4.5 does not have a requires keyword, so we need a
compatibility layer.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:09:26 +0200] rev 4077
test-compat: merge mercurial-4.4 into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:06:12 +0200] rev 4076
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 22:05:12 +0200] rev 4075
test-compat: merge mercurial-4.6 into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 21:59:24 +0200] rev 4074
test-compat: merge stable into mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 21:08:33 +0200] rev 4073
branching: merge the two stable heads
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 17:21:16 +0200] rev 4072
test-output: backout test output update in 8fcee1e65e29
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 17:20:28 +0200] rev 4071
test-output: backout test output update in 503ae2689df8
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 20:54:17 +0200] rev 4070
topic: update the changelog with the 's#' alias change
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 20:53:12 +0200] rev 4069
topic: update other occurrence of 't0' is 's0' in the code
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 17:28:50 +0200] rev 4068
topic: mention t0 in topic documentation
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 17:07:36 +0200] rev 4067
stack: display 's#' instead of 't#' and 'b#'
If we want people to use it, we should display it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 16:41:32 +0200] rev 4066
stack: clarify s# error message in case of branch
A branch might have a lots of changeset, with all of them public.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 03 Sep 2018 16:29:02 +0200] rev 4065
alias: allow reference through 's#'
We keep the 't#' option, but we hope to be able to deprecate it at some point.
We move to 's#' because it refers to `stack` a more generic concept. than topic.
In addition, this allows to phase out 'b#' that collide with normal hex-node.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 01 Sep 2018 14:00:41 +0200] rev 4064
topic-revset: get the list of revset through the official localrepo API
This is simpler and faster. In addition we tighter the logic to be used in case
of empty topic. We do not need to fall back to revision search.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 01 Sep 2018 21:47:00 +0200] rev 4063
topic-revset: strictly read string
Making a clear distinction between string and symbol passed to topic is
important when it comes to empty topic. Filtering an empty topic name is
harmless. Searching a non existent revision is not.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 01 Sep 2018 21:45:15 +0200] rev 4062
test: search for empty topic as a string
The reduce the ambiguity in the test to help with the next change.
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Aug 2018 21:05:17 +0800] rev 4061
topic: handle ambiguous arguments to topic() revset
These arguments can be interpreted as either string or a revset. The decision
is made based on existence of topic with such a name. This matches the behavior
of branch() revset.
The code needs to know all topics that ever existed in the repo, because some
commands report "disappearance" of topics after certain operations, using this
revset (e.g. via stack.stack or repo.revs).
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Aug 2018 20:21:17 +0800] rev 4060
topic: handle revsets passed to topic() revset
This handles cases when the argument can't be interpreted as a string at all.
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Aug 2018 19:13:56 +0800] rev 4059
topic: handle string argument to topic() revset earlier
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Aug 2018 18:02:41 +0800] rev 4058
topic: prepare to handle non-string arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net> [Thu, 30 Aug 2018 17:42:11 +0800] rev 4057
topic: return result early if there are no arguments to topic() revset
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 00:31:01 +0200] rev 4056
obshashrange: enable by default
We have been testing this in various placed and specific stress test have been
performed. It is time to enable this by default
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Aug 2018 22:50:26 +0200] rev 4055
obshashrange: issue a warning if the cache takes a long time to load
The -current- implementation of the obshashrange cache can get slow. This will
be fixed eventually, in the mean time we inform people on large repository of
what have been going on.
Since we are about to enable obshashrange by default, we need to make sure
nobody will have an (unexplained) bad surprise.
Boris Feld <boris.feld@octobus.net> [Fri, 31 Aug 2018 14:26:37 +0200] rev 4054
pick: fix last references of grab in code
Grab was still referenced on comments and variable names.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:21:19 +0200] rev 4053
pick: replace `hg grab` invocation in test with `hg pick`
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:20:21 +0200] rev 4052
pick: replace "grabstate" with "pickstate"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:19:13 +0200] rev 4051
pick: use "pick" as operation name in obsolescence markers
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 12:45:56 +0200] rev 4050
pick: use "pick" instead of "grab" for various internal API
This should not much user visible impact but this is cleaner.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:13:11 +0200] rev 4049
pick: update command output to mention pick instead of grab
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:11:04 +0200] rev 4048
pick: rename the grab command to pick
Grab is ambiguous with "graft", "pick" match the associated verb in histedit.
The "grab" name is preserved as an alias for now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 31 Aug 2018 09:08:13 +0200] rev 4047
grab: prefix function with 'cmd' as for the other command in the extension
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Aug 2018 19:40:18 +0200] rev 4046
readme: document the purpose of the evolve extension
Another place for the explanation to live.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Aug 2018 19:50:39 +0200] rev 4045
prune: replace --biject with --pair
People have been complaining about `--biject` being to obscure for a while.
A recent discussion with Pulkit Goyal and Dan Villiom Podlaski Christiansen
produce some new concrete proposal that we liked. We eventually settle on using
`--pair`. The `--biject` flag will be kept as an alias for a while.
Anton Shestakov <av6@dwimlabs.net> [Tue, 28 Aug 2018 21:28:41 +0800] rev 4044
topic: check that repo.currenttopic is set before using it as an argument
repo.currenttopic can be an empty string, which means there's no current topic
set. This fact can be used to short-circuit some checks.
Also, this avoids passing an empty string as an argument to topic() revset.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 18:59:07 +0200] rev 4043
test: update output after merge message change
CORE-TEST-OUTPUT-UPDATE: f785073f792c
CORE-TEST-OUTPUT-UPDATE: a3fd84f4fb38
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 17:32:47 +0200] rev 4042
readme: document the tag we use on output change
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 17:23:25 +0200] rev 4041
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 10:46:37 +0200] rev 4040
packaging: fix debian version numbers
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Aug 2018 10:46:37 +0200] rev 4039
packaging: fix debian version numbers
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 21:53:42 +0200] rev 4038
branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 21:53:07 +0200] rev 4037
packaging: mark in progress work as development version
This avoid confusion when people install development version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 20:30:57 +0200] rev 4036
Added tag 8.1.2 for changeset f1cde4c97806
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 19:59:20 +0200] rev 4035
packagin: prepare version 8.1.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 20:00:46 +0200] rev 4034
obshashrange: force obshashrange invalidation by bumping schema
The fix in 8.1.1 deserve recomputing the obs hash range cache. So we bump its
schema version to declare the older cache invalid. The other caches, including
the expensive stablerange are unaffected.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:25:32 +0200] rev 4033
test-compat: merge mercurial-4.4 into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:24:52 +0200] rev 4032
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:24:50 +0200] rev 4031
test-compat: merge mercurial-4.6 into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:24:49 +0200] rev 4030
test-compat: merge stable into mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 11:18:58 +0200] rev 4029
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 10:24:18 +0200] rev 4028
changelog: mention the database robutness fix in the changelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:40:47 +0200] rev 4027
sqlcache: also catch malformed database error
This is apparently another way for sqlite to fail at concurrency.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:40:41 +0200] rev 4026
stablerange: rework saving logic to be clearer and safer
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:12:49 +0200] rev 4025
obshashrange: rework saving branching to be clearer and safer
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:40:32 +0200] rev 4024
sqlcache: protect read query too
Some error (like locked database) can even happens when doing readonly
operation. So we protect them too.
At that point, it seems that pysqlite3 is not the right tool for this job.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:33:09 +0200] rev 4023
sqlite: fast path when nothing to save
If we have no new data to save, we should try to do anything. Doing something
concurrently is hard enough. If we can avoid doing it at all that would be
great.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:27:04 +0200] rev 4022
sqlcache: initialize meta table last
It turns out that pysqlite commit after each table creation. This commit is an
hopeless attemps to make the caches more concurrent friendly.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 10:20:15 +0200] rev 4021
obshashrange: always check in base cachekey against the recorded one
Ignoring the check in the none case is just disaster waiting to happens.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 10:16:12 +0200] rev 4020
stablerangecache: fix output in the drifted case
The node were not hex, and the field had different order in the pair. This is
now fixed.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:35:51 +0200] rev 4019
sqlcache: also ignore integrity error
integrity error can happens when multiple client tries to warm similar cache.
Given we leave multiple hole in the cache that can be warmed by anyone, this is
harder to avoid that we would like. We simply catch the error in this case.
Someone will warm the missing entry later.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:28:19 +0200] rev 4018
sqlcache: cache OperationError when saving
This is a cache, so we should not crash when trying to operate on it.
OperationError can happens when the database is seen as readonly or locked.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:18:06 +0200] rev 4017
sqlcache: passe better connection option
These new options should help with handling transaction consistency and database
access on high load.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 26 Aug 2018 20:55:26 +0200] rev 4016
contrib: introduce a small script to stress tests obsolescence exchange
Tester have been reporting some error that seems to originate from concurrent
access/update to the cache. This script will be useful to reproduce these
situations locally.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 28 Aug 2018 10:24:18 +0200] rev 4015
changelog: mention the database robutness fix in the changelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:40:47 +0200] rev 4014
sqlcache: also catch malformed database error
This is apparently another way for sqlite to fail at concurrency.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:40:41 +0200] rev 4013
stablerange: rework saving logic to be clearer and safer
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 12:12:49 +0200] rev 4012
obshashrange: rework saving branching to be clearer and safer
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:40:32 +0200] rev 4011
sqlcache: protect read query too
Some error (like locked database) can even happens when doing readonly
operation. So we protect them too.
At that point, it seems that pysqlite3 is not the right tool for this job.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:33:09 +0200] rev 4010
sqlite: fast path when nothing to save
If we have no new data to save, we should try to do anything. Doing something
concurrently is hard enough. If we can avoid doing it at all that would be
great.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 11:27:04 +0200] rev 4009
sqlcache: initialize meta table last
It turns out that pysqlite commit after each table creation. This commit is an
hopeless attemps to make the caches more concurrent friendly.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 10:20:15 +0200] rev 4008
obshashrange: always check in base cachekey against the recorded one
Ignoring the check in the none case is just disaster waiting to happens.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 10:16:12 +0200] rev 4007
stablerangecache: fix output in the drifted case
The node were not hex, and the field had different order in the pair. This is
now fixed.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:35:51 +0200] rev 4006
sqlcache: also ignore integrity error
integrity error can happens when multiple client tries to warm similar cache.
Given we leave multiple hole in the cache that can be warmed by anyone, this is
harder to avoid that we would like. We simply catch the error in this case.
Someone will warm the missing entry later.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:28:19 +0200] rev 4005
sqlcache: cache OperationError when saving
This is a cache, so we should not crash when trying to operate on it.
OperationError can happens when the database is seen as readonly or locked.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 Aug 2018 00:18:06 +0200] rev 4004
sqlcache: passe better connection option
These new options should help with handling transaction consistency and database
access on high load.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 26 Aug 2018 20:55:26 +0200] rev 4003
contrib: introduce a small script to stress tests obsolescence exchange
Tester have been reporting some error that seems to originate from concurrent
access/update to the cache. This script will be useful to reproduce these
situations locally.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 14:09:33 +0200] rev 4002
test-compat: merge mercurial-4.4 into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 13:59:27 +0200] rev 4001
test: adjust glob in previous changeset
I forgot to glob the time.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 15:32:02 +0200] rev 4000
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 15:30:54 +0200] rev 3999
packaging: mark as development version
This avoid confusion.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 15:29:32 +0200] rev 3998
Added tag 8.1.1 for changeset e7abf863e113
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 15:29:13 +0200] rev 3997
packaging: prepare release 8.1.1
Topic is untouched so we keep the previous version number.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 14:23:47 +0200] rev 3996
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 13:26:35 +0200] rev 3995
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 13:25:29 +0200] rev 3994
test-compat: merge mercurial-4.6 into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 13:25:28 +0200] rev 3993
test-compat: merge stable into mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 13:18:52 +0200] rev 3992
changelog: add a line about improved prune documentation
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 13:17:27 +0200] rev 3991
changelog: reorder content
Dan Villiom Podlaski Christiansen <dan@magenta.dk> [Tue, 21 Aug 2018 12:13:28 +0200] rev 3990
prune: more human-friendly documentation
The previous help string generally had a highly technical language. I've tried
my best to address that.
Dan Villiom Podlaski Christiansen <dan@magenta.dk> [Tue, 21 Aug 2018 12:14:04 +0200] rev 3989
prune: improve help first line
The previous help string for prune didn't mention successors in the
first line.
Note: Pierre-Yves David changed the original "hidden" to "obsolete" as it is better concept to put forward. (a bit more specific and with more consequence than just "hidden").
We need a good `hg help obsolete/obsolescence` result. We'll try to get this in the next version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 12:21:05 +0200] rev 3988
prune: try to clarify the "multi" revisions case
I hope this highlight the use case for all three options.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 12:21:59 +0200] rev 3987
prune: move help about biject after the one about split and fold
The --biject flag seems a less common use case.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 12:18:11 +0200] rev 3986
prune: no longer consider dropping --biject
Field testing show it save people one wrong call often enough that it is worth
keeping.
Dan Villiom Podlaski Christiansen <dan@magenta.dk> [Tue, 21 Aug 2018 12:13:01 +0200] rev 3985
prune: more human-friendly documentation for --biject
Dan Villiom Podlaski Christiansen <dan@magenta.dk> [Tue, 21 Aug 2018 11:56:49 +0200] rev 3984
prune: use ``-s/--succ`` in documentation
Extracted by Pierre-Yves David
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 04:08:38 +0200] rev 3983
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Aug 2018 04:05:12 +0200] rev 3982
compat: import the module dagutil module in evolve
Discovery code is core have been rewritten to no longer depends on dagutil and
the module have been removed.
This break evolve's obsmarker discovery (older version of the discovery use the
same concept).. A quick work around is to import the dagutil module in evolve
and use that for now.
Pulkit Goyal <pulkit@yandex-team.ru> [Mon, 20 Aug 2018 12:21:39 +0300] rev 3981
evolve: delete evolvestate after aborting interrupted `next --evolve`
We didn't use to delete the evolvestate after aborting an interrupted `next
--evolve`. This patch makes sure we do that. The test changes demonstrate the
fix and we add a CHANGELOG entry about the fix.
Pulkit Goyal <pulkit@yandex-team.ru> [Mon, 20 Aug 2018 12:19:05 +0300] rev 3980
tests: check that we delete evolvestate correctly after abort/stop
This patch adds test to check whether we delete the evolvestate correctly after
aborting or stopping an interrupted evolve which is caused because of `next
--evolve`.