13
Bazaar 1.10 has several performance improvements for copying revisions
14
(especially for small updates to large projects). There has also been a
15
significant amount of effort in polishing stacked branches. The commands
16
``shelve`` and ``unshelve`` have become core commands, with an improved
19
The only changes versus bzr-1.10rc1 are bugfixes for stacked branches.
24
* Don't set a pack write cache size from RepoFetcher, because the
25
cache is not coherent with reads and causes ShortReadvErrors.
26
This reverses the change that fixed #294479.
27
(Martin Pool, #303856)
29
* Properly handle when a revision can be inserted as a delta versus
30
when it needs to be expanded to a fulltext for stacked branches.
31
There was a bug involving merge revisions. As a method to help
32
prevent future difficulties, also make stacked fetches sort
33
topologically. (John Arbash Meinel, #304841)
41
This release of Bazaar focuses on performance improvements when pushing
42
and pulling revisions, both locally and to remote networks. The popular
43
``shelve`` and ``unshelve`` commands, used to interactively revert and
44
restore work in progress, have been merged from bzrtools into the bzr
45
core. There are also bug fixes for portability, and for stacked branches.
50
* New ``commit_message_template`` hook that is called by the commit
51
code to generate a template commit message. (Jelmer Vernooij)
53
* New `shelve` and `unshelve` commands allow undoing and redoing changes.
59
* ``(Remote)Branch.copy_content_into`` no longer generates the full revision
60
history just to set the last revision info.
61
(Andrew Bennetts, John Arbash Meinel)
63
* Fetches between formats with different serializers (such as
64
pack-0.92-subtree and 1.9-rich-root) are faster now. This is due to
65
operating on batches of 100 revisions at time rather than
66
one-by-one. (Andrew Bennetts, John Arbash Meinel)
68
* Search index files corresponding to pack files we've already used
69
before searching others, because they are more likely to have the
70
keys we're looking for. This reduces the number of iix and tix
71
files accessed when pushing 1 new revision, for instance.
74
* Signatures to transfer are calculated more efficiently in
75
``item_keys_introduced_by``. (Andrew Bennetts, John Arbash Meinel)
77
* The generic fetch code can once again copy revisions and signatures
78
without extracting them completely to fulltexts and then serializing
79
them back down into byte strings. This is a significant performance
80
improvement when fetching from a stacked branch.
81
(John Arbash Meinel, #300289)
83
* When making a large readv() request over ``bzr+ssh``, break up the
84
request into more manageable chunks. Because the RPC is not yet able
85
to stream, this helps keep us from buffering too much information at
86
once. (John Arbash Meinel)
91
* Better message when the user needs to set their Launchpad ID.
92
(Martin Pool, #289148)
94
* ``bzr commit --local`` doesn't access the master branch anymore.
95
This fixes a regression introduced in 1.9. (Marius Kruger, #299313)
97
* Don't call the system ``chdir()`` with an empty path. Sun OS seems
98
to give an error in that case. Also, don't count on ``getcwd()``
99
being able to allocate a new buffer, which is a gnu extension.
100
(John Arbash Meinel, Martin Pool, Harry Hirsch, #297831)
102
* Don't crash when requesting log --forward <file> for a revision range
103
starting with a dotted revno.
104
(Vincent Ladeuil, #300055)
106
* Don't create text deltas spanning stacked repositories; this could
107
cause "Revision X not present in Y" when later accessing them.
108
(Martin Pool, #288751)
110
* Pack repositories are now able to reload the pack listing and retry
111
the current operation if another action causes the data to be
112
repacked. (John Arbash Meinel, #153786)
114
* PermissionDenied errors from smart servers no longer cause
115
"PermissionDenied: "None"" on the client.
116
(Andrew Bennetts, #299254)
118
* Pushing to a stacked pack repository now batches writes, the same
119
way writes are batched to ordinary pack repository. This makes
120
pushing to a stacked branch over the network much faster.
121
(Andrew Bennetts, #294479)
123
* TooManyConcurrentRequests no longer occur when a fetch fails and
124
tries to abort a write group. This allows the root cause (e.g. a
125
network interruption) to be reported. (Andrew Bennetts, #297014)
127
* RemoteRepository.get_parent_map now uses fallback repositories.
128
(Aaron Bentley, #297991?, #293679?)
133
* ``CommitBuilder`` now validates the strings it will be committing,
134
to ensure that they do not have characters that will not be properly
135
round-tripped. For now, it just checks for characters that are
136
invalid in the XML form. (John Arbash Meinel, #295161)
138
* Constructor parameters for NewPack (internal to pack repositories)
139
have changed incompatibly.
141
* ``Repository.abort_write_group`` now accepts an optional
142
``suppress_errors`` flag. Repository implementations that override
143
``abort_write_group`` will need to be updated to accept the new
144
argument. Subclasses that only override ``_abort_write_group``
145
don't need to change.
147
* Transport implementations must provide copy_tree_to_transport. A default
148
implementation is provided for Transport subclasses.
153
* ``bzr selftest`` now fails if no doctests are found in a module
154
that's expected to have them. (Martin Pool)
156
* Doctests now only report the first failure. (Martin Pool)
160
vim: tw=74 ft=rst ff=unix