20
52
as this is what bzr branch lp:bzr-svn will give you. (James Westby,
55
* UniqueIntegerBugTracker now appends bug-ids instead of joining
56
them to the base URL. Plugins that register bug trackers may
57
need a trailing / added to the base URL if one is not already there.
58
(James Wesby, Andrew Cowie)
62
* Added start_commit hook for mutable trees. (Jelmer Vernooij, #186422)
64
* ``status`` now accepts ``--no-pending`` to show the status without
65
listing pending merges, which speeds up the command a lot on large
66
histories. (James Westby, #202830)
68
* New ``post_change_branch_tip`` hook that is called after the
69
branch tip is moved but while the branch is still write-locked.
70
See the User Reference for signature details.
71
(Ian Clatworthy, James Henstridge)
73
* Reconfigure can convert a branch to be standalone or to use a shared
74
repository. (Aaron Bentley)
78
* The smart protocol now has support for setting branches' revision info
79
directly. This should make operations like push slightly faster, and is a
80
step towards server-side hooks. The new request method name is
81
``Branch.set_last_revision_info``. (Andrew Bennetts)
83
* ``bzr commit --fixes`` now recognises "gnome" as a tag by default.
84
(James Westby, Andrew Cowie)
86
* ``bzr switch`` will attempt to find branches to switch to relative to the
87
current branch. E.g. ``bzr switch branchname`` will look for
88
``current_branch/../branchname``. (Robert Collins, Jelmer Vernooij,
27
91
* Diff is now more specific about execute-bit changes it describes
37
101
* Merge is faster. We no longer check a file's existence unnecessarily
38
102
when merging the execute bit. (Aaron Bentley)
104
* ``bzr status`` on an explicit list of files no longer shows pending
105
merges, making it much faster on large trees. (John Arbash Meinel)
107
* The launchpad directory service now warns the user if they have not set
108
their launchpad login and are trying to resolve a URL using it, just
109
in case they want to do a write operation with it. (James Westby)
111
* The smart protocol client is slightly faster, because it now only queries
112
the server for the protocol version once per connection. Also, the HTTP
113
transport will now automatically probe for and use a smart server if
114
one is present. You can use the new ``nosmart+`` transport decorator
115
to get the old behaviour. (Andrew Bennetts)
117
* Various operations with revision specs and commands that calculate
118
revnos and revision ids are faster. (John A. Meinel, Aaron Bentley)
122
* Add ``root_client_path`` parameter to SmartWSGIApp and
123
SmartServerRequest. This makes it possible to publish filesystem
124
locations that don't exactly match URL paths. SmartServerRequest
125
subclasses should use the new ``translate_client_path`` and
126
``transport_from_client_path`` methods when dealing with paths received
127
from a client to take this into account. (Andrew Bennetts, #124089)
42
129
* ``bzr mv a b`` can be now used also to rename previously renamed
43
130
directories, not only files. (Lukáš Lalinský, #107967)
49
136
* Don't ask for a password if there is no real terminal.
50
137
(Alexander Belchenko, #69851)
139
* Fix a bug causing a ValueError crash in ``parse_line_delta_iter`` when
140
fetching revisions from a knit to pack repository or vice versa using
141
bzr:// (including over http or ssh).
142
(#208418, Andrew Bennetts, Martin Pool, Robert Collins)
144
* Fixed ``_get_line`` in ``bzrlib.smart.medium``, which was buggy. Also
145
fixed ``_get_bytes`` in the same module to use the push back buffer.
146
These bugs had no known impact in normal use, but were problematic for
147
developers working on the code, and were likely to cause real bugs sooner
148
or later. (Andrew Bennetts)
52
150
* Implement handling of basename parameter for DefaultMail. (James Westby)
152
* Incompatibility with Paramiko versions newer than 1.7.2 was fixed.
153
(Andrew Bennetts, #213425)
54
155
* Launchpad locations (lp: URLs) can be pulled. (Aaron Bentley, #181945)
157
* Merges that add files to deleted root directories complete. They
158
do create conflicts. (Aaron Bentley, #210092)
160
* vsftp's return ``550 RNFR command failed.`` supported.
161
(Marcus Trautwig, #129786)
165
* Improved documentation on send/merge relationship. (Peter Schuller)
167
* Minor fixes to the User Guide. (Matthew Fuller)
169
* Reduced the evangelism in the User Guide. (Ian Clatworthy)
171
* Added Integrating with Bazaar document for developers (Martin Albisetti)
60
175
* Attempting to pull data from a ghost aware repository (e.g. knits) into a
61
176
non-ghost aware repository such as weaves will now fail if there are
62
177
ghosts. (Robert Collins)
179
* ``KnitVersionedFile`` no longer accepts an ``access_mode`` parameter, and
180
now requires the ``index`` and ``access_method`` parameters to be
181
supplied. A compatible shim has been kept in the new function
182
``knit.make_file_knit``. (Robert Collins)
64
184
* Log formatters must now provide log_revision instead of show and
65
185
show_merge_revno methods. The latter had been deprecated since the 0.17
66
186
release. (James Westby)
188
* ``LoopbackSFTP`` is now called ``SocketAsChannelAdapter``.
191
* ``osutils.backup_file`` is removed. (Alexander Belchenko)
193
* ``Repository.get_revision_graph`` is deprecated, with no replacement
194
method. The method was size(history) and not desirable. (Robert Collins)
196
* ``revision.revision_graph`` is deprecated, with no replacement function.
197
The function was size(history) and not desirable. (Robert Collins)
199
* ``Transport.get_shared_medium`` is deprecated. Use
200
``Transport.get_smart_medium`` instead. (Andrew Bennetts)
202
* ``VersionedFile`` factories now accept a get_scope parameter rather
203
than using a call to ``transaction_finished``, allowing the removal of
204
the fixed list of versioned files per repository. (Robert Collins)
206
* ``VersionedFile.annotate_iter`` is deprecated. While in principle this
207
allowed lower memory use, all users of annotations wanted full file
208
annotations, and there is no storage format suitable for incremental
209
line-by-line annotation. (Robert Collins)
211
* ``VersionedFile.clone_text`` is deprecated. This performance optimisation
212
is no longer used - reading the content of a file that is undergoing a
213
file level merge to identical state on two branches is rare enough, and
214
not expensive enough to special case. (Robert Collins)
216
* ``VersionedFile.clear_cache`` and ``enable_cache`` are deprecated.
217
These methods added significant complexity to the ``VersionedFile``
218
implementation, but were only used for optimising fetches from knits -
219
which can be done from outside the knit layer, or via a caching
220
decorator. As knits are not the default format, the complexity is no
221
longer worth paying. (Robert Collins)
223
* ``VersionedFile.create_empty`` is removed. This method presupposed a
224
sensible mapping to a transport for individual files, but pack backed
225
versioned files have no such mapping. (Robert Collins)
227
* ``VersionedFile.get_graph`` is deprecated, with no replacement method.
228
The method was size(history) and not desirable. (Robert Collins)
230
* ``VersionedFile.get_graph_with_ghosts`` is deprecated, with no
231
replacement method. The method was size(history) and not desirable.
68
234
* ``VersionedFile.get_parents`` is deprecated, please use
69
235
``VersionedFile.get_parent_map``. (Robert Collins)
237
* ``VersionedFile.get_sha1`` is deprecated, please use
238
``VersionedFile.get_sha1s``. (Robert Collins)
240
* ``VersionedFile.has_ghost`` is now deprecated, as it is both expensive
241
and unused outside of a single test. (Robert Collins)
243
* ``VersionedFile.iter_parents`` is now deprecated in favour of
244
``get_parent_map`` which can be used to instantiate a Graph on a
245
VersionedFile. (Robert Collins)
247
* ``VersionedFileStore`` no longer uses the transaction parameter given
248
to most methods; amongst other things this means that the
249
get_weave_or_empty method no longer guarantees errors on a missing weave
250
in a readonly transaction, and no longer caches versioned file instances
251
which reduces memory pressure (but requires more careful management by
252
callers to preserve performance). (Robert Collins)
73
256
* New -Dselftest_debug flag disables clearing of the debug flags during
75
258
failing test. Be aware that using this feature is likely to cause
76
259
spurious test failures if used with the full suite. (Andrew Bennetts)
261
* selftest --load-list now uses a new more agressive test loader that will
262
avoid loading unneeded modules and building their tests. Plugins can use
263
this new loader by defining a load_tests function instead of a test_suite
264
function. (a forthcoming patch will provide many examples on how to
268
* selftest --load-list now does some sanity checks regarding duplicate test
269
IDs and tests present in the list but not found in the actual test suite.
272
* Slightly more concise format for the selftest progress bar, so there's
273
more space to show the test name. (Martin Pool) ::
275
[2500/10884, 1fail, 3miss in 1m29s] test_revisionnamespaces.TestRev
277
* The test suite takes much less memory to run, and is a bit faster. This
278
is done by clearing most attributes of TestCases after running them, if
279
they succeeded. (Andrew Bennetts)
283
* Added ``_build_client_protocol`` to ``_SmartClient``. (Andrew Bennetts)
285
* Added basic infrastructure for automatic plugin suggestion.
288
* If a ``LockableFiles`` object is not explicitly unlocked (for example
289
because of a missing ``try/finally`` block, it will give a warning but
290
not automatically unlock itself. (Previously they did.) This
291
sometimes caused knock-on errors if for example the network connection
292
had already failed, and should not be relied upon by code.
293
(Martin Pool, #109520)
295
* The ``read_response_tuple`` method of ``SmartClientRequestProtocol*``
296
classes will now raise ``UnknownSmartMethod`` when appropriate, so that
297
callers don't need to try distinguish unknown request errors from other
298
errors. (Andrew Bennetts)
300
* ``set_make_working_trees`` is now implemented provided on all repository
301
implementations (Aaron Bentley)
80
303
* ``VersionedFile`` now has a new method ``get_parent_map`` which, like
81
304
``Graph.get_parent_map`` returns a dict of key:parents. (Robert Collins)
87
310
Bazaar has become part of the GNU project <http://www.gnu.org>