Mercurial > hg
annotate relnotes/5.3 @ 48598:a6f16ec07ed7
stream-clone: add a explicit test for format change during stream clone
They are different kind of requirements, the one which impact the data storage
and are relevant to the files being streamed and the one which does not. For
example some requirements are only relevant to the working copy, like sparse, or
dirstate-v2.
Since they are irrelevant to the content being streamed, they do not prevent the
receiving side to use streaming clone and mercurial skip adverting them over
the wire and, ideally, within the bundle.
In addition, this let the client decide to use whichever format it desire for
the part that does not affect the store itself. So the configuration related to
these format are used as normal when doing a streaming clone.
In practice, the feature was not really tested and is badly broken with bundle-2,
since the requirements are not filtered out from the stream bundle.
So we start with adding simple tests as a good base before the fix and adjust
the feature.
Differential Revision: https://phab.mercurial-scm.org/D12029
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 17 Jan 2022 18:51:47 +0100 |
parents | 1f8f215219ff |
children |
rev | line source |
---|---|
42271
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
1 == New Features == |
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
2 |
43951
1ccf340acf14
windows: add a global equivalent to /etc/mercurial for *.rc processing
Matt Harbison <matt_harbison@yahoo.com>
parents:
43889
diff
changeset
|
3 * Windows will process hgrc files in %PROGRAMDATA%\Mercurial\hgrc.d. |
1ccf340acf14
windows: add a global equivalent to /etc/mercurial for *.rc processing
Matt Harbison <matt_harbison@yahoo.com>
parents:
43889
diff
changeset
|
4 |
42309
604c086ddde6
log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents:
42271
diff
changeset
|
5 |
604c086ddde6
log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents:
42271
diff
changeset
|
6 == New Experimental Features == |
604c086ddde6
log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents:
42271
diff
changeset
|
7 |
604c086ddde6
log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents:
42271
diff
changeset
|
8 |
42271
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
9 == Bug Fixes == |
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
10 |
43695
fa246ada356b
templates: make {indent("", " ")} be empty
Martin von Zweigbergk <martinvonz@google.com>
parents:
43588
diff
changeset
|
11 * The `indent()` template function was documented to not indent empty lines, |
fa246ada356b
templates: make {indent("", " ")} be empty
Martin von Zweigbergk <martinvonz@google.com>
parents:
43588
diff
changeset
|
12 but it still indented the first line even if it was empty. It no longer does |
fa246ada356b
templates: make {indent("", " ")} be empty
Martin von Zweigbergk <martinvonz@google.com>
parents:
43588
diff
changeset
|
13 that. |
42271
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
14 |
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
15 == Backwards Compatibility Changes == |
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
16 |
42944
c2676b5a9f59
narrow: don't hexify paths and double-hexify known nodes on wire (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
42935
diff
changeset
|
17 |
42271
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
18 == Internal API Changes == |
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
19 |
43777
c8e9a3636abe
relnotes: add note about changes to match.{explicit,reverse}dir
Martin von Zweigbergk <martinvonz@google.com>
parents:
43695
diff
changeset
|
20 * Matcher instances no longer have a `explicitdir` property. Consider |
c8e9a3636abe
relnotes: add note about changes to match.{explicit,reverse}dir
Martin von Zweigbergk <martinvonz@google.com>
parents:
43695
diff
changeset
|
21 rewriting your code to use `repo.wvfs.isdir()` and/or |
c8e9a3636abe
relnotes: add note about changes to match.{explicit,reverse}dir
Martin von Zweigbergk <martinvonz@google.com>
parents:
43695
diff
changeset
|
22 `ctx.hasdir()` instead. Also, the `traversedir` property is now |
c8e9a3636abe
relnotes: add note about changes to match.{explicit,reverse}dir
Martin von Zweigbergk <martinvonz@google.com>
parents:
43695
diff
changeset
|
23 also called when only `explicitdir` used to be called. That may |
c8e9a3636abe
relnotes: add note about changes to match.{explicit,reverse}dir
Martin von Zweigbergk <martinvonz@google.com>
parents:
43695
diff
changeset
|
24 mean that you can simply remove the use of `explicitdir` if you |
c8e9a3636abe
relnotes: add note about changes to match.{explicit,reverse}dir
Martin von Zweigbergk <martinvonz@google.com>
parents:
43695
diff
changeset
|
25 were already using `traversedir`. |
43889
458504a8cca1
relnotes: mention the merging of index and nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43777
diff
changeset
|
26 |
458504a8cca1
relnotes: mention the merging of index and nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43777
diff
changeset
|
27 * The `revlog.nodemap` object have been merged into the `revlog.index` object. |
458504a8cca1
relnotes: mention the merging of index and nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43777
diff
changeset
|
28 * `n in revlog.nodemap` becomes `revlog.index.has_node(n)`, |
458504a8cca1
relnotes: mention the merging of index and nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43777
diff
changeset
|
29 * `revlog.nodemap[n]` becomes `revlog.index.rev(n)`, |
458504a8cca1
relnotes: mention the merging of index and nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
43777
diff
changeset
|
30 * `revlog.nodemap.get(n)` becomes `revlog.index.get_rev(n)`. |
44090
2f0a44c69e07
copies: replace duplicatecopies() by function that takes contexts
Martin von Zweigbergk <martinvonz@google.com>
parents:
43951
diff
changeset
|
31 |
2f0a44c69e07
copies: replace duplicatecopies() by function that takes contexts
Martin von Zweigbergk <martinvonz@google.com>
parents:
43951
diff
changeset
|
32 * `copies.duplicatecopies()` was renamed to |
2f0a44c69e07
copies: replace duplicatecopies() by function that takes contexts
Martin von Zweigbergk <martinvonz@google.com>
parents:
43951
diff
changeset
|
33 `copies.graftcopies()`. Its arguments changed from revision numbers |
44092
833210fbd900
graftcopies: remove `skip` and `repo` arguments
Martin von Zweigbergk <martinvonz@google.com>
parents:
44090
diff
changeset
|
34 to context objects. It also lost its `repo` and `skip` arguments |
833210fbd900
graftcopies: remove `skip` and `repo` arguments
Martin von Zweigbergk <martinvonz@google.com>
parents:
44090
diff
changeset
|
35 (they should no longer be needed). |