Merge lp:~mbp/bzr/doc-old into lp:~bzr/bzr/trunk-old

Proposed by Martin Pool
Status: Merged
Merged at revision: not available
Proposed branch: lp:~mbp/bzr/doc-old
Merge into: lp:~bzr/bzr/trunk-old
Diff against target: 16815 lines
To merge this branch: bzr merge lp:~mbp/bzr/doc-old
Reviewer Review Type Date Requested Status
Bazaar Developers Pending
Review via email: mp+4088@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Martin Pool (mbp) wrote :

This fixes a typo in the NEWS file and adds a note to maintain the bzr.current branch when releasing.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'NEWS'
--- NEWS 2009-03-18 15:38:56 +0000
+++ NEWS 2009-03-19 05:35:11 +0000
@@ -1,482 +1,507 @@
1--------------------1====================
2Bazaar Release Notes2Bazaar Release Notes
3--------------------3====================
44
5.. contents::5
66.. contents:: List of Releases
77 :depth: 1
8IN DEVELOPMENT8
9--------------9In Development
1010##############
11 COMPATIBILITY BREAKS:11
1212Compatibility Breaks
13 * bzr no longer autodetects nested trees as 'tree-references'. They13********************
14 must now be explicitly added tree references. At the commandline, use14
15 join --reference instead of add. (Aaron Bentley)15* bzr no longer autodetects nested trees as 'tree-references'. They
1616 must now be explicitly added tree references. At the commandline, use
17 NEW FEATURES:17 join --reference instead of add. (Aaron Bentley)
1818
19 * shelve can now apply changes without storing anything on the shelf, via19New Features
20 the new --destroy option. (Aaron Bentley)20************
2121
22 * ``bzr send`` now accepts --body to specify an initial message body.22* ``bzr shelve`` can now apply changes without storing anything on the
23 (Aaron bentley)23 shelf, via the new --destroy option. (Aaron Bentley)
2424
25 * ``bzr xxx --usage`` where xxx is a command now shows a usage25* ``bzr send`` now accepts --body to specify an initial message body.
26 message and the options without the descriptive help sections26 (Aaron bentley)
27 (like Description and Examples). A message is also given27
28 explaining how to see the complete help, i.e. ``bzr help xxx``.28* ``bzr xxx --usage`` where xxx is a command now shows a usage
29 (Ian Clatworthy)29 message and the options without the descriptive help sections
3030 (like Description and Examples). A message is also given
31 IMPROVEMENTS:31 explaining how to see the complete help, i.e. ``bzr help xxx``.
3232 (Ian Clatworthy)
33 * A new format name alias ``default-rich-root`` has been added and33
34 points at the closest relative of the default format that supports 34Improvements
35 rich roots. (Jelmer Vernooij, #338061)35************
3636
37 * Branching from a stacked branch using ``bzr*://`` will now stream37* A new format name alias ``default-rich-root`` has been added and
38 the data when the target repository does not need topological38 points at the closest relative of the default format that supports
39 ordering, reducing round trips and network overhead. This uses the39 rich roots. (Jelmer Vernooij, #338061)
40 existing smart server methods added in 1.13, so will work on any40
41 1.13 or newer server. (Robert Collins, Andrew Bennetts)41* Branching from a stacked branch using ``bzr*://`` will now stream
4242 the data when the target repository does not need topological
43 * ``bzr ignore`` gives a more informative message when existing43 ordering, reducing round trips and network overhead. This uses the
44 version controlled files match the ignore pattern. (Neil44 existing smart server methods added in 1.13, so will work on any
45 Martinsen-Burrell, #248895)45 1.13 or newer server. (Robert Collins, Andrew Bennetts)
4646
47 * ``bzr send`` is faster on repositories with deep histories.47* ``bzr ignore`` gives a more informative message when existing
48 (Ian Clatworthy)48 version controlled files match the ignore pattern. (Neil
4949 Martinsen-Burrell, #248895)
50 * Progress bars now show the rate of network activity for50
51 ``bzr+ssh://`` and ``bzr://`` connections. (Andrew Bennetts)51* ``bzr send`` is faster on repositories with deep histories.
5252 (Ian Clatworthy)
53 * Streaming push can be done to older repository formats. This is53
54 implemented using a new ``Repository.insert_stream_locked`` RPC.54* Progress bars now show the rate of network activity for
55 (Andrew Bennetts, Robert Collins)55 ``bzr+ssh://`` and ``bzr://`` connections. (Andrew Bennetts)
5656
57 * Tildes are no longer escaped. No more %7Euser/project/branch!57* Streaming push can be done to older repository formats. This is
58 (Jonathan Lange)58 implemented using a new ``Repository.insert_stream_locked`` RPC.
5959 (Andrew Bennetts, Robert Collins)
60 BUG FIXES:60
6161* Tildes are no longer escaped. No more %7Euser/project/branch!
62 * Authentication plugins now receive all the parameters from the request62 (Jonathan Lange)
63 itself (aka host, port, realm, path, etc). Previously, only the 63
64 authentication section name, username and encoded password were 64Bug Fixes
65 provided. (Jean-Francois Roy)65*********
6666
67 * Fix "is not a stackable format" error when pushing a67* Authentication plugins now receive all the parameters from the request
68 stackable-format branch with an unstackable-format repository to a68 itself (aka host, port, realm, path, etc). Previously, only the
69 destination with a default stacking policy. (Andrew Bennetts)69 authentication section name, username and encoded password were
7070 provided. (Jean-Francois Roy)
71 * Fixed incorrect "Source format does not support stacking" warning71
72 when pushing to a smart server. (Andrew Bennetts, #334114)72* Fix "is not a stackable format" error when pushing a
7373 stackable-format branch with an unstackable-format repository to a
74 * It is no longer possible to fetch between repositories while the74 destination with a default stacking policy. (Andrew Bennetts)
75 target repository is in a write group. This prevents race conditions75
76 that prevent the use of RPC's to perform fetch, and thus allows76* Fixed incorrect "Source format does not support stacking" warning
77 optimising more operations. (Robert Collins, Andrew Bennetts)77 when pushing to a smart server. (Andrew Bennetts, #334114)
7878
79 * ``merge --force`` works again. (Robert Collins, #342105)79* It is no longer possible to fetch between repositories while the
8080 target repository is in a write group. This prevents race conditions
81 * The GNU Changelog formatter is slightly improved in the case where81 that prevent the use of RPC's to perform fetch, and thus allows
82 the delta is empty, and now correctly claims not to support tags.82 optimising more operations. (Robert Collins, Andrew Bennetts)
83 (Andrea Bolognani)83
8484* ``merge --force`` works again. (Robert Collins, #342105)
85 * Shelve can now shelve changes to a symlink target.85
86 (James Westby, #341558)86* The GNU Changelog formatter is slightly improved in the case where
8787 the delta is empty, and now correctly claims not to support tags.
88 DOCUMENTATION:88 (Andrea Bolognani)
8989
90 * New topic `bzr help debug-flags`. (Martin Pool)90* Shelve can now shelve changes to a symlink target.
9191 (James Westby, #341558)
92 * The generated manpage now explicitly lists aliases as commands.92
93 (James Westby, #336998)93Documentation
9494*************
95 API CHANGES:95
9696* New topic `bzr help debug-flags`. (Martin Pool)
97 * New sort order for ``get_record_stream`` ``groupcompress`` which97
98 sorts optimally for use with groupcompress compressors. (John Arbash98* The generated manpage now explicitly lists aliases as commands.
99 Meinel, Robert Collins)99 (James Westby, #336998)
100100
101 * The ``get_credentials`` and ``set_credentials`` methods of 101API Changes
102 ``AuthenticationConfig`` now accept an optional realm argument.102***********
103 (Jean-Francois Roy)103
104104* New sort order for ``get_record_stream`` ``groupcompress`` which
105 * The ``pb`` argument to ``fetch()`` is deprecated.105 sorts optimally for use with groupcompress compressors. (John Arbash
106 (Martin Pool)106 Meinel, Robert Collins)
107107
108 TESTING:108* The ``get_credentials`` and ``set_credentials`` methods of
109109 ``AuthenticationConfig`` now accept an optional realm argument.
110 * ``bzrlib.tests.TestCase`` now fails the test if its own ``setUp``110 (Jean-Francois Roy)
111 and ``tearDown`` weren't called. This catches faulty tests that111
112 forget to upcall when overriding ``setUp`` and ``tearDown``. Those112* The ``pb`` argument to ``fetch()`` is deprecated.
113 faulty tests were not properly isolated.113 (Martin Pool)
114 (Andrew Bennetts, Robert Collins)114
115115Testing
116 INTERNALS:116*******
117117
118 * ``DirState`` can now be passed a custom ``SHA1Provider`` object118* ``bzrlib.tests.TestCase`` now fails the test if its own ``setUp``
119 enabling it to store the sha1 and stat of the canonical (post119 and ``tearDown`` weren't called. This catches faulty tests that
120 content filtered) form. (Ian Clatworthy)120 forget to upcall when overriding ``setUp`` and ``tearDown``. Those
121121 faulty tests were not properly isolated.
122 * New ``assertLength`` method based on one Martin has squirreled away122 (Andrew Bennetts, Robert Collins)
123 somewhere. (Robert Collins, Martin Pool)123
124124Internals
125 * New hook ``BzrDir.pre_open`` which runs before opening ``BzrDir``125*********
126 objects, allowing better enforcement of the smart server jail when126
127 dealing with stacked branches. (Robert Collins, Andrew Bennetts)127* ``DirState`` can now be passed a custom ``SHA1Provider`` object
128128 enabling it to store the SHA1 and stat of the canonical (post
129 * New repository method ``refresh_data`` to cause any repository to129 content filtered) form. (Ian Clatworthy)
130 make visible data inserted into the repository by a smart server130
131 fetch operation. (Robert Collins, Andrew Bennetts)131* New ``assertLength`` method based on one Martin has squirreled away
132132 somewhere. (Robert Collins, Martin Pool)
133 * Removed ``InterRemoteToOther``, ``InterOtherToRemote`` and133
134 ``InterPackToRemotePack`` classes, as they are now unnecessary.134* New hook ``BzrDir.pre_open`` which runs before opening ``BzrDir``
135 (Andrew Bennetts)135 objects, allowing better enforcement of the smart server jail when
136 136 dealing with stacked branches. (Robert Collins, Andrew Bennetts)
137 * ``_walk_to_common_revisions`` will now batch up at least 50137
138 revisions before calling ``get_parent_map`` on the target,138* New repository method ``refresh_data`` to cause any repository to
139 regardless of ``InterRepository``.139 make visible data inserted into the repository by a smart server
140 (Andrew Bennetts, Robert Collins)140 fetch operation. (Robert Collins, Andrew Bennetts)
141141
142142* Removed ``InterRemoteToOther``, ``InterOtherToRemote`` and
143bzr 1.13 "paraskavedekatriaphobia" 2009-03-14143 ``InterPackToRemotePack`` classes, as they are now unnecessary.
144---------------------------------------------144 (Andrew Bennetts)
145
146* ``_walk_to_common_revisions`` will now batch up at least 50
147 revisions before calling ``get_parent_map`` on the target,
148 regardless of ``InterRepository``.
149 (Andrew Bennetts, Robert Collins)
150
151
152bzr 1.13
153########
154
155:Codename: paraskavedekatriaphobia
156:1.13: 2009-03-14
157:1.13rc1: 2009-03-10
145158
146This release includes bug fixes and a few performance and feature improvements.159This release includes bug fixes and a few performance and feature improvements.
147GNU Changelog output can now be produced by ``bzr log --gnu-changelog``. Debug160GNU Changelog output can now be produced by ``bzr log --gnu-changelog``.
148flags can now be set in ``~/.bazaar/bazaar.conf``. Lightweight Checkouts and161Debug flags can now be set in ``~/.bazaar/bazaar.conf``. Lightweight checkouts
149Stacked Branches should both be much faster over remote connections.162and stacked branches should both be much faster over remote connections.
150163
151 CHANGES FROM bzr 1.13rc1 2009-03-10:164Changes From RC1 to Final
152165*************************
153 * Fix "is not a stackable format" error when pushing a166
154 stackable-format branch with an unstackable-format repository to a167* Fix "is not a stackable format" error when pushing a
155 destination with a default stacking policy. (Andrew Bennetts)168 stackable-format branch with an unstackable-format repository to a
156169 destination with a default stacking policy. (Andrew Bennetts)
157 * Progress bars now show the rate of network activity for170
158 ``bzr+ssh://`` and ``bzr://`` connections. (Andrew Bennetts)171* Progress bars now show the rate of network activity for
159172 ``bzr+ssh://`` and ``bzr://`` connections. (Andrew Bennetts)
160 COMPATIBILITY BREAKS:173
161174Compatibility Breaks
162 * ``bzr log --line`` now indicates which revisions are merges with175********************
163 `[merge]` after the date. Scripts which parse the output of this176
164 command may need to be adjusted.177* ``bzr log --line`` now indicates which revisions are merges with
165 (Neil Martinsen-Burrell)178 `[merge]` after the date. Scripts which parse the output of this
166179 command may need to be adjusted.
167 NEW FEATURES:180 (Neil Martinsen-Burrell)
168181
169 * ``bzr reconfigure`` now supports --with-trees and --with-no-trees182New Features
170 options to change the default tree-creation policy of shared183************
171 repositories. (Matthew Fuller, Marius Kruger, #145033)184
172185* ``bzr reconfigure`` now supports --with-trees and --with-no-trees
173 * Debug flags can now be set in ``~/.bazaar/bazaar.conf``.186 options to change the default tree-creation policy of shared
174 (Martin Pool)187 repositories. (Matthew Fuller, Marius Kruger, #145033)
175188
176 * Filtered views provide a mask over the tree so that users can focus189* Debug flags can now be set in ``~/.bazaar/bazaar.conf``.
177 on a subset of a tree when doing their work. See ``Filtered views``190 (Martin Pool)
178 in chapter 7 of the User Guide and ``bzr help view`` for details.191
179 (Ian Clatworthy)192* Filtered views provide a mask over the tree so that users can focus
180193 on a subset of a tree when doing their work. See ``Filtered views``
181 * GNU Changelog output can now be produced by ``bzr log --gnu-changelog``.194 in chapter 7 of the User Guide and ``bzr help view`` for details.
182 (Andrea Bolognani, Martin Pool)195 (Ian Clatworthy)
183196
184 * The ``-Dmemory`` flag now gives memory information on Windows.197* GNU Changelog output can now be produced by ``bzr log --gnu-changelog``.
185 (John Arbash Meinel)198 (Andrea Bolognani, Martin Pool)
186199
187 * Multiple authors for a commit can now be recorded by using the "--author"200* The ``-Dmemory`` flag now gives memory information on Windows.
188 option multiple times. (James Westby, #185772)201 (John Arbash Meinel)
189202
190 * New clean-tree command, from bzrtools. (Aaron Bentley, Jelmer Vernoij)203* Multiple authors for a commit can now be recorded by using the "--author"
191204 option multiple times. (James Westby, #185772)
192 * New command ``bzr launchpad-open`` opens a Launchpad web page for that205
193 branch in your web browser, as long as the branch is on Launchpad at all.206* New clean-tree command, from bzrtools. (Aaron Bentley, Jelmer Vernoij)
194 (Jonathan Lange)207
195208* New command ``bzr launchpad-open`` opens a Launchpad web page for that
196 * New API for getting bugs fixed by a revision: Revision.iter_bugs().209 branch in your web browser, as long as the branch is on Launchpad at all.
197 (Jonathan Lange)210 (Jonathan Lange)
198211
199 IMPROVEMENTS:212* New API for getting bugs fixed by a revision: Revision.iter_bugs().
200213 (Jonathan Lange)
201 * All bzr ``Hooks`` classes are now registered in214
202 ``bzrlib.hooks.known_hooks``. This removes the separate list from215Improvements
203 ``bzrlib.tests`` and ensures that all hooks registered there are216************
204 correctly isolated by the test suite (previously217
205 ``MutableTreeHooks`` were not being isolated correctly). Further, 218* All bzr ``Hooks`` classes are now registered in
206 documentation for hooks is now dynamically generated from the219 ``bzrlib.hooks.known_hooks``. This removes the separate list from
207 present HookPoints. ``bzr hooks`` will now also report on all the220 ``bzrlib.tests`` and ensures that all hooks registered there are
208 hooks present in the ``bzrlib.hooks.known_hooks`` registry.221 correctly isolated by the test suite (previously
209 (Robert Collins)222 ``MutableTreeHooks`` were not being isolated correctly). Further,
210223 documentation for hooks is now dynamically generated from the
211 * ``bzr add`` no longer prints ``add completed`` on success. Failure224 present HookPoints. ``bzr hooks`` will now also report on all the
212 still prints an error message. (Robert Collins)225 hooks present in the ``bzrlib.hooks.known_hooks`` registry.
213226 (Robert Collins)
214 * ``bzr branch`` now has a ``--no-tree`` option which turns off the227
215 generation of a working tree in the new branch.228* ``bzr add`` no longer prints ``add completed`` on success. Failure
216 (Daniel Watkins, John Klinger, #273993)229 still prints an error message. (Robert Collins)
217230
218 * Bazaar will now point out ``bzr+ssh://`` to the user when they 231* ``bzr branch`` now has a ``--no-tree`` option which turns off the
219 use ssh://. (Jelmer Vernooij, #330535)232 generation of a working tree in the new branch.
220233 (Daniel Watkins, John Klinger, #273993)
221 * ``bzr -v info`` now omits the number of committers branch statistic,234
222 making it many times faster for large projects. To include that235* Bazaar will now point out ``bzr+ssh://`` to the user when they
223 statistic in the output, use ``bzr -vv info``.236 use ssh://. (Jelmer Vernooij, #330535)
224 (Ian Clatworthy)237
225238* ``bzr -v info`` now omits the number of committers branch statistic,
226 * ``bzr push`` to a ``bzr`` url (``bzr://``, ``bzr+ssh://`` etc) will239 making it many times faster for large projects. To include that
227 stream if the server is version 1.13 or greater, reducing roundtrips240 statistic in the output, use ``bzr -vv info``.
228 significantly. (Andrew Bennetts, Robert Collins)241 (Ian Clatworthy)
229242
230 * Lightweight Checkouts and Stacked Branches should both be much243* ``bzr push`` to a ``bzr`` url (``bzr://``, ``bzr+ssh://`` etc) will
231 faster over remote connections. Building the working tree now244 stream if the server is version 1.13 or greater, reducing roundtrips
232 batches up requests into approx 5MB requests, rather than a separate245 significantly. (Andrew Bennetts, Robert Collins)
233 request for each file. (John Arbash Meinel)246
234247* Lightweight Checkouts and Stacked Branches should both be much
235 * Support for GSSAPI authentication when using HTTP or HTTPS. 248 faster over remote connections. Building the working tree now
236 (Jelmer Vernooij)249 batches up requests into approx 5MB requests, rather than a separate
237250 request for each file. (John Arbash Meinel)
238 * The ``bzr shelve`` prompt now includes a '?' help option to explain the251
239 short options better. (Daniel Watkins, #327429)252* Support for GSSAPI authentication when using HTTP or HTTPS.
240253 (Jelmer Vernooij)
241 * ``bzr lp-open`` now falls back to the push location if it cannot find a254
242 public location. (Jonathan Lange, #332372)255* The ``bzr shelve`` prompt now includes a '?' help option to explain the
243256 short options better. (Daniel Watkins, #327429)
244 * ``bzr lp-open`` will try to find the Launchpad URL for the location257
245 passed on the command line. This makes ``bzr lp-open lp:foo`` work as258* ``bzr lp-open`` now falls back to the push location if it cannot find a
246 expected. (Jonathan Lange, #332705)259 public location. (Jonathan Lange, #332372)
247260
248 * ``bzr send`` now supports MH-E via ``emacsclient``. (Eric Gillespie)261* ``bzr lp-open`` will try to find the Launchpad URL for the location
249262 passed on the command line. This makes ``bzr lp-open lp:foo`` work as
250 BUG FIXES:263 expected. (Jonathan Lange, #332705)
251264
252 * Bazaar now gives a better message including the filename if it's265* ``bzr send`` now supports MH-E via ``emacsclient``. (Eric Gillespie)
253 unable to read a file in the working directory, for example because266
254 of a permission error. (Martin Pool, #338653)267Bug Fixes
255268*********
256 * ``bzr cat -r<old> <path>`` doesn't traceback anymore when <path> has a269
257 file id in the working tree different from the one in revision <old>.270* Bazaar now gives a better message including the filename if it's
258 (Vincent Ladeuil, #341517, #253806)271 unable to read a file in the working directory, for example because
259272 of a permission error. (Martin Pool, #338653)
260 * ``bzr send`` help is more specific about how to apply merge273
261 directives. (Neil Martinsen-Burrell, #253470)274* ``bzr cat -r<old> <path>`` doesn't traceback anymore when <path> has a
262275 file id in the working tree different from the one in revision <old>.
263 * ``bzr missing`` now uses ``Repository.get_revision_delta()`` rather276 (Vincent Ladeuil, #341517, #253806)
264 than fetching trees and determining a delta itself. (Jelmer277
265 Vernooij, #315048)278* ``bzr send`` help is more specific about how to apply merge
266279 directives. (Neil Martinsen-Burrell, #253470)
267 * ``bzr push`` to a smart server no longer causes "Revision280
268 {set([('null:',)])} not present ..." errors when the branch has281* ``bzr missing`` now uses ``Repository.get_revision_delta()`` rather
269 multiple root revisions. (Andrew Bennetts, #317654)282 than fetching trees and determining a delta itself. (Jelmer
270283 Vernooij, #315048)
271 * ``bzr shelve`` now properly handle patches with no terminating newline.284
272 (Benoît PIERRE, #303569)285* ``bzr push`` to a smart server no longer causes "Revision
273286 {set([('null:',)])} not present ..." errors when the branch has
274 * ``bzr unshelve`` gives a more palatable error if passed a non-integer287 multiple root revisions. (Andrew Bennetts, #317654)
275 shelf id. (Daniel Watkins)288
276289* ``bzr shelve`` now properly handle patches with no terminating newline.
277 * Export now handles files that are not present in the tree.290 (Benoît PIERRE, #303569)
278 (James Westby, #174539)291
279292* ``bzr unshelve`` gives a more palatable error if passed a non-integer
280 * Fixed incorrect "Source format does not support stacking" warning293 shelf id. (Daniel Watkins)
281 when pushing to a smart server. (Andrew Bennetts, #334114)294
282 295* Export now handles files that are not present in the tree.
283 * Fixed "sprout() got an unexpected keyword argument 'source_branch'"296 (James Westby, #174539)
284 error branching from old repositories.297
285 (Martin Pool, #321695)298* Fixed incorrect "Source format does not support stacking" warning
286299 when pushing to a smart server. (Andrew Bennetts, #334114)
287 * Make ``bzr push --quiet <non-local location>`` less chatty.300
288 (Kent Gibson, #221461)301* Fixed "sprout() got an unexpected keyword argument 'source_branch'"
289302 error branching from old repositories.
290 * Many Branch hooks would not fire with ``bzr://`` and ``bzr+ssh://``303 (Martin Pool, #321695)
291 branches, and this was not noticed due to a bug in the test logic304
292 for branches. This is now fixed and a test added to prevent it305* Make ``bzr push --quiet <non-local location>`` less chatty.
293 reoccuring. (Robert Collins, Andrew Bennetts)306 (Kent Gibson, #221461)
294307
295 * Restore the progress bar on Windows. We were disabling it when TERM308* Many Branch hooks would not fire with ``bzr://`` and ``bzr+ssh://``
296 wasn't set, but Windows doesn't set TERM. (Alexander Belchenko)309 branches, and this was not noticed due to a bug in the test logic
297310 for branches. This is now fixed and a test added to prevent it
298 * ``setup.py build_ext`` now gives a proper error when an extension311 reoccuring. (Robert Collins, Andrew Bennetts)
299 fails to build. (John Arbash Meinel)312
300313* Restore the progress bar on Windows. We were disabling it when TERM
301 * Symlinks to non ascii file names are now supported.314 wasn't set, but Windows doesn't set TERM. (Alexander Belchenko)
302 (Robert Collins, Vincent Ladeuil, #339055, #272444) 315
303316* ``setup.py build_ext`` now gives a proper error when an extension
304 * Under rare circumstances (aka nobody reported a bug about it), the ftp317 fails to build. (John Arbash Meinel)
305 transport could revert to ascii mode. It now stays in binary mode except318
306 when needed.319* Symlinks to non ascii file names are now supported.
307 (Vincent Ladeuil)320 (Robert Collins, Vincent Ladeuil, #339055, #272444)
308321
309 * Unshelve does not generate warnings about progress bars.322* Under rare circumstances (aka nobody reported a bug about it), the ftp
310 (Aaron Bentley, #328148)323 transport could revert to ascii mode. It now stays in binary mode except
311324 when needed.
312 * shelve cleans up properly when unversioned files are specified.325 (Vincent Ladeuil)
313 (Benoît Pierre, Aaron Bentley)326
314327* Unshelve does not generate warnings about progress bars.
315 DOCUMENTATION:328 (Aaron Bentley, #328148)
316329
317 * Added ``Organizing your workspace`` to the User Guide appendices,330* shelve cleans up properly when unversioned files are specified.
318 summarizing some common ways of organizing trees, branches and331 (Benoît Pierre, Aaron Bentley)
319 repositories and the processes/workflows implied/enabled by each.332
320 (Ian Clatworthy)333Documentation
321334*************
322 * Hooks can now be self documenting. ``bzrlib.hooks.Hooks.create_hook``335
323 is the entry point for this feature. (Robert Collins)336* Added ``Organizing your workspace`` to the User Guide appendices,
324337 summarizing some common ways of organizing trees, branches and
325 * The documentation for ``shelve`` and ``unshelve`` has been clarified.338 repositories and the processes/workflows implied/enabled by each.
326 (Daniel Watkins, #327421, #327425)339 (Ian Clatworthy)
327340
328 API CHANGES:341* Hooks can now be self documenting. ``bzrlib.hooks.Hooks.create_hook``
329342 is the entry point for this feature. (Robert Collins)
330 * ``bzr selftest`` now fails if the bazaar sources contain trailing343
331 whitespace, non-unix style line endings and files not ending in a344* The documentation for ``shelve`` and ``unshelve`` has been clarified.
332 newline. About 372 files and 3243 lines with trailing whitespace was345 (Daniel Watkins, #327421, #327425)
333 updated to comply with this. The code already complied with the other346
334 criteria, but now it is enforced. (Marius Kruger)347API Changes
335348***********
336 ``bzrlib.branch.PushResult`` was renamed to 349
337 ``bzrlib.branch.BranchPushResult``. (Jelmer Vernooij)350* ``bzr selftest`` now fails if the bazaar sources contain trailing
338351 whitespace, non-unix style line endings and files not ending in a
339 * ``Branch.fetch`` and ``Repository.fetch`` now return None rather352 newline. About 372 files and 3243 lines with trailing whitespace was
340 than a count of copied revisions and failed revisions. A while back353 updated to comply with this. The code already complied with the other
341 we stopped ever reporting failed revisions because we started354 criteria, but now it is enforced. (Marius Kruger)
342 erroring instead, and the copied revisions count is not used in the355
343 UI at all - indeed it only reflects the repository status not356* ``bzrlib.branch.PushResult`` was renamed to
344 changes to the branch itself. (Robert Collins)357 ``bzrlib.branch.BranchPushResult``. (Jelmer Vernooij)
345358
346 * ``Inventory.apply_delta`` now raises an AssertionError if a file-id359* ``Branch.fetch`` and ``Repository.fetch`` now return None rather
347 appears multiple times within the delta. (Ian Clatworthy)360 than a count of copied revisions and failed revisions. A while back
348361 we stopped ever reporting failed revisions because we started
349 * MutableTree.commit now favours the "authors" argument, with the old362 erroring instead, and the copied revisions count is not used in the
350 "author" argument being deprecated.363 UI at all - indeed it only reflects the repository status not
351364 changes to the branch itself. (Robert Collins)
352 * Remove deprecated EmptyTree. (Martin Pool)365
353366* ``Inventory.apply_delta`` now raises an AssertionError if a file-id
354 * ``Repository.fetch`` now accepts an optional ``fetch_spec``367 appears multiple times within the delta. (Ian Clatworthy)
355 parameter. A ``SearchResult`` or ``MiniSearchResult`` may be passed368
356 to ``fetch_spec`` instead of a ``last_revision`` to specify exactly369* MutableTree.commit now favours the "authors" argument, with the old
357 which revisions to fetch. (Andrew Bennetts)370 "author" argument being deprecated.
358371
359 * ``RepositoryAcquisitionPolicy.acquire_repository`` now returns a372* Remove deprecated EmptyTree. (Martin Pool)
360 tuple of ``(repository, is_new_flag)``, rather than just the373
361 repository. (Andrew Bennetts)374* ``Repository.fetch`` now accepts an optional ``fetch_spec``
362375 parameter. A ``SearchResult`` or ``MiniSearchResult`` may be passed
363 * Revision.get_apparent_author() is now deprecated, replaced by376 to ``fetch_spec`` instead of a ``last_revision`` to specify exactly
364 Revision.get_apparent_authors(), which returns a list. The former377 which revisions to fetch. (Andrew Bennetts)
365 now returns the first item that would be returned from the second.378
366379* ``RepositoryAcquisitionPolicy.acquire_repository`` now returns a
367 * The ``BranchBuilder`` test helper now accepts a ``timestamp``380 tuple of ``(repository, is_new_flag)``, rather than just the
368 parameter to ``build_commit`` and ``build_snapshot``. (Martin Pool)381 repository. (Andrew Bennetts)
369382
370 * The ``_fetch_*`` attributes on ``Repository`` are now on383* Revision.get_apparent_author() is now deprecated, replaced by
371 ``RepositoryFormat``, more accurately reflecting their intent (they384 Revision.get_apparent_authors(), which returns a list. The former
372 describe a disk format capability, not state of a particular385 now returns the first item that would be returned from the second.
373 repository of that format). (Robert Collins)386
374387* The ``BranchBuilder`` test helper now accepts a ``timestamp``
375 INTERNALS:388 parameter to ``build_commit`` and ``build_snapshot``. (Martin Pool)
376389
377 * Branching from a non-stacked branch on a smart protocol is now390* The ``_fetch_*`` attributes on ``Repository`` are now on
378 free of virtual file system methods.391 ``RepositoryFormat``, more accurately reflecting their intent (they
379 (Robert Collins, Andrew Bennetts)392 describe a disk format capability, not state of a particular
380393 repository of that format). (Robert Collins)
381 * Branch and Repository creation on a bzr+ssh://server are now done394
382 via RPC calls rather than VFS calls, reducing round trips for395Internals
383 pushing new branches substantially. (Robert Collins)396*********
384397
385 * ``Branch.clone`` now takes the ``repository_policy`` formerly used398* Branching from a non-stacked branch on a smart protocol is now
386 inside ``BzrDir.clone_on_transport``, allowing stacking to be399 free of virtual file system methods.
387 configured before the branch tags and revision tip are set. This400 (Robert Collins, Andrew Bennetts)
388 fixes a race condition cloning stacked branches that would cause401
389 plugins to have hooks called on non-stacked instances.402* Branch and Repository creation on a bzr+ssh://server are now done
390 (Robert Collins, #334187)403 via RPC calls rather than VFS calls, reducing round trips for
391404 pushing new branches substantially. (Robert Collins)
392 * ``BzrDir.cloning_metadir`` now has a RPC call. (Robert Collins)405
393406* ``Branch.clone`` now takes the ``repository_policy`` formerly used
394 * ``BzrDirFormat.__str__`` now uses the human readable description407 inside ``BzrDir.clone_on_transport``, allowing stacking to be
395 rather than the sometimes-absent disk label. (Robert Collins)408 configured before the branch tags and revision tip are set. This
396409 fixes a race condition cloning stacked branches that would cause
397 * ``bzrlib.fetch`` is now composed of a sender and a sink component410 plugins to have hooks called on non-stacked instances.
398 allowing for decoupling over a network connection. Fetching from411 (Robert Collins, #334187)
399 or into a RemoteRepository with a 1.13 server will use this to412
400 stream the operation.413* ``BzrDir.cloning_metadir`` now has a RPC call. (Robert Collins)
401 (Andrew Bennetts, Robert Collins)414
402415* ``BzrDirFormat.__str__`` now uses the human readable description
403 * ``bzrlib.tests.run_suite`` accepts a runner_class parameter416 rather than the sometimes-absent disk label. (Robert Collins)
404 supporting the use of different runners. (Robert Collins)417
405418* ``bzrlib.fetch`` is now composed of a sender and a sink component
406 * Change how file_ids and revision_ids are interned as part of419 allowing for decoupling over a network connection. Fetching from
407 inventory deserialization. Now we use the real ``intern()``, rather420 or into a RemoteRepository with a 1.13 server will use this to
408 than our own workaround that would also cache a Unicode copy of the421 stream the operation.
409 string, and never emptied the cache. This should slightly reduce422 (Andrew Bennetts, Robert Collins)
410 memory consumption. (John Arbash Meinel)423
411424* ``bzrlib.tests.run_suite`` accepts a runner_class parameter
412 * New branch method ``create_clone_on_transport`` that returns a425 supporting the use of different runners. (Robert Collins)
413 branch object. (Robert Collins)426
414427* Change how file_ids and revision_ids are interned as part of
415 * New hook Commands['extend_command'] to allow plugins to access a428 inventory deserialization. Now we use the real ``intern()``, rather
416 command object before the command is run (or help generated from429 than our own workaround that would also cache a Unicode copy of the
417 it), without overriding the command. (Robert Collins)430 string, and never emptied the cache. This should slightly reduce
418431 memory consumption. (John Arbash Meinel)
419 * New version of the ``BzrDir.find_repository`` verb supporting432
420 ``_network_name`` to support removing more _ensure_real calls.433* New branch method ``create_clone_on_transport`` that returns a
421 (Robert Collins)434 branch object. (Robert Collins)
422435
423 * ``RemoteBranchFormat`` no longer claims to have a disk format string.436* New hook Commands['extend_command'] to allow plugins to access a
424 (Robert Collins)437 command object before the command is run (or help generated from
425438 it), without overriding the command. (Robert Collins)
426 * ``Repository`` objects now have ``suspend_write_group`` and439
427 ``resume_write_group`` methods. These are currently only useful440* New version of the ``BzrDir.find_repository`` verb supporting
428 with pack repositories. (Andrew Bennetts, Robert Collins)441 ``_network_name`` to support removing more _ensure_real calls.
429442 (Robert Collins)
430 * ``BzrDirFormat``, ``BranchFormat`` and ``RepositoryFormat`` objects443
431 now have a ``network_name`` for passing the format across RPC calls.444* ``RemoteBranchFormat`` no longer claims to have a disk format string.
432 (Robert Collins, Andrew Bennetts)445 (Robert Collins)
433446
434 * ``RepositoryFormat`` objects now all have a new attribute447* ``Repository`` objects now have ``suspend_write_group`` and
435 ``_serializer`` used by fetch when reserialising is required.448 ``resume_write_group`` methods. These are currently only useful
436 (Robert Collins, Andrew Bennetts)449 with pack repositories. (Andrew Bennetts, Robert Collins)
437450
438 * Some methods have been pulled up from ``BzrBranch`` to ``Branch``451* ``BzrDirFormat``, ``BranchFormat`` and ``RepositoryFormat`` objects
439 to aid branch types that are not bzr branch objects (like452 now have a ``network_name`` for passing the format across RPC calls.
440 RemoteBranch). (Robert Collins, Andrew Bennetts)453 (Robert Collins, Andrew Bennetts)
441454
442 * Test adaptation has been made consistent throughout the built in455* ``RepositoryFormat`` objects now all have a new attribute
443 tests. ``TestScenarioApplier``, ``multiply_tests_from_modules``,456 ``_serializer`` used by fetch when reserialising is required.
444 ``adapt_tests``, ``adapt_modules`` have all been deleted. Please457 (Robert Collins, Andrew Bennetts)
445 use ``multiply_tests``, or for lower level needs ``apply_scenarios``458
446 and ``apply_scenario``. (Robert Collins)459* Some methods have been pulled up from ``BzrBranch`` to ``Branch``
447460 to aid branch types that are not bzr branch objects (like
448 * ``TestSkipped`` is now detected by TestCase and passed to the461 RemoteBranch). (Robert Collins, Andrew Bennetts)
449 ``TestResult`` by calling ``addSkip``. For older TestResult objects,462
450 where ``addSkip`` is not available, ``addError`` is still called.463* Test adaptation has been made consistent throughout the built in
451 This permits test filtering in subunit to strip out skipped tests464 tests. ``TestScenarioApplier``, ``multiply_tests_from_modules``,
452 resulting in a faster fix-shrink-list-run cycle. This is compatible465 ``adapt_tests``, ``adapt_modules`` have all been deleted. Please
453 with the testtools protocol for skips. (Robert Collins)466 use ``multiply_tests``, or for lower level needs ``apply_scenarios``
454467 and ``apply_scenario``. (Robert Collins)
455 * The ``_index`` of ``KnitVersionedFiles`` now supports the ability468
456 to scan an underlying index that is going to be incorporated into469* ``TestSkipped`` is now detected by TestCase and passed to the
457 the ``KnitVersionedFiles`` object, to determine if it has missing470 ``TestResult`` by calling ``addSkip``. For older TestResult objects,
458 delta references. The method is ``scan_unvalidated_index``.471 where ``addSkip`` is not available, ``addError`` is still called.
459 (Andrew Bennetts, Robert Collins)472 This permits test filtering in subunit to strip out skipped tests
460473 resulting in a faster fix-shrink-list-run cycle. This is compatible
461 * There is a RemoteSink object which handles pushing to smart servers.474 with the testtools protocol for skips. (Robert Collins)
462 (Andrew Bennetts, Robert Collins)475
463476* The ``_index`` of ``KnitVersionedFiles`` now supports the ability
464 * ``TransportTraceDecorator`` now logs ``put_bytes_non_atomic`` and477 to scan an underlying index that is going to be incorporated into
465 ``rmdir`` calls. (Robert Collins)478 the ``KnitVersionedFiles`` object, to determine if it has missing
466479 delta references. The method is ``scan_unvalidated_index``.
467 * ``VersionedFiles`` record adapters have had their signature change480 (Andrew Bennetts, Robert Collins)
468 from ``(record, record.get_bytes_as(record.storage_kind))`` to481
469 ``(record)`` reducing excess duplication and allowing adapters482* There is a RemoteSink object which handles pushing to smart servers.
470 to access private data in record to obtain content more483 (Andrew Bennetts, Robert Collins)
471 efficiently. (Robert Collins)484
472485* ``TransportTraceDecorator`` now logs ``put_bytes_non_atomic`` and
473 * We no longer probe to see if we should create a working tree during486 ``rmdir`` calls. (Robert Collins)
474 clone if we cannot get a local_abspath for the new bzrdir.487
475 (Robert Collins)488* ``VersionedFiles`` record adapters have had their signature change
476489 from ``(record, record.get_bytes_as(record.storage_kind))`` to
477490 ``(record)`` reducing excess duplication and allowing adapters
478bzr 1.12 "1234567890" 2009-02-13491 to access private data in record to obtain content more
479--------------------------------492 efficiently. (Robert Collins)
493
494* We no longer probe to see if we should create a working tree during
495 clone if we cannot get a local_abspath for the new bzrdir.
496 (Robert Collins)
497
498
499bzr 1.12
500########
501
502:Codename: 1234567890
503:1.12: 2009-02-13
504:1.12rc1: 2009-02-10
480505
481This release of Bazaar contains many improvements to the speed,506This release of Bazaar contains many improvements to the speed,
482documentation and functionality of ``bzr log`` and the display of logged507documentation and functionality of ``bzr log`` and the display of logged
@@ -484,211 +509,213 @@
484progress, both in the way operations are drawn onto a text terminal, and509progress, both in the way operations are drawn onto a text terminal, and
485by showing the rate of network IO.510by showing the rate of network IO.
486511
487 BUG FIXES:512Changes from RC1 to Final
488513*************************
489 * ``bzr init --development-wt5[-rich-root]`` would fail because of514
490 circular import errors. (John Arbash Meinel, #328135)515* ``bzr init --development-wt5[-rich-root]`` would fail because of
491516 circular import errors. (John Arbash Meinel, #328135)
492 DOCUMENTATION:517
493518* Expanded the help for log and added a new help topic called
494 * Expanded the help for log and added a new help topic called519 ``log-formats``. (Ian Clatworthy)
495 ``log-formats``. (Ian Clatworthy)520
496521Compatibility Breaks
497522********************
498bzr 1.12rc1 "1234567890" 2009-02-10523
499-----------------------------------524* By default, ``bzr status`` after a merge now shows just the pending
500525 merge tip revisions. This improves the signal-to-noise ratio after
501 COMPATIBILITY BREAKS:526 merging from trunk and completes much faster. To see all merged
502527 revisions, use the new ``-v`` flag. (Ian Clatworthy)
503 * By default, ``bzr status`` after a merge now shows just the pending528
504 merge tip revisions. This improves the signal-to-noise ratio after529* ``bzr log --line`` now shows any tags after the date and before
505 merging from trunk and completes much faster. To see all merged530 the commit message. If you have scripts which parse the output
506 revisions, use the new ``-v`` flag. (Ian Clatworthy)531 from this command, you may need to adjust them accordingly.
507532 (Ian Clatworthy)
508 * ``bzr log --line`` now shows any tags after the date and before533
509 the commit message. If you have scripts which parse the output534* ``bzr log --short`` now shows any additional revision properties
510 from this command, you may need to adjust them accordingly.535 after the date and before the commit message. Scripts that parse
511 (Ian Clatworthy)536 output of the log command in this situation may need to adjust.
512537 (Neil Martinsen-Burrell)
513 * ``bzr log --short`` now shows any additional revision properties538
514 after the date and before the commit message. Scripts that parse 539* The experimental formats ``1.12-preview`` and ``1.12-preview-rich-root``
515 output of the log command in this situation may need to adjust.540 have been renamed ``development-wt5`` and ``development-wt5-rich-root``
516 (Neil Martinsen-Burrell)541 respectively, given they are not ready for release in 1.12.
517542 (Ian Clatworthy)
518 * The experimental formats ``1.12-preview`` and ``1.12-preview-rich-root``543
519 have been renamed ``development-wt5`` and ``development-wt5-rich-root``544* ``read_bundle_from_url`` has been deprecated. (Vincent Ladeuil)
520 respectively, given they are not ready for release in 1.12.545
521 (Ian Clatworthy)546New Features
522547************
523 * ``read_bundle_from_url`` has been deprecated. (Vincent Ladeuil)548
524549* Add support for filtering ``bzr missing`` on revisions. Remote revisions
525 NEW FEATURES:550 can be filtered using ``bzr missing -r -20..-10`` and local revisions can
526551 be filtered using ``bzr missing --my-revision -20..-10``.
527 * Add support for filtering ``bzr missing`` on revisions. Remote revisions552 (Marius Kruger)
528 can be filtered using ``bzr missing -r -20..-10`` and local revisions can553
529 be filtered using ``bzr missing --my-revision -20..-10``.554* ``bzr log -p`` displays the patch diff for each revision.
530 (Marius Kruger)555 When logging a file, the diff only includes changes to that file.
531556 (Ian Clatworthy, #202331, #227335)
532 * ``bzr log -p`` displays the patch diff for each revision.557
533 When logging a file, the diff only includes changes to that file.558* ``bzr log`` supports a new option called ``-n N`` or ``--level N``.
534 (Ian Clatworthy, #202331, #227335)559 A value of 0 (zero) means "show all nested merge revisions" while
535560 a value of 1 (one) means "show just the top level". Values above
536 * ``bzr log`` supports a new option called ``-n N`` or ``--level N``.561 1 can be used to see a limited amount of nesting. That can be
537 A value of 0 (zero) means "show all nested merge revisions" while562 useful for seeing the level or two below PQM submits for example.
538 a value of 1 (one) means "show just the top level". Values above563 To force the ``--short`` and ``--line`` formats to display all nested
539 1 can be used to see a limited amount of nesting. That can be564 merge revisions just like ``--long`` does by default, use a command
540 useful for seeing the level or two below PQM submits for example.565 like ``bzr log --short -n0``. To display just the mainline using
541 To force the ``--short`` and ``--line`` formats to display all nested566 ``--long`` format, ``bzr log --long -n1``.
542 merge revisions just like ``--long`` does by default, use a command567 (Ian Clatworthy)
543 like ``bzr log --short -n0``. To display just the mainline using568
544 ``--long`` format, ``bzr log --long -n1``.569Improvements
545 (Ian Clatworthy)570************
546571
547 IMPROVEMENTS:572* ``bzr add`` more clearly communicates success vs failure.
548573 (Daniel Watkins)
549 * ``bzr add`` more clearly communicates success vs failure.574
550 (Daniel Watkins)575* ``bzr init`` will now print a little less verbose output.
551576 (Marius Kruger)
552 * ``bzr init`` will now print a little less verbose output.577
553 (Marius Kruger)578* ``bzr log`` is now much faster in many use cases, particularly
554579 at incrementally displaying results and filtering by a
555 * ``bzr log`` is now much faster in many use cases, particularly580 revision range. (Ian Clatworthy)
556 at incrementally displaying results and filtering by a581
557 revision range. (Ian Clatworthy)582* ``bzr log --short`` and ``bzr log --line`` now show tags, if any,
558583 for each revision. The tags are shown comma-separated inside
559 * ``bzr log --short`` and ``bzr log --line`` now show tags, if any,584 ``{}``. For short format, the tags appear at the end of line
560 for each revision. The tags are shown comma-separated inside585 before the optional ``[merge]`` indicator. For line format,
561 ``{}``. For short format, the tags appear at the end of line586 the tags appear after the date. (Ian Clatworthy)
562 before the optional ``[merge]`` indicator. For line format,587
563 the tags appear after the date. (Ian Clatworthy)588* Progress bars now show the rate of activity for some sftp
564589 operations, and they are drawn different. (Martin Pool, #172741)
565 * Progress bars now show the rate of activity for some sftp 590
566 operations, and they are drawn different. (Martin Pool, #172741)591* Progress bars now show the rate of activity for urllib and pycurl based
567592 http client implementations. The operations are tracked at the socket
568 * Progress bars now show the rate of activity for urllib and pycurl based593 level for better precision.
569 http client implementations. The operations are tracked at the socket594 (Vincent Ladeuil)
570 level for better precision.595
571 (Vincent Ladeuil)596* Rule-based preferences can now accept multiple patterns for a set of
572597 rules. (Marius Kruger)
573 * Rule-based preferences can now accept multiple patterns for a set of598
574 rules. (Marius Kruger)599* The ``ancestor:`` revision spec will now default to referring to the
575600 parent of the branch if no other location is given.
576 * The ``ancestor:`` revision spec will now default to referring to the601 (Daniel Watkins, #198417)
577 parent of the branch if no other location is given.602
578 (Daniel Watkins, #198417)603* The debugger started as a result of setting ``$BZR_PDB`` works
579604 around a bug in ``pdb``, http://bugs.python.org/issue4150. The bug
580 * The debugger started as a result of setting ``$BZR_PDB`` works605 can cause truncated tracebacks in Python versions before 2.6.
581 around a bug in ``pdb``, http://bugs.python.org/issue4150. The bug606 (Andrew Bennetts)
582 can cause truncated tracebacks in Python versions before 2.6.607
583 (Andrew Bennetts)608* VirtualVersionedFiles now implements
584609 ``iter_lines_added_or_present_in_keys``. This allows the creation of
585 * VirtualVersionedFiles now implements610 new branches based on stacked bzr-svn branches. (#311997)
586 ``iter_lines_added_or_present_in_keys``. This allows the creation of 611
587 new branches based on stacked bzr-svn branches. (#311997)612Bug Fixes
588613*********
589 BUG FIXES:614
590615* ``bzr annotate --show-ids`` doesn't give a backtrace on empty files
591 * ``bzr annotate --show-ids`` doesn't give a backtrace on empty files616 anymore.
592 anymore.617 (Anne Mohsen, Vincent Ladeuil, #314525)
593 (Anne Mohsen, Vincent Ladeuil, #314525)618
594619* ``bzr log FILE`` now correctly shows mainline revisions merging
595 * ``bzr log FILE`` now correctly shows mainline revisions merging620 a change to FILE when the ``--short`` and ``--line`` log formats
596 a change to FILE when the ``--short`` and ``--line`` log formats621 are used. (Ian Clatworthy, #317417)
597 are used. (Ian Clatworthy, #317417)622
598623* ``bzr log -rX..Y FILE`` now shows the history of FILE provided
599 * ``bzr log -rX..Y FILE`` now shows the history of FILE provided624 it existed in Y or X, even if the file has since been deleted or
600 it existed in Y or X, even if the file has since been deleted or625 renamed. If no range is given, the current/basis tree and
601 renamed. If no range is given, the current/basis tree and626 initial tree are searched in that order. More generally, log
602 initial tree are searched in that order. More generally, log627 now interprets filenames in their historical context.
603 now interprets filenames in their historical context.628 (Ian Clatworthy, #175520)
604 (Ian Clatworthy, #175520)629
605630* ``bzr status`` now reports nonexistent files and continues, then
606 * ``bzr status`` now reports nonexistent files and continues, then631 errors (with code 3) at the end. (Karl Fogel, #306394)
607 errors (with code 3) at the end. (Karl Fogel, #306394)632
608633* Don't require the present compression base in knits to be the same
609 * Don't require the present compression base in knits to be the same634 when adding records in knits. (Jelmer Vernooij, #307394)
610 when adding records in knits. (Jelmer Vernooij, #307394)635
611636* Fix a problem with CIFS client/server lag on Windows colliding with
612 * Fix a problem with CIFS client/server lag on Windows colliding with637 an invariant-per-process algorithm for generating AtomicFile names
613 an invariant-per-process algorithm for generating AtomicFile names638 (Adrian Wilkins, #304023)
614 (Adrian Wilkins, #304023)639
615640* Many socket operations now handle EINTR by retrying the operation.
616 * Many socket operations now handle EINTR by retrying the operation.641 Previously EINTR was treated as an unrecoverable failure. There is
617 Previously EINTR was treated as an unrecoverable failure. There is642 a new ``until_no_eintr`` helper function in ``bzrlib.osutils``.
618 a new ``until_no_eintr`` helper function in ``bzrlib.osutils``.643 (Andrew Bennetts)
619 (Andrew Bennetts)644
620645* Support symlinks with non-ascii characters in the symlink filename.
621 * Support symlinks with non-ascii characters in the symlink filename.646 (Jelmer Vernooij, #319323)
622 (Jelmer Vernooij, #319323)647
623648* There was a bug in how we handled resolving when a file is deleted
624 * There was a bug in how we handled resolving when a file is deleted649 in one branch, and modified in the other. If there was a criss-cross
625 in one branch, and modified in the other. If there was a criss-cross650 merge, we would cause the deletion to conflict a second time.
626 merge, we would cause the deletion to conflict a second time.651 (Vincent Ladeuil, John Arbash Meinel)
627 (Vincent Ladeuil, John Arbash Meinel)652
628653* There was another bug in how we chose the correct intermediate LCA in
629 * There was another bug in how we chose the correct intermediate LCA in654 criss-cross merges leading to several kind of changes be incorrectly
630 criss-cross merges leading to several kind of changes be incorrectly655 handled.
631 handled.656 (John Arbash Meinel, Vincent Ladeuil)
632 (John Arbash Meinel, Vincent Ladeuil)657
633658* Unshelve now handles deleted paths without crashing. (Robert Collins)
634 * Unshelve now handles deleted paths without crashing. (Robert Collins)659
635660Documentation
636 DOCUMENTATION:661*************
637662
638 * Improved plugin developer documentation. (Martin Pool)663* Improved plugin developer documentation. (Martin Pool)
639664
640 API CHANGES:665API Changes
641666***********
642 * ``ProgressBarStack`` is deprecated; instead use667
643 ``ui_factory.nested_progress_bar`` to create new progress bars.668* ``ProgressBarStack`` is deprecated; instead use
644 (Martin Pool)669 ``ui_factory.nested_progress_bar`` to create new progress bars.
645670 (Martin Pool)
646 * ForeignVcsMapping() now requires a ForeignVcs object as first671
647 argument. (Jelmer Vernooij)672* ForeignVcsMapping() now requires a ForeignVcs object as first
648673 argument. (Jelmer Vernooij)
649 * ForeignVcsMapping.show_foreign_revid() has been moved to674
650 ForeignVcs. (Jelmer Vernooij)675* ForeignVcsMapping.show_foreign_revid() has been moved to
651676 ForeignVcs. (Jelmer Vernooij)
652 * ``read_bundle_from_url`` is deprecated in favor of677
653 ``read_mergeable_from_url``. (Vincent Ladeuil)678* ``read_bundle_from_url`` is deprecated in favor of
654679 ``read_mergeable_from_url``. (Vincent Ladeuil)
655 * Revision specifiers are now registered in680
656 ``bzrlib.revisionspec.revspec_registry``, and the old list of 681* Revision specifiers are now registered in
657 revisionspec classes (``bzrlib.revisionspec.SPEC_TYPES``) has been682 ``bzrlib.revisionspec.revspec_registry``, and the old list of
658 deprecated. (Jelmer Vernooij, #321183)683 revisionspec classes (``bzrlib.revisionspec.SPEC_TYPES``) has been
659684 deprecated. (Jelmer Vernooij, #321183)
660 * The progress and UI classes have changed; the main APIs remain the685
661 same but code that provides a new UI or progress bar class may686* The progress and UI classes have changed; the main APIs remain the
662 need to be updated. (Martin Pool)687 same but code that provides a new UI or progress bar class may
663688 need to be updated. (Martin Pool)
664 INTERNALS:689
665690Internals
666 * Default User Interface (UI) is CLIUIFactory when bzr runs in a dumb691*********
667 terminal. It is sometimes desirable do override this default by forcing692
668 bzr to use TextUIFactory. This can be achieved by setting the693* Default User Interface (UI) is CLIUIFactory when bzr runs in a dumb
669 BZR_USE_TEXT_UI environment variable (emacs shells, as opposed to694 terminal. It is sometimes desirable do override this default by forcing
670 compile buffers, are such an example).695 bzr to use TextUIFactory. This can be achieved by setting the
671 (Vincent Ladeuil)696 BZR_USE_TEXT_UI environment variable (emacs shells, as opposed to
672697 compile buffers, are such an example).
673 * New API ``Branch.iter_merge_sorted_revisions()`` that iterates over698 (Vincent Ladeuil)
674 ``(revision_id, depth, revno, end_of_merge)`` tuples.699
675 (Ian Clatworthy)700* New API ``Branch.iter_merge_sorted_revisions()`` that iterates over
676701 ``(revision_id, depth, revno, end_of_merge)`` tuples.
677 * New ``Branch.dotted_revno_to_revision_id()`` and702 (Ian Clatworthy)
678 ``Branch.revision_id_to_dotted_revno()`` APIs that pick the most703
679 efficient way of doing the mapping.704* New ``Branch.dotted_revno_to_revision_id()`` and
680 (Ian Clatworthy)705 ``Branch.revision_id_to_dotted_revno()`` APIs that pick the most
681706 efficient way of doing the mapping.
682 * Refactor cmd_serve so that it's a little easier to build commands that707 (Ian Clatworthy)
683 extend it, and perhaps even a bit easier to read. (Jonathan Lange)708
684709* Refactor cmd_serve so that it's a little easier to build commands that
685 * ``TreeDelta.show()`` now accepts a ``filter`` parameter allowing log710 extend it, and perhaps even a bit easier to read. (Jonathan Lange)
686 formatters to retrict the output.711
687 (Vincent Ladeuil)712* ``TreeDelta.show()`` now accepts a ``filter`` parameter allowing log
713 formatters to retrict the output.
714 (Vincent Ladeuil)
688715
689716
690bzr 1.11 "Eyes up!" 2009-01-19717bzr 1.11 "Eyes up!" 2009-01-19
691------------------------------718##############################
692719
693This first monthly release of Bazaar for 2009 improves Bazaar's operation720This first monthly release of Bazaar for 2009 improves Bazaar's operation
694in Windows, Mac OS X, and other situations where file names are matched721in Windows, Mac OS X, and other situations where file names are matched
@@ -703,247 +730,256 @@
703This release also fixes a number of bugs, particularly a glitch that can730This release also fixes a number of bugs, particularly a glitch that can
704occur when there are concurrent writes to a pack repository.731occur when there are concurrent writes to a pack repository.
705732
706 BUG FIXES:733Bug Fixes
707734*********
708 * Fix failing test when CompiledChunksToLines is not available.735
709 (Vincent Ladeuil)736* Fix failing test when CompiledChunksToLines is not available.
710737 (Vincent Ladeuil)
711 * Stacked branches don't repeatedly open their transport connection.738
712 (John Arbash Meinel)739* Stacked branches don't repeatedly open their transport connection.
740 (John Arbash Meinel)
713741
714742
715743
716bzr 1.11rc1 "Eyes up!" 2009-01-09744bzr 1.11rc1 "Eyes up!" 2009-01-09
717---------------------------------745#################################
718746
719 CHANGES:747Changes
720748*******
721 * Formats using Knit-based repository formats are now explicitly749
722 marked as deprecated. (Ian Clatworthy)750* Formats using Knit-based repository formats are now explicitly
723751 marked as deprecated. (Ian Clatworthy)
724 NEW FEATURES:752
725753New Features
726 * Add support for `bzr tags -r 1..2`, that is we now support showing754************
727 tags applicable for a specified revision range. (Marius Kruger)755
728756* Add support for `bzr tags -r 1..2`, that is we now support showing
729 * ``authentication.conf`` now accepts pluggable read-only credential757 tags applicable for a specified revision range. (Marius Kruger)
730 stores. Such a plugin (``netrc_credential_store``) is now included,758
731 handles the ``$HOME/.netrc`` file and can server as an example to759* ``authentication.conf`` now accepts pluggable read-only credential
732 implement other plugins.760 stores. Such a plugin (``netrc_credential_store``) is now included,
733 (Vincent Ladeuil)761 handles the ``$HOME/.netrc`` file and can server as an example to
734762 implement other plugins.
735 * ``shelve --list`` can now be used to list shelved changes.763 (Vincent Ladeuil)
736 (Aaron Bentley)764
737765* ``shelve --list`` can now be used to list shelved changes.
738 IMPROVEMENTS:766 (Aaron Bentley)
739767
740 * Add trailing slash to directories in all output of ``bzr ls``, except768Improvements
741 ``bzr ls --null``. (Gordon P. Hemsley, #306424)769************
742770
743 * ``bzr revision-info`` now supports a -d option to specify an771* Add trailing slash to directories in all output of ``bzr ls``, except
744 alternative branch. (Michael Hudson)772 ``bzr ls --null``. (Gordon P. Hemsley, #306424)
745773
746 * Add connection to a C++ implementation of the Windows Shell Extension774* ``bzr revision-info`` now supports a -d option to specify an
747 which is able to fully replace the current Python implemented one.775 alternative branch. (Michael Hudson)
748 Advantages include 64bit support and reduction in overhead for776
749 processes which drag in shell extensions.777* Add connection to a C++ implementation of the Windows Shell Extension
750 (Mark Hammond)778 which is able to fully replace the current Python implemented one.
751779 Advantages include 64bit support and reduction in overhead for
752 * Support the Claws mail client directly, rather than via780 processes which drag in shell extensions.
753 xdg-email. This prevents the display of an unnecessary modal781 (Mark Hammond)
754 dialog in Claws, informing the user that a file has been782
755 attached to the message, and works around bug #291847 in783* Support the Claws mail client directly, rather than via
756 xdg-utils which corrupts the destination address.784 xdg-email. This prevents the display of an unnecessary modal
757785 dialog in Claws, informing the user that a file has been
758 * When working on a case-insensitive case-preserving file-system, as786 attached to the message, and works around bug #291847 in
759 commonly found with Windows, bzr will often ignore the case of the787 xdg-utils which corrupts the destination address.
760 arguments specified by the user in preference to the case of an existing788
761 item on the file-system or in the inventory to help prevent789* When working on a case-insensitive case-preserving file-system, as
762 counter-intuitive behaviour on Windows. (Mark Hammond)790 commonly found with Windows, bzr will often ignore the case of the
763791 arguments specified by the user in preference to the case of an existing
764 BUG FIXES:792 item on the file-system or in the inventory to help prevent
765 793 counter-intuitive behaviour on Windows. (Mark Hammond)
766 * Allow BzrDir implementation to implement backing up of 794
767 control directory. (#139691)795Bug Fixes
768796*********
769 * ``bzr push`` creating a new stacked branch will now only open a797
770 single connection to the target machine. (John Arbash Meinel)798* Allow BzrDir implementation to implement backing up of
771799 control directory. (#139691)
772 * Don't call iteritems on transport_list_registry, because it may800
773 change during iteration. (Martin Pool, #277048)801* ``bzr push`` creating a new stacked branch will now only open a
774802 single connection to the target machine. (John Arbash Meinel)
775 * Don't make a broken branch when pushing an unstackable-format branch803
776 that's in a stackable shared repository to a location with default804* Don't call iteritems on transport_list_registry, because it may
777 stack-on location. (Andrew Bennetts, #291046)805 change during iteration. (Martin Pool, #277048)
778806
779 * Don't require embedding user in HTTP(S) URLs do use authentication.conf.807* Don't make a broken branch when pushing an unstackable-format branch
780 (Ben Jansen, Vincent Ladeuil, #300347)808 that's in a stackable shared repository to a location with default
781809 stack-on location. (Andrew Bennetts, #291046)
782 * Fix a problem with CIFS client/server lag on windows colliding with810
783 an invariant-per-process algorithm for generating AtomicFile names811* Don't require embedding user in HTTP(S) URLs do use authentication.conf.
784 (Adrian Wilkins, #304023)812 (Ben Jansen, Vincent Ladeuil, #300347)
785813
786 * Fix bogus setUp signature in UnavailableFTPServer.814* Fix a problem with CIFS client/server lag on windows colliding with
787 (Gary van der Merwe, #313498)815 an invariant-per-process algorithm for generating AtomicFile names
788816 (Adrian Wilkins, #304023)
789 * Fix compilation error in ``_dirstate_helpers_c`` on SunOS/Solaris.817
790 (Jari Aalto)818* Fix bogus setUp signature in UnavailableFTPServer.
791819 (Gary van der Merwe, #313498)
792 * Fix SystemError in ``_patiencediff_c`` module by calling820
793 PyErr_NoMemory() before returning NULL in PatienceSequenceMatcher_new.821* Fix compilation error in ``_dirstate_helpers_c`` on SunOS/Solaris.
794 (Andrew Bennetts, #303206)822 (Jari Aalto)
795823
796 * Give proper error message for diff with non-existent dotted revno.824* Fix SystemError in ``_patiencediff_c`` module by calling
797 (Marius Kruger, #301969)825 PyErr_NoMemory() before returning NULL in PatienceSequenceMatcher_new.
798826 (Andrew Bennetts, #303206)
799 * Handle EACCES (permission denied) errors when launching a message827
800 editor, and emit warnings when a configured editor cannot be828* Give proper error message for diff with non-existent dotted revno.
801 started. (Andrew Bennetts)829 (Marius Kruger, #301969)
802830
803 * ``$HOME/.netrc`` file is now recognized as a read-only credential store831* Handle EACCES (permission denied) errors when launching a message
804 if configured in ``authentication.conf`` with 'password_encoding=netrc'832 editor, and emit warnings when a configured editor cannot be
805 in the appropriate sections.833 started. (Andrew Bennetts)
806 (Vincent Ladeuil, #103029)834
807835* ``$HOME/.netrc`` file is now recognized as a read-only credential store
808 * Opening a stacked branch now properly shares the connection, rather836 if configured in ``authentication.conf`` with 'password_encoding=netrc'
809 than opening a new connection for the stacked-on branch.837 in the appropriate sections.
810 (John Arbash meinel)838 (Vincent Ladeuil, #103029)
811839
812 * Preserve transport decorators while following redirections.840* Opening a stacked branch now properly shares the connection, rather
813 (Vincent Ladeuil, #245964, #270863)841 than opening a new connection for the stacked-on branch.
814842 (John Arbash meinel)
815 * Provides a finer and more robust filter for accepted redirections.843
816 (Vincent Ladeuil, #303959, #265070)844* Preserve transport decorators while following redirections.
817845 (Vincent Ladeuil, #245964, #270863)
818 * ``shelve`` paths are now interpreted relative to the current working846
819 tree. (Aaron Bentley)847* Provides a finer and more robust filter for accepted redirections.
820848 (Vincent Ladeuil, #303959, #265070)
821 * ``Transport.readv()`` defaults to not reading more than 100MB in a849
822 single array. Further ``RemoteTransport.readv`` sets this to 5MB to850* ``shelve`` paths are now interpreted relative to the current working
823 work better with how it splits its requests.851 tree. (Aaron Bentley)
824 (John Arbash Meinel, #303538)852
825853* ``Transport.readv()`` defaults to not reading more than 100MB in a
826 * Pack repositories are now able to reload the pack listing and retry854 single array. Further ``RemoteTransport.readv`` sets this to 5MB to
827 the current operation if another action causes the data to be855 work better with how it splits its requests.
828 repacked. (John Arbash Meinel, #153786)856 (John Arbash Meinel, #303538)
829857
830 * ``pull -v`` now respects the log_format configuration variable.858* Pack repositories are now able to reload the pack listing and retry
831 (Aaron Bentley)859 the current operation if another action causes the data to be
832860 repacked. (John Arbash Meinel, #153786)
833 * ``push -v`` now works on non-initial pushes. (Aaron Bentley)861
834862* ``pull -v`` now respects the log_format configuration variable.
835 * Use the short status format when the short format is used for log.863 (Aaron Bentley)
836 (Vincent Ladeuil, #87179)864
837865* ``push -v`` now works on non-initial pushes. (Aaron Bentley)
838 * Allow files to be renamed or moved via remove + add-by-id. (Charles866
839 Duffy, #314251)867* Use the short status format when the short format is used for log.
840868 (Vincent Ladeuil, #87179)
841 DOCUMENTATION:869
842870* Allow files to be renamed or moved via remove + add-by-id. (Charles
843 * Improved the formats help topic to explain why multiple formats871 Duffy, #314251)
844 exist and to provide guidelines in selecting one. Introduced872
845 two new supporting help topics: current-formats and other-formats.873Documentation
846 (Ian Clatworthy)874*************
847875
848 API CHANGES:876* Improved the formats help topic to explain why multiple formats
849877 exist and to provide guidelines in selecting one. Introduced
850 * ``LRUCache(after_cleanup_size)`` was renamed to878 two new supporting help topics: current-formats and other-formats.
851 ``after_cleanup_count`` and the old name deprecated. The new name is879 (Ian Clatworthy)
852 used for clarity, and to avoid confusion with880
853 ``LRUSizeCache(after_cleanup_size)``. (John Arbash Meinel)881API Changes
854882***********
855 * New ``ForeignRepository`` base class, to help with foreign branch 883
856 support (e.g. svn). (Jelmer Vernooij)884* ``LRUCache(after_cleanup_size)`` was renamed to
857885 ``after_cleanup_count`` and the old name deprecated. The new name is
858 * ``node_distances`` and ``select_farthest`` can no longer be imported886 used for clarity, and to avoid confusion with
859 from ``bzrlib.graph``. They can still be imported from887 ``LRUSizeCache(after_cleanup_size)``. (John Arbash Meinel)
860 ``bzrlib.deprecated_graph``, which has been the preferred way to888
861 import them since before 1.0. (Andrew Bennetts)889* New ``ForeignRepository`` base class, to help with foreign branch
862 890 support (e.g. svn). (Jelmer Vernooij)
863 * The logic in commit now delegates inventory basis calculations to891
864 the ``CommitBuilder`` object; this requires that the commit builder892* ``node_distances`` and ``select_farthest`` can no longer be imported
865 in use has been updated to support the new ``recording_deletes`` and893 from ``bzrlib.graph``. They can still be imported from
866 ``record_delete`` methods. (Robert Collins)894 ``bzrlib.deprecated_graph``, which has been the preferred way to
867895 import them since before 1.0. (Andrew Bennetts)
868 TESTING:896
869897* The logic in commit now delegates inventory basis calculations to
870 * An HTTPS server is now available (it requires python-2.6). Future bzr898 the ``CommitBuilder`` object; this requires that the commit builder
871 versions will allow the use of the python-2.6 ssl module that can be899 in use has been updated to support the new ``recording_deletes`` and
872 installed for 2.5 and 2.4.900 ``record_delete`` methods. (Robert Collins)
873901
874 * ``bzr selftest`` now fails if new trailing white space is added to902Testing
875 the bazaar sources. It only checks changes not committed yet. This903*******
876 means that PQM will now reject changes that introduce new trailing904
877 whitespace. (Marius Kruger)905* An HTTPS server is now available (it requires python-2.6). Future bzr
878906 versions will allow the use of the python-2.6 ssl module that can be
879 * Introduced new experimental formats called ``1.12-preview`` and907 installed for 2.5 and 2.4.
880 ``1.12-preview-rich-root`` to enable testing of related pending908
881 features, namely content filtering and filtered views.909* ``bzr selftest`` now fails if new trailing white space is added to
882 (Ian Clatworthy)910 the bazaar sources. It only checks changes not committed yet. This
883911 means that PQM will now reject changes that introduce new trailing
884 INTERNALS:912 whitespace. (Marius Kruger)
885913
886 * Added an ``InventoryEntry`` cache when deserializing inventories.914* Introduced new experimental formats called ``1.12-preview`` and
887 Can cut the time to iterate over multiple RevisionsTrees in half.915 ``1.12-preview-rich-root`` to enable testing of related pending
888 (John Arbash Meinel)916 features, namely content filtering and filtered views.
889917 (Ian Clatworthy)
890 * Added ``bzrlib.fifo_cache.FIFOCache`` which is designed to have918
891 minimal overhead versus using a plain dict for cache hits, at the919Internals
892 cost of not preserving the 'active' set as well as an ``LRUCache``.920*********
893 (John Arbash Meinel)921
894922* Added an ``InventoryEntry`` cache when deserializing inventories.
895 * ``bzrlib.patience_diff.unified_diff`` now properly uses a tab923 Can cut the time to iterate over multiple RevisionsTrees in half.
896 character to separate the filename from the date stamp, and doesn't924 (John Arbash Meinel)
897 add trailing whitespace when a date stamp is not supplied.925
898 (Adeodato Simó, John Arbash Meinel)926* Added ``bzrlib.fifo_cache.FIFOCache`` which is designed to have
899927 minimal overhead versus using a plain dict for cache hits, at the
900 * ``DirStateWorkingTree`` and ``DirStateWorkingTreeFormat`` added928 cost of not preserving the 'active' set as well as an ``LRUCache``.
901 as base classes of ``WorkingTree4`` and ``WorkingTreeFormat4``929 (John Arbash Meinel)
902 respectively. (Ian Clatworthy)930
903931* ``bzrlib.patience_diff.unified_diff`` now properly uses a tab
904 * ``KnitVersionedFiles._check_should_delta()`` now uses the932 character to separate the filename from the date stamp, and doesn't
905 ``get_build_details`` api to avoid multiple hits to the index, and933 add trailing whitespace when a date stamp is not supplied.
906 to properly follow the ``compression_parent`` rather than assuming934 (Adeodato Simó, John Arbash Meinel)
907 it is the left-hand parent. (John Arbash Meinel)935
908936* ``DirStateWorkingTree`` and ``DirStateWorkingTreeFormat`` added
909 * ``KnitVersionedFiles.get_record_stream()`` will now chose a937 as base classes of ``WorkingTree4`` and ``WorkingTreeFormat4``
910 more optimal ordering when the keys are requested 'unordered'.938 respectively. (Ian Clatworthy)
911 Previously the order was fully random, now the records should be939
912 returned from each pack in turn, in forward I/O order.940* ``KnitVersionedFiles._check_should_delta()`` now uses the
913 (John Arbash Meinel)941 ``get_build_details`` api to avoid multiple hits to the index, and
942 to properly follow the ``compression_parent`` rather than assuming
943 it is the left-hand parent. (John Arbash Meinel)
944
945* ``KnitVersionedFiles.get_record_stream()`` will now chose a
946 more optimal ordering when the keys are requested 'unordered'.
947 Previously the order was fully random, now the records should be
948 returned from each pack in turn, in forward I/O order.
949 (John Arbash Meinel)
914 950
915 * ``mutter()`` will now flush the ``~/.bzr.log`` if it has been more951* ``mutter()`` will now flush the ``~/.bzr.log`` if it has been more
916 than 2s since the last time it flushed. (John Arbash Meinel)952 than 2s since the last time it flushed. (John Arbash Meinel)
917953
918 * New method ``bzrlib.repository.Repository.add_inventory_by_delta``954* New method ``bzrlib.repository.Repository.add_inventory_by_delta``
919 allows adding an inventory via an inventory delta, which can be955 allows adding an inventory via an inventory delta, which can be
920 more efficient for some repository types. (Robert Collins)956 more efficient for some repository types. (Robert Collins)
921957
922 * Repository ``CommitBuilder`` objects can now accumulate an inventory958* Repository ``CommitBuilder`` objects can now accumulate an inventory
923 delta. To enable this functionality call ``builder.recording_deletes``959 delta. To enable this functionality call ``builder.recording_deletes``
924 and additionally call ``builder.record_delete`` when a delete960 and additionally call ``builder.record_delete`` when a delete
925 against the basis occurs. (Robert Collins)961 against the basis occurs. (Robert Collins)
926962
927 * The default http handler has been changed from pycurl to urllib.963* The default http handler has been changed from pycurl to urllib.
928 The default is still pycurl for https connections. (The only964 The default is still pycurl for https connections. (The only
929 advantage of pycurl is that it checks ssl certificates.)965 advantage of pycurl is that it checks ssl certificates.)
930 (John Arbash Meinel)966 (John Arbash Meinel)
931967
932 * ``VersionedFiles.get_record_stream()`` can now return objects with a968* ``VersionedFiles.get_record_stream()`` can now return objects with a
933 storage_kind of ``chunked``. This is a collection (list/tuple) of969 storage_kind of ``chunked``. This is a collection (list/tuple) of
934 strings. You can use ``osutils.chunks_to_lines()`` to turn them into970 strings. You can use ``osutils.chunks_to_lines()`` to turn them into
935 guaranteed 'lines' or you can use ``''.join(chunks)`` to turn it971 guaranteed 'lines' or you can use ``''.join(chunks)`` to turn it
936 into a fulltext. This allows for some very good memory savings when972 into a fulltext. This allows for some very good memory savings when
937 asking for many texts that share ancestry, as the individual chunks973 asking for many texts that share ancestry, as the individual chunks
938 can be shared between versions of the file. (John Arbash Meinel)974 can be shared between versions of the file. (John Arbash Meinel)
939975
940 * ``pull -v`` and ``push -v`` use new function976* ``pull -v`` and ``push -v`` use new function
941 ``bzrlib.log.show_branch_change`` (Aaron Bentley)977 ``bzrlib.log.show_branch_change`` (Aaron Bentley)
942978
943979
944980
945bzr 1.10 2008-12-05981bzr 1.10 2008-12-05
946-------------------982###################
947983
948Bazaar 1.10 has several performance improvements for copying revisions984Bazaar 1.10 has several performance improvements for copying revisions
949(especially for small updates to large projects). There has also been a985(especially for small updates to large projects). There has also been a
@@ -953,22 +989,23 @@
953989
954The only changes versus bzr-1.10rc1 are bugfixes for stacked branches.990The only changes versus bzr-1.10rc1 are bugfixes for stacked branches.
955991
956 BUG FIXES:992bug Fixes
957993*********
958 * Don't set a pack write cache size from RepoFetcher, because the994
959 cache is not coherent with reads and causes ShortReadvErrors.995* Don't set a pack write cache size from RepoFetcher, because the
960 This reverses the change that fixed #294479.996 cache is not coherent with reads and causes ShortReadvErrors.
961 (Martin Pool, #303856)997 This reverses the change that fixed #294479.
962998 (Martin Pool, #303856)
963 * Properly handle when a revision can be inserted as a delta versus999
964 when it needs to be expanded to a fulltext for stacked branches.1000* Properly handle when a revision can be inserted as a delta versus
965 There was a bug involving merge revisions. As a method to help1001 when it needs to be expanded to a fulltext for stacked branches.
966 prevent future difficulties, also make stacked fetches sort1002 There was a bug involving merge revisions. As a method to help
967 topologically. (John Arbash Meinel, #304841)1003 prevent future difficulties, also make stacked fetches sort
1004 topologically. (John Arbash Meinel, #304841)
9681005
9691006
970bzr 1.10rc1 2008-11-281007bzr 1.10rc1 2008-11-28
971----------------------1008######################
9721009
973This release of Bazaar focuses on performance improvements when pushing1010This release of Bazaar focuses on performance improvements when pushing
974and pulling revisions, both locally and to remote networks. The popular1011and pulling revisions, both locally and to remote networks. The popular
@@ -976,115 +1013,120 @@
976restore work in progress, have been merged from bzrtools into the bzr1013restore work in progress, have been merged from bzrtools into the bzr
977core. There are also bug fixes for portability, and for stacked branches.1014core. There are also bug fixes for portability, and for stacked branches.
9781015
979 NEW FEATURES:1016New Features
9801017************
981 * New ``commit_message_template`` hook that is called by the commit1018
982 code to generate a template commit message. (Jelmer Vernooij)1019* New ``commit_message_template`` hook that is called by the commit
9831020 code to generate a template commit message. (Jelmer Vernooij)
984 * New `shelve` and `unshelve` commands allow undoing and redoing changes.1021
985 (Aaron Bentley)1022* New `shelve` and `unshelve` commands allow undoing and redoing changes.
9861023 (Aaron Bentley)
987 IMPROVEMENTS:1024
9881025Improvements
989 * ``(Remote)Branch.copy_content_into`` no longer generates the full revision1026************
990 history just to set the last revision info.1027
991 (Andrew Bennetts, John Arbash Meinel)1028* ``(Remote)Branch.copy_content_into`` no longer generates the full revision
9921029 history just to set the last revision info.
993 * Fetches between formats with different serializers (such as1030 (Andrew Bennetts, John Arbash Meinel)
994 pack-0.92-subtree and 1.9-rich-root) are faster now. This is due to1031
995 operating on batches of 100 revisions at time rather than1032* Fetches between formats with different serializers (such as
996 one-by-one. (Andrew Bennetts, John Arbash Meinel)1033 pack-0.92-subtree and 1.9-rich-root) are faster now. This is due to
9971034 operating on batches of 100 revisions at time rather than
998 * Search index files corresponding to pack files we've already used1035 one-by-one. (Andrew Bennetts, John Arbash Meinel)
999 before searching others, because they are more likely to have the1036
1000 keys we're looking for. This reduces the number of iix and tix1037* Search index files corresponding to pack files we've already used
1001 files accessed when pushing 1 new revision, for instance.1038 before searching others, because they are more likely to have the
1002 (John Arbash Meinel)1039 keys we're looking for. This reduces the number of iix and tix
10031040 files accessed when pushing 1 new revision, for instance.
1004 * Signatures to transfer are calculated more efficiently in1041 (John Arbash Meinel)
1005 ``item_keys_introduced_by``. (Andrew Bennetts, John Arbash Meinel)1042
10061043* Signatures to transfer are calculated more efficiently in
1007 * The generic fetch code can once again copy revisions and signatures1044 ``item_keys_introduced_by``. (Andrew Bennetts, John Arbash Meinel)
1008 without extracting them completely to fulltexts and then serializing1045
1009 them back down into byte strings. This is a significant performance1046* The generic fetch code can once again copy revisions and signatures
1010 improvement when fetching from a stacked branch.1047 without extracting them completely to fulltexts and then serializing
1011 (John Arbash Meinel, #300289)1048 them back down into byte strings. This is a significant performance
10121049 improvement when fetching from a stacked branch.
1013 * When making a large readv() request over ``bzr+ssh``, break up the1050 (John Arbash Meinel, #300289)
1014 request into more manageable chunks. Because the RPC is not yet able1051
1015 to stream, this helps keep us from buffering too much information at1052* When making a large readv() request over ``bzr+ssh``, break up the
1016 once. (John Arbash Meinel)1053 request into more manageable chunks. Because the RPC is not yet able
10171054 to stream, this helps keep us from buffering too much information at
1018 BUG FIXES:1055 once. (John Arbash Meinel)
10191056
1020 * Better message when the user needs to set their Launchpad ID.1057Bug Fixes
1021 (Martin Pool, #289148)1058*********
10221059
1023 * ``bzr commit --local`` doesn't access the master branch anymore.1060* Better message when the user needs to set their Launchpad ID.
1024 This fixes a regression introduced in 1.9. (Marius Kruger, #299313)1061 (Martin Pool, #289148)
10251062
1026 * Don't call the system ``chdir()`` with an empty path. Sun OS seems1063* ``bzr commit --local`` doesn't access the master branch anymore.
1027 to give an error in that case. Also, don't count on ``getcwd()``1064 This fixes a regression introduced in 1.9. (Marius Kruger, #299313)
1028 being able to allocate a new buffer, which is a gnu extension.1065
1029 (John Arbash Meinel, Martin Pool, Harry Hirsch, #297831)1066* Don't call the system ``chdir()`` with an empty path. Sun OS seems
10301067 to give an error in that case. Also, don't count on ``getcwd()``
1031 * Don't crash when requesting log --forward <file> for a revision range1068 being able to allocate a new buffer, which is a gnu extension.
1032 starting with a dotted revno.1069 (John Arbash Meinel, Martin Pool, Harry Hirsch, #297831)
1033 (Vincent Ladeuil, #300055)1070
10341071* Don't crash when requesting log --forward <file> for a revision range
1035 * Don't create text deltas spanning stacked repositories; this could1072 starting with a dotted revno.
1036 cause "Revision X not present in Y" when later accessing them.1073 (Vincent Ladeuil, #300055)
1037 (Martin Pool, #288751)1074
10381075* Don't create text deltas spanning stacked repositories; this could
1039 * Pack repositories are now able to reload the pack listing and retry1076 cause "Revision X not present in Y" when later accessing them.
1040 the current operation if another action causes the data to be1077 (Martin Pool, #288751)
1041 repacked. (John Arbash Meinel, #153786)1078
10421079* Pack repositories are now able to reload the pack listing and retry
1043 * PermissionDenied errors from smart servers no longer cause1080 the current operation if another action causes the data to be
1044 "PermissionDenied: "None"" on the client.1081 repacked. (John Arbash Meinel, #153786)
1045 (Andrew Bennetts, #299254)1082
10461083* PermissionDenied errors from smart servers no longer cause
1047 * Pushing to a stacked pack repository now batches writes, the same1084 "PermissionDenied: "None"" on the client.
1048 way writes are batched to ordinary pack repository. This makes1085 (Andrew Bennetts, #299254)
1049 pushing to a stacked branch over the network much faster.1086
1050 (Andrew Bennetts, #294479)1087* Pushing to a stacked pack repository now batches writes, the same
10511088 way writes are batched to ordinary pack repository. This makes
1052 * TooManyConcurrentRequests no longer occur when a fetch fails and1089 pushing to a stacked branch over the network much faster.
1053 tries to abort a write group. This allows the root cause (e.g. a1090 (Andrew Bennetts, #294479)
1054 network interruption) to be reported. (Andrew Bennetts, #297014)1091
10551092* TooManyConcurrentRequests no longer occur when a fetch fails and
1056 * RemoteRepository.get_parent_map now uses fallback repositories.1093 tries to abort a write group. This allows the root cause (e.g. a
1057 (Aaron Bentley, #297991?, #293679?)1094 network interruption) to be reported. (Andrew Bennetts, #297014)
10581095
1059 API CHANGES:1096* RemoteRepository.get_parent_map now uses fallback repositories.
10601097 (Aaron Bentley, #297991?, #293679?)
1061 * ``CommitBuilder`` now validates the strings it will be committing,1098
1062 to ensure that they do not have characters that will not be properly1099API Changes
1063 round-tripped. For now, it just checks for characters that are1100***********
1064 invalid in the XML form. (John Arbash Meinel, #295161)1101
10651102* ``CommitBuilder`` now validates the strings it will be committing,
1066 * Constructor parameters for NewPack (internal to pack repositories)1103 to ensure that they do not have characters that will not be properly
1067 have changed incompatibly.1104 round-tripped. For now, it just checks for characters that are
10681105 invalid in the XML form. (John Arbash Meinel, #295161)
1069 * ``Repository.abort_write_group`` now accepts an optional1106
1070 ``suppress_errors`` flag. Repository implementations that override1107* Constructor parameters for NewPack (internal to pack repositories)
1071 ``abort_write_group`` will need to be updated to accept the new1108 have changed incompatibly.
1072 argument. Subclasses that only override ``_abort_write_group``1109
1073 don't need to change.1110* ``Repository.abort_write_group`` now accepts an optional
10741111 ``suppress_errors`` flag. Repository implementations that override
1075 * Transport implementations must provide copy_tree_to_transport. A default1112 ``abort_write_group`` will need to be updated to accept the new
1076 implementation is provided for Transport subclasses.1113 argument. Subclasses that only override ``_abort_write_group``
10771114 don't need to change.
1078 TESTING:1115
10791116* Transport implementations must provide copy_tree_to_transport. A default
1080 * ``bzr selftest`` now fails if no doctests are found in a module1117 implementation is provided for Transport subclasses.
1081 that's expected to have them. (Martin Pool)1118
10821119Testing
1083 * Doctests now only report the first failure. (Martin Pool)1120*******
1121
1122* ``bzr selftest`` now fails if no doctests are found in a module
1123 that's expected to have them. (Martin Pool)
1124
1125* Doctests now only report the first failure. (Martin Pool)
10841126
10851127
1086bzr 1.9 2008-11-071128bzr 1.9 2008-11-07
1087------------------1129##################
10881130
1089This release of Bazaar adds a new repository format, ``1.9``, with smaller1131This release of Bazaar adds a new repository format, ``1.9``, with smaller
1090and more efficient index files. This format can be specified when1132and more efficient index files. This format can be specified when
@@ -1093,132 +1135,139 @@
1093protocol, makes annotate faster, and uses less memory when making1135protocol, makes annotate faster, and uses less memory when making
1094checkouts or pulling large amounts of data.1136checkouts or pulling large amounts of data.
10951137
1096 BUG FIXES:1138Bug Fixes
10971139*********
1098 * Fix "invalid property value 'branch-nick' for None" regression with1140
1099 branches bound to svn branches. (Martin Pool, #293440)1141* Fix "invalid property value 'branch-nick' for None" regression with
11001142 branches bound to svn branches. (Martin Pool, #293440)
1101 * Fix SSL/https on Python2.6. (Vincent Ladeuil, #293054)1143
11021144* Fix SSL/https on Python2.6. (Vincent Ladeuil, #293054)
1103 * ``SFTPTransport.readv()`` had a bug when requests were out-of-order.1145
1104 This only triggers some-of-the-time on Knit format repositories.1146* ``SFTPTransport.readv()`` had a bug when requests were out-of-order.
1105 (John Arbash Meinel, #293746)1147 This only triggers some-of-the-time on Knit format repositories.
1148 (John Arbash Meinel, #293746)
11061149
11071150
1108bzr 1.9rc1 2008-10-311151bzr 1.9rc1 2008-10-31
1109---------------------1152#####################
11101153
1111 NEW FEATURES:1154New Features
11121155************
1113 * New Branch hook ``transform_fallback_location`` allows a function to1156
1114 be called when looking up the stacked source. (Michael Hudson)1157* New Branch hook ``transform_fallback_location`` allows a function to
11151158 be called when looking up the stacked source. (Michael Hudson)
1116 * New repository formats ``1.9`` and ``1.9-rich-root``. These have all1159
1117 the functionality of ``1.6``, but use the new btree indexes.1160* New repository formats ``1.9`` and ``1.9-rich-root``. These have all
1118 These indexes are both smaller and faster for access to historical1161 the functionality of ``1.6``, but use the new btree indexes.
1119 information. (John Arbash Meinel)1162 These indexes are both smaller and faster for access to historical
11201163 information. (John Arbash Meinel)
1121 IMPROVEMENTS:1164
11221165Improvements
1123 * ``BTreeIndex`` code now is able to prefetch extra pages to help tune1166************
1124 the tradeoff between bandwidth and latency. Should be tuned1167
1125 appropriately to not impact commands which need minimal information,1168* ``BTreeIndex`` code now is able to prefetch extra pages to help tune
1126 but provide a significant boost to ones that need more context. Only1169 the tradeoff between bandwidth and latency. Should be tuned
1127 has a direct impact on the ``--development2`` format which uses1170 appropriately to not impact commands which need minimal information,
1128 btree's for the indexes. (John Arbash Meinel)1171 but provide a significant boost to ones that need more context. Only
11291172 has a direct impact on the ``--development2`` format which uses
1130 * ``bzr dump-btree`` is a hidden command introduced to allow dumping1173 btree's for the indexes. (John Arbash Meinel)
1131 the contents of a compressed btree file. (John Arbash Meinel)1174
11321175* ``bzr dump-btree`` is a hidden command introduced to allow dumping
1133 * ``bzr pack`` now tells the index builders to optimize for size. For1176 the contents of a compressed btree file. (John Arbash Meinel)
1134 btree index repositories, this can save 25% of the index size1177
1135 (mostly in the text indexes). (John Arbash Meinel)1178* ``bzr pack`` now tells the index builders to optimize for size. For
11361179 btree index repositories, this can save 25% of the index size
1137 * ``bzr push`` to an existing branch or repository on a smart server1180 (mostly in the text indexes). (John Arbash Meinel)
1138 is faster, due to Bazaar making more use of the ``get_parent_map``1181
1139 RPC when querying the remote branch's revision graph.1182* ``bzr push`` to an existing branch or repository on a smart server
1140 (Andrew Bennetts)1183 is faster, due to Bazaar making more use of the ``get_parent_map``
11411184 RPC when querying the remote branch's revision graph.
1142 * default username for bzr+ssh and sftp can be configured in1185 (Andrew Bennetts)
1143 authentication.conf. (Aaron Bentley)1186
11441187* default username for bzr+ssh and sftp can be configured in
1145 * launchpad-login now provides a default username for bzr+ssh and sftp1188 authentication.conf. (Aaron Bentley)
1146 URLs, allowing username-free URLs to work for everyone. (Aaron Bentley)1189
11471190* launchpad-login now provides a default username for bzr+ssh and sftp
1148 * ``lp:`` lookups no longer include usernames, making them shareable and1191 URLs, allowing username-free URLs to work for everyone. (Aaron Bentley)
1149 shorter. (Aaron Bentley)1192
11501193* ``lp:`` lookups no longer include usernames, making them shareable and
1151 * New ``PackRepository.autopack`` smart server RPC, which does1194 shorter. (Aaron Bentley)
1152 autopacking entirely on the server. This is much faster than1195
1153 autopacking via plain file methods, which downloads a large amount1196* New ``PackRepository.autopack`` smart server RPC, which does
1154 of pack data and then re-uploads the same pack data into a single1197 autopacking entirely on the server. This is much faster than
1155 file. This fixes a major (although infrequent) cause of lengthy1198 autopacking via plain file methods, which downloads a large amount
1156 delays when using a smart server. For example, pushing the 10th1199 of pack data and then re-uploads the same pack data into a single
1157 revision to a repository with 9 packs now takes 44 RPCs rather than1200 file. This fixes a major (although infrequent) cause of lengthy
1158 179, and much less bandwidth too. This requires Bazaar 1.9 on both1201 delays when using a smart server. For example, pushing the 10th
1159 the client and the server, otherwise the client will fallback to the1202 revision to a repository with 9 packs now takes 44 RPCs rather than
1160 slower method. (Andrew Bennetts)1203 179, and much less bandwidth too. This requires Bazaar 1.9 on both
11611204 the client and the server, otherwise the client will fallback to the
1162 BUG FIXES:1205 slower method. (Andrew Bennetts)
11631206
1164 * A failure to load a plugin due to an IncompatibleAPI exception is1207Bug Fixes
1165 now correctly reported. (Robert Collins, #279451)1208*********
11661209
1167 * API versioning support now has a multiple-version checking api1210* A failure to load a plugin due to an IncompatibleAPI exception is
1168 ``require_any_api``. (Robert Collins, #279447)1211 now correctly reported. (Robert Collins, #279451)
11691212
1170 * ``bzr branch --stacked`` from a smart server to a standalone branch1213* API versioning support now has a multiple-version checking api
1171 works again. This fixes a regression in 1.7 and 1.8.1214 ``require_any_api``. (Robert Collins, #279447)
1172 (Andrew Bennetts, #270397)1215
11731216* ``bzr branch --stacked`` from a smart server to a standalone branch
1174 * ``bzr co`` uses less memory. It used to unpack the entire WT into1217 works again. This fixes a regression in 1.7 and 1.8.
1175 memory before writing it to disk. This was a little bit faster, but1218 (Andrew Bennetts, #270397)
1176 consumed lots of memory. (John Arbash Meinel, #269456)1219
11771220* ``bzr co`` uses less memory. It used to unpack the entire WT into
1178 * ``bzr missing --quiet`` no longer prints messages about whether1221 memory before writing it to disk. This was a little bit faster, but
1179 there are missing revisions. The exit code indicates whether there1222 consumed lots of memory. (John Arbash Meinel, #269456)
1180 were or not. (Martin Pool, #284748)1223
11811224* ``bzr missing --quiet`` no longer prints messages about whether
1182 * Fixes to the ``annotate`` code. The fast-path which re-used the1225 there are missing revisions. The exit code indicates whether there
1183 stored deltas was accidentally disabled all the time, instead of1226 were or not. (Martin Pool, #284748)
1184 only when a branch was stacked. Second, the code would accidentally1227
1185 re-use a delta even if it wasn't against the left-parent, this1228* Fixes to the ``annotate`` code. The fast-path which re-used the
1186 could only happen if ``bzr reconcile`` decided that the parent1229 stored deltas was accidentally disabled all the time, instead of
1187 ordering was incorrect in the file graph. (John Arbash Meinel)1230 only when a branch was stacked. Second, the code would accidentally
11881231 re-use a delta even if it wasn't against the left-parent, this
1189 * "Permission denied" errors that occur when pushing a new branch to a1232 could only happen if ``bzr reconcile`` decided that the parent
1190 smart server no longer cause tracebacks. (Andrew Bennetts, #278673)1233 ordering was incorrect in the file graph. (John Arbash Meinel)
11911234
1192 * Some compatibility fixes for building the extensions with MSVC and1235* "Permission denied" errors that occur when pushing a new branch to a
1193 for python2.4. (John Arbash Meinel, #277484)1236 smart server no longer cause tracebacks. (Andrew Bennetts, #278673)
11941237
1195 * The index logic is now able to reload the list of pack files if and1238* Some compatibility fixes for building the extensions with MSVC and
1196 index ends up disappearing. We still don't reload if the pack data1239 for python2.4. (John Arbash Meinel, #277484)
1197 itself goes missing after checking the index. This bug appears as a1240
1198 transient failure (file not found) when another process is writing1241* The index logic is now able to reload the list of pack files if and
1199 to the repository. (John Arbash Meinel, #153786)1242 index ends up disappearing. We still don't reload if the pack data
12001243 itself goes missing after checking the index. This bug appears as a
1201 * ``bzr switch`` and ``bzr bind`` will now update the branch nickname if1244 transient failure (file not found) when another process is writing
1202 it was previously set. All checkouts will now refer to the bound branch1245 to the repository. (John Arbash Meinel, #153786)
1203 for a nickname if one was not explicitly set.1246
1204 (Marius Kruger, #230903)1247* ``bzr switch`` and ``bzr bind`` will now update the branch nickname if
12051248 it was previously set. All checkouts will now refer to the bound branch
1206 DOCUMENTATION:1249 for a nickname if one was not explicitly set.
12071250 (Marius Kruger, #230903)
1208 * Improved hook documentation. (Michael Ernst)1251
12091252Documentation
1210 API CHANGES:1253*************
12111254
1212 * commands.plugins_cmds is now a CommandRegistry, not a dict.1255* Improved hook documentation. (Michael Ernst)
12131256
1214 INTERNALS:1257API Changes
12151258***********
1216 * New AuthenticationConfig.set_credentials method allows easy programmatic1259
1217 configuration of authetication credentials.1260* commands.plugins_cmds is now a CommandRegistry, not a dict.
1261
1262Internals
1263*********
1264
1265* New AuthenticationConfig.set_credentials method allows easy programmatic
1266 configuration of authetication credentials.
12181267
12191268
1220bzr 1.8 2008-10-161269bzr 1.8 2008-10-16
1221------------------1270##################
12221271
1223Bazaar 1.8 includes several fixes that improve working tree performance,1272Bazaar 1.8 includes several fixes that improve working tree performance,
1224display of revision logs, and merges. The bzr testsuite now passes on OS1273display of revision logs, and merges. The bzr testsuite now passes on OS
@@ -1226,231 +1275,242 @@
1226smartserver code has gained several bug fixes and performance1275smartserver code has gained several bug fixes and performance
1227improvements, and can now run server-side hooks within an http server.1276improvements, and can now run server-side hooks within an http server.
12281277
1229 BUG FIXES:1278Bug Fixes
12301279*********
1231 * Fix "Must end write group" error when another error occurs during1280
1232 ``bzr push``. (Andrew Bennetts, #230902)1281* Fix "Must end write group" error when another error occurs during
12331282 ``bzr push``. (Andrew Bennetts, #230902)
1234 PORTABILITY:1283
12351284Portability
1236 * Some Pyrex versions require the WIN32 macro defined to compile on1285***********
1237 that platform. (Alexander Belchenko, Martin Pool, #277481)1286
1287* Some Pyrex versions require the WIN32 macro defined to compile on
1288 that platform. (Alexander Belchenko, Martin Pool, #277481)
12381289
12391290
1240bzr 1.8rc1 2008-10-071291bzr 1.8rc1 2008-10-07
1241---------------------1292#####################
12421293
1243 CHANGES:1294Changes
12441295*******
1245 * ``bzr log file`` has been changed. It now uses a different method1296
1246 for determining which revisions to show as merging the changes to1297* ``bzr log file`` has been changed. It now uses a different method
1247 the file. It now only shows revisions which merged the change1298 for determining which revisions to show as merging the changes to
1248 towards your mainline. This simplifies the output, makes it faster,1299 the file. It now only shows revisions which merged the change
1249 and reduces memory consumption. (John Arbash Meinel)1300 towards your mainline. This simplifies the output, makes it faster,
12501301 and reduces memory consumption. (John Arbash Meinel)
1251 * ``bzr merge`` now defaults to having ``--reprocess`` set, whenever1302
1252 ``--show-base`` is not supplied. (John Arbash Meinel)1303* ``bzr merge`` now defaults to having ``--reprocess`` set, whenever
12531304 ``--show-base`` is not supplied. (John Arbash Meinel)
1254 * ``bzr+http//`` will now optionally load plugins and write logs on the1305
1255 server. (Marius Kruger)1306* ``bzr+http//`` will now optionally load plugins and write logs on the
12561307 server. (Marius Kruger)
1257 * ``bzrlib._dirstate_helpers_c.pyx`` does not compile correctly with1308
1258 Pyrex 0.9.4.1 (it generates C code which causes segfaults). We1309* ``bzrlib._dirstate_helpers_c.pyx`` does not compile correctly with
1259 explicitly blacklist that version of the compiler for that1310 Pyrex 0.9.4.1 (it generates C code which causes segfaults). We
1260 extension. Packaged versions will include .c files created with1311 explicitly blacklist that version of the compiler for that
1261 pyrex >= 0.9.6 so it doesn't effect releases, only users running1312 extension. Packaged versions will include .c files created with
1262 from the source tree. (John Arbash Meinel, #276868)1313 pyrex >= 0.9.6 so it doesn't effect releases, only users running
12631314 from the source tree. (John Arbash Meinel, #276868)
1264 FEATURES:1315
12651316Features
1266 * bzr is now compatible with python-2.6. python-2.6 is not yet officially1317********
1267 supported (nor released, tests were conducted with the dev version of1318
1268 python-2.6rc2), but all known problems have been fixed. Feedback1319* bzr is now compatible with python-2.6. python-2.6 is not yet officially
1269 welcome.1320 supported (nor released, tests were conducted with the dev version of
1270 (Vincent Ladeuil, #269535)1321 python-2.6rc2), but all known problems have been fixed. Feedback
12711322 welcome.
1272 IMPROVEMENTS:1323 (Vincent Ladeuil, #269535)
12731324
1274 * ``bzr annotate`` will now include uncommitted changes from the local1325Improvements
1275 working tree by default. Such uncommitted changes are given the1326************
1276 revision number they would get if a commit was done, followed with a1327
1277 ? to indicate that its not actually known. (Robert Collins, #3439)1328* ``bzr annotate`` will now include uncommitted changes from the local
12781329 working tree by default. Such uncommitted changes are given the
1279 * ``bzr branch`` now accepts a ``--standalone`` option, which creates a1330 revision number they would get if a commit was done, followed with a
1280 standalone branch regardless of the presence of shared repositories.1331 ? to indicate that its not actually known. (Robert Collins, #3439)
1281 (Daniel Watkins)1332
12821333* ``bzr branch`` now accepts a ``--standalone`` option, which creates a
1283 * ``bzr push`` is faster in the case there are no new revisions to1334 standalone branch regardless of the presence of shared repositories.
1284 push. It is also faster if there are no tags in the local branch.1335 (Daniel Watkins)
1285 (Andrew Bennetts)1336
12861337* ``bzr push`` is faster in the case there are no new revisions to
1287 * File changes during a commit will update the tree stat cache.1338 push. It is also faster if there are no tags in the local branch.
1288 (Robert Collins)1339 (Andrew Bennetts)
12891340
1290 * Location aliases can now accept a trailing path. (Micheal Hudson)1341* File changes during a commit will update the tree stat cache.
12911342 (Robert Collins)
1292 * New hooks ``Lock.hooks`` when LockDirs are acquired and released.1343
1293 (Robert Collins, MartinPool)1344* Location aliases can now accept a trailing path. (Micheal Hudson)
12941345
1295 * Switching in heavyweight checkouts uses the master branch's context, not1346* New hooks ``Lock.hooks`` when LockDirs are acquired and released.
1296 the checkout's context. (Adrian Wilkins)1347 (Robert Collins, MartinPool)
12971348
1298 * ``status`` on large trees is now faster, due to optimisations in the1349* Switching in heavyweight checkouts uses the master branch's context, not
1299 walkdirs code. Of particular note, the walkdirs code now performs1350 the checkout's context. (Adrian Wilkins)
1300 a temporary ``chdir()`` while reading a single directory; if your1351
1301 platform has non thread-local current working directories (and is1352* ``status`` on large trees is now faster, due to optimisations in the
1302 not windows which has its own implementation), this may introduce a1353 walkdirs code. Of particular note, the walkdirs code now performs
1303 race condition during concurrent uses of bzrlib. The bzrlib CLI1354 a temporary ``chdir()`` while reading a single directory; if your
1304 will not encounter this as it is single threaded for working tree1355 platform has non thread-local current working directories (and is
1305 operations. (Robert Collins)1356 not windows which has its own implementation), this may introduce a
13061357 race condition during concurrent uses of bzrlib. The bzrlib CLI
1307 * The C extensions now build on python 2.4 (Robert Collins, #271939)1358 will not encounter this as it is single threaded for working tree
13081359 operations. (Robert Collins)
1309 * The ``-Dhpss`` debug flag now reports the number of smart server1360
1310 calls per medium to stderr. This is in addition to the existing1361* The C extensions now build on python 2.4 (Robert Collins, #271939)
1311 detailed logging to the .bzr.log trace file. (Andrew Bennetts)1362
13121363* The ``-Dhpss`` debug flag now reports the number of smart server
1313 BUG FIXES:1364 calls per medium to stderr. This is in addition to the existing
13141365 detailed logging to the .bzr.log trace file. (Andrew Bennetts)
1315 * Avoid random failures arising from misinterpreted ``errno`` values1366
1316 in ``_readdir_pyx.read_dir``.1367Bug Fixes
1317 (Martin Pool, #279381)1368*********
13181369
1319 * Branching from a shared repository on a smart server into a new1370* Avoid random failures arising from misinterpreted ``errno`` values
1320 repository now preserves the repository format.1371 in ``_readdir_pyx.read_dir``.
1321 (Andrew Bennetts, #269214)1372 (Martin Pool, #279381)
13221373
1323 * ``bzr log`` now accepts a ``--change`` option.1374* Branching from a shared repository on a smart server into a new
1324 (Vincent Ladeuil, #248427)1375 repository now preserves the repository format.
13251376 (Andrew Bennetts, #269214)
1326 * ``bzr missing`` now accepts an ``--include-merges`` option.1377
1327 (Vincent Ladeuil, #233817)1378* ``bzr log`` now accepts a ``--change`` option.
13281379 (Vincent Ladeuil, #248427)
1329 * Don't try to filter (internally) '.bzr' from the files to be deleted if1380
1330 it's not there.1381* ``bzr missing`` now accepts an ``--include-merges`` option.
1331 (Vincent Ladeuil, #272648)1382 (Vincent Ladeuil, #233817)
13321383
1333 * Fix '_in_buffer' AttributeError when using the -Dhpss debug flag.1384* Don't try to filter (internally) '.bzr' from the files to be deleted if
1334 (Andrew Bennetts)1385 it's not there.
13351386 (Vincent Ladeuil, #272648)
1336 * Fix TooManyConcurrentRequests errors caused by a connection failure1387
1337 when doing ``bzr pull`` or ``bzr merge`` from a ``bzr+ssh`` URL.1388* Fix '_in_buffer' AttributeError when using the -Dhpss debug flag.
1338 (Andrew Bennetts, #246233)1389 (Andrew Bennetts)
13391390
1340 * Fixed ``bzr st -r branch:PATH_TO_BRANCH`` where the other branch1391* Fix TooManyConcurrentRequests errors caused by a connection failure
1341 is in a different repository than the current one.1392 when doing ``bzr pull`` or ``bzr merge`` from a ``bzr+ssh`` URL.
1342 (Lukáš Lalinský, #144421)1393 (Andrew Bennetts, #246233)
13431394
1344 * Make the first line of the manpage preamble a comment again.1395* Fixed ``bzr st -r branch:PATH_TO_BRANCH`` where the other branch
1345 (David Futcher, #242106)1396 is in a different repository than the current one.
13461397 (Lukáš Lalinský, #144421)
1347 * Remove use of optional parameter in GSSAPI FTP support, since1398
1348 it breaks newer versions of Python-Kerberos. (Jelmer Vernooij)1399* Make the first line of the manpage preamble a comment again.
13491400 (David Futcher, #242106)
1350 * The autopacking logic will now always create a single new pack from1401
1351 all of the content which it deems is worth moving. This avoids the1402* Remove use of optional parameter in GSSAPI FTP support, since
1352 'repack a single pack' bug and should result in better packing1403 it breaks newer versions of Python-Kerberos. (Jelmer Vernooij)
1353 overall. (John Arbash Meinel, #242510, #172644)1404
13541405* The autopacking logic will now always create a single new pack from
1355 * Trivial documentation fix.1406 all of the content which it deems is worth moving. This avoids the
1356 (John Arbash Meinel, #270471)1407 'repack a single pack' bug and should result in better packing
13571408 overall. (John Arbash Meinel, #242510, #172644)
1358 * ``bzr switch`` and ``bzr bind`` will now update the branch nickname if1409
1359 it was previously set. All checkouts will now refer to the bound branch1410* Trivial documentation fix.
1360 for a nickname if one was not explicitly set.1411 (John Arbash Meinel, #270471)
1361 (Marius Kruger, #230903)1412
13621413* ``bzr switch`` and ``bzr bind`` will now update the branch nickname if
1363 DOCUMENTATION:1414 it was previously set. All checkouts will now refer to the bound branch
13641415 for a nickname if one was not explicitly set.
1365 * Explain revision/range identifiers. (Daniel Clemente)1416 (Marius Kruger, #230903)
13661417
1367 API CHANGES:1418Documentation
13681419*************
1369 * ``CommitBuilder.record_entry_contents`` returns one more element in1420
1370 its result tuple - an optional file system hash for the hash cache1421* Explain revision/range identifiers. (Daniel Clemente)
1371 to use. (Robert Collins)1422
13721423API Changes
1373 * ``dirstate.DirState.update_entry`` will now only calculate the sha11424***********
1374 of a file if it is likely to be needed in determining the output1425
1375 of iter_changes. (Robert Collins)1426* ``CommitBuilder.record_entry_contents`` returns one more element in
13761427 its result tuple - an optional file system hash for the hash cache
1377 * The PackRepository, RepositoryPackCollection, NewPack classes have a1428 to use. (Robert Collins)
1378 slightly changed interface to support different index types; as a1429
1379 result other users of these classes need to supply the index types1430* ``dirstate.DirState.update_entry`` will now only calculate the sha1
1380 they want. (Robert Collins)1431 of a file if it is likely to be needed in determining the output
13811432 of iter_changes. (Robert Collins)
1382 TESTING:1433
13831434* The PackRepository, RepositoryPackCollection, NewPack classes have a
1384 * ``bzrlib.tests.repository_implementations`` has been renamed to1435 slightly changed interface to support different index types; as a
1385 ``bzrlib.tests.per_repository`` so that we have a common structure1436 result other users of these classes need to supply the index types
1386 (and it is shorter). (John Arbash Meinel, #239343)1437 they want. (Robert Collins)
13871438
1388 * ``LocalTransport.abspath()`` now returns a drive letter if the1439Testing
1389 transport has one, fixing numerous tests on Windows.1440*******
1390 (Mark Hammond)1441
13911442* ``bzrlib.tests.repository_implementations`` has been renamed to
1392 * PreviewTree is now tested via intertree_implementations.1443 ``bzrlib.tests.per_repository`` so that we have a common structure
1393 (Aaron Bentley)1444 (and it is shorter). (John Arbash Meinel, #239343)
13941445
1395 * The full test suite is passing again on OSX.1446* ``LocalTransport.abspath()`` now returns a drive letter if the
1396 (Guillermo Gonzalez, Vincent Ladeuil)1447 transport has one, fixing numerous tests on Windows.
13971448 (Mark Hammond)
1398 * The full test suite passes when run with ``-Eallow_debug``.1449
1399 (Andrew Bennetts)1450* PreviewTree is now tested via intertree_implementations.
14001451 (Aaron Bentley)
1401 INTERNALS:1452
14021453* The full test suite is passing again on OSX.
1403 * A new hook, ``Branch.open``, has been added, which is called when1454 (Guillermo Gonzalez, Vincent Ladeuil)
1404 branch objects are opened. (Robert Collins)1455
14051456* The full test suite passes when run with ``-Eallow_debug``.
1406 * ``bzrlib.osutils._walkdirs_utf8`` has been refactored into common1457 (Andrew Bennetts)
1407 tree walking, and modular directory listing code to aid future1458
1408 performance optimisations and refactoring. (Robert Collins)1459Internals
14091460*********
1410 * ``bzrlib.trace.debug_memory`` can be used to get a quick memory dump1461
1411 in the middle of processing. It only reports memory if1462* A new hook, ``Branch.open``, has been added, which is called when
1412 ``/proc/PID/status`` is available. (John Arbash Meinel)1463 branch objects are opened. (Robert Collins)
14131464
1414 * New method ``RevisionSpec.as_tree`` for representing the revision1465* ``bzrlib.osutils._walkdirs_utf8`` has been refactored into common
1415 specifier as a revision tree object. (Lukáš Lalinský)1466 tree walking, and modular directory listing code to aid future
14161467 performance optimisations and refactoring. (Robert Collins)
1417 * New race-free method on MutableTree ``get_file_with_stat`` for use1468
1418 when generating stat cache results. (Robert Collins)1469* ``bzrlib.trace.debug_memory`` can be used to get a quick memory dump
14191470 in the middle of processing. It only reports memory if
1420 * New win32utils.get_local_appdata_location() provides access to a local1471 ``/proc/PID/status`` is available. (John Arbash Meinel)
1421 directory for storing data. (Mark Hammond)1472
14221473* New method ``RevisionSpec.as_tree`` for representing the revision
1423 * To be compatible with python-2.6 a few new rules should be1474 specifier as a revision tree object. (Lukáš Lalinský)
1424 observed. 'message' attribute can't be used anymore in exception1475
1425 classes, 'sha' and 'md5' modules have been deprecated (use1476* New race-free method on MutableTree ``get_file_with_stat`` for use
1426 osutils.[md5|sha]), object__init__ and object.__new__ don't accept1477 when generating stat cache results. (Robert Collins)
1427 parameters anymore.1478
1428 (Vincent Ladeuil)1479* New win32utils.get_local_appdata_location() provides access to a local
1480 directory for storing data. (Mark Hammond)
1481
1482* To be compatible with python-2.6 a few new rules should be
1483 observed. 'message' attribute can't be used anymore in exception
1484 classes, 'sha' and 'md5' modules have been deprecated (use
1485 osutils.[md5|sha]), object__init__ and object.__new__ don't accept
1486 parameters anymore.
1487 (Vincent Ladeuil)
14291488
14301489
1431bzr 1.7.1 2008-10-011490bzr 1.7.1 2008-10-01
1432--------------------1491####################
14331492
1434 No changes from 1.7.1rc1.1493No changes from 1.7.1rc1.
14351494
14361495
1437bzr 1.7.1rc1 2008-09-241496bzr 1.7.1rc1 2008-09-24
1438-----------------------1497#######################
14391498
1440This release just includes an update to how the merge algorithm handles1499This release just includes an update to how the merge algorithm handles
1441file paths when we encounter complex history.1500file paths when we encounter complex history.
14421501
1443 FEATURES:1502Features
1503********
14441504
1445 * If we encounter a criss-cross in history, use information from1505* If we encounter a criss-cross in history, use information from
1446 direct Least Common Ancestors to resolve inventory shape (locations1506 direct Least Common Ancestors to resolve inventory shape (locations
1447 of files, adds, deletes, etc). This is similar in concept to using1507 of files, adds, deletes, etc). This is similar in concept to using
1448 ``--lca`` for merging file texts, only applied to paths.1508 ``--lca`` for merging file texts, only applied to paths.
1449 (John Arbash Meinel)1509 (John Arbash Meinel)
14501510
14511511
1452bzr 1.7 2008-09-231512bzr 1.7 2008-09-23
1453------------------1513##################
14541514
1455This release includes many bug fixes and a few performance and feature1515This release includes many bug fixes and a few performance and feature
1456improvements. ``bzr rm`` will now scan for missing files and remove them,1516improvements. ``bzr rm`` will now scan for missing files and remove them,
@@ -1459,39 +1519,41 @@
1459been brought in, with an eye on using it in a future repository format.1519been brought in, with an eye on using it in a future repository format.
1460There are only minor installer changes since bzr-1.7rc2.1520There are only minor installer changes since bzr-1.7rc2.
14611521
1462 FEATURES1522Features
1523********
14631524
1464 * Some small updates to the win32 installer. Include localization1525* Some small updates to the win32 installer. Include localization
1465 files found in plugins, and include the builtin distutils as part of1526 files found in plugins, and include the builtin distutils as part of
1466 packaging qbzr. (Mark Hammond)1527 packaging qbzr. (Mark Hammond)
14671528
14681529
1469bzr 1.7rc2 2008-09-171530bzr 1.7rc2 2008-09-17
1470---------------------1531#####################
14711532
1472A few bug fixes from 1.7rc1. The biggest change is a new1533A few bug fixes from 1.7rc1. The biggest change is a new
1473``RemoteBranch.get_stacked_on_url`` rpc. This allows clients that are1534``RemoteBranch.get_stacked_on_url`` rpc. This allows clients that are
1474trying to access a Stacked branch over the smart protocol, to properly1535trying to access a Stacked branch over the smart protocol, to properly
1475connect to the stacked-on location.1536connect to the stacked-on location.
14761537
1477 BUG FIXES:1538Bug Fixes
14781539*********
1479 * Branching from a shared repository on a smart server into a new1540
1480 repository now preserves the repository format.1541* Branching from a shared repository on a smart server into a new
1481 (Andrew Bennetts, #269214)1542 repository now preserves the repository format.
14821543 (Andrew Bennetts, #269214)
1483 * Branching from a stacked branch via ``bzr+ssh`` can properly connect1544
1484 to the stacked-on branch. (Martin Pool, #261315)1545* Branching from a stacked branch via ``bzr+ssh`` can properly connect
14851546 to the stacked-on branch. (Martin Pool, #261315)
1486 * ``bzr init`` no longer re-opens the BzrDir multiple times.1547
1487 (Vincent Ladeuil)1548* ``bzr init`` no longer re-opens the BzrDir multiple times.
14881549 (Vincent Ladeuil)
1489 * Fix '_in_buffer' AttributeError when using the -Dhpss debug flag.1550
1490 (Andrew Bennetts)1551* Fix '_in_buffer' AttributeError when using the -Dhpss debug flag.
1552 (Andrew Bennetts)
14911553
14921554
1493bzr 1.7rc1 2008-09-091555bzr 1.7rc1 2008-09-09
1494---------------------1556#####################
14951557
1496This release candidate for bzr 1.7 has several bug fixes and a few1558This release candidate for bzr 1.7 has several bug fixes and a few
1497performance and feature improvements. ``bzr rm`` will now scan for1559performance and feature improvements. ``bzr rm`` will now scan for
@@ -1501,187 +1563,195 @@
1501it in a future repository format.1563it in a future repository format.
15021564
15031565
1504 CHANGES:1566Changes
15051567*******
1506 * ``bzr export`` can now export a subdirectory of a project.1568
1507 (Robert Collins)1569* ``bzr export`` can now export a subdirectory of a project.
15081570 (Robert Collins)
1509 * ``bzr remove-tree`` will now refuse to remove a tree with uncommitted1571
1510 changes, unless the ``--force`` option is specified.1572* ``bzr remove-tree`` will now refuse to remove a tree with uncommitted
1511 (Lukáš Lalinský, #74101)1573 changes, unless the ``--force`` option is specified.
15121574 (Lukáš Lalinský, #74101)
1513 * ``bzr rm`` will now scan for files that are missing and remove just1575
1514 them automatically, much as ``bzr add`` scans for new files that1576* ``bzr rm`` will now scan for files that are missing and remove just
1515 are not ignored and adds them automatically. (Robert Collins)1577 them automatically, much as ``bzr add`` scans for new files that
15161578 are not ignored and adds them automatically. (Robert Collins)
1517 FEATURES1579
15181580Features
1519 * Support for GSSAPI authentication when using FTP as documented in1581********
1520 RFC2228. (Jelmer Vernooij, #49623)1582
15211583* Support for GSSAPI authentication when using FTP as documented in
1522 * Add support for IPv6 in the smart server. (Jelmer Vernooij, #165014)1584 RFC2228. (Jelmer Vernooij, #49623)
15231585
1524 IMPROVEMENTS:1586* Add support for IPv6 in the smart server. (Jelmer Vernooij, #165014)
15251587
1526 * A url like ``log+file:///tmp`` will log all access to that Transport1588Improvements
1527 to ``.bzr.log``, which may help in debugging or profiling.1589************
1528 (Martin Pool)1590
15291591* A url like ``log+file:///tmp`` will log all access to that Transport
1530 * ``bzr branch`` and ``bzr push`` use the default stacking policy if the1592 to ``.bzr.log``, which may help in debugging or profiling.
1531 branch format supports it. (Aaron Bentley)1593 (Martin Pool)
15321594
1533 * ``bzr init`` and ``bzr init-repo`` will now print out the same as1595* ``bzr branch`` and ``bzr push`` use the default stacking policy if the
1534 ``bzr info`` if it completed successfully.1596 branch format supports it. (Aaron Bentley)
1535 (Marius Kruger)1597
15361598* ``bzr init`` and ``bzr init-repo`` will now print out the same as
1537 * ``bzr uncommit`` logs the old tip revision id, and displays how to1599 ``bzr info`` if it completed successfully.
1538 restore the branch to that tip using ``bzr pull``. This allows you1600 (Marius Kruger)
1539 to recover if you realize you uncommitted the wrong thing.1601
1540 (John Arbash Meinel)1602* ``bzr uncommit`` logs the old tip revision id, and displays how to
15411603 restore the branch to that tip using ``bzr pull``. This allows you
1542 * Fix problems in accessing stacked repositories over ``bzr://``.1604 to recover if you realize you uncommitted the wrong thing.
1543 (Martin Pool, #261315)1605 (John Arbash Meinel)
15441606
1545 * ``SFTPTransport.readv()`` was accidentally using ``list += string``,1607* Fix problems in accessing stacked repositories over ``bzr://``.
1546 which 'works', but adds each character separately to the list,1608 (Martin Pool, #261315)
1547 rather than using ``list.append(string)``. Fixing this makes the1609
1548 SFTP transport a little bit faster (~20%) and use a bit less memory.1610* ``SFTPTransport.readv()`` was accidentally using ``list += string``,
1549 (John Arbash Meinel)1611 which 'works', but adds each character separately to the list,
15501612 rather than using ``list.append(string)``. Fixing this makes the
1551 * When reading index files, if we happen to read the whole file in a1613 SFTP transport a little bit faster (~20%) and use a bit less memory.
1552 single request treat it as a ``_buffer_all`` request. This happens1614 (John Arbash Meinel)
1553 most often on small indexes over remote transports, where we default1615
1554 to reading 64kB. It saves a round trip for each small index during1616* When reading index files, if we happen to read the whole file in a
1555 fetch operations. Also, if we have read more than 50% of an index1617 single request treat it as a ``_buffer_all`` request. This happens
1556 file, trigger a ``_buffer_all`` on the next request. This works1618 most often on small indexes over remote transports, where we default
1557 around some inefficiencies because reads don't fall neatly on page1619 to reading 64kB. It saves a round trip for each small index during
1558 boundaries, so we would ignore those bytes, but request them again1620 fetch operations. Also, if we have read more than 50% of an index
1559 later. This could trigger a total read size of more than the whole1621 file, trigger a ``_buffer_all`` on the next request. This works
1560 file. (John Arbash Meinel)1622 around some inefficiencies because reads don't fall neatly on page
15611623 boundaries, so we would ignore those bytes, but request them again
1562 BUG FIXES:1624 later. This could trigger a total read size of more than the whole
15631625 file. (John Arbash Meinel)
1564 * ``bzr rm`` is now aliased to ``bzr del`` for the convenience of svn1626
1565 users. (Robert Collins, #205416)1627Bug Fixes
15661628*********
1567 * Catch the infamous "select/poll returned error" which occurs when1629
1568 pycurl try to send a body request to an HTTP/1.0 server which has1630* ``bzr rm`` is now aliased to ``bzr del`` for the convenience of svn
1569 already refused to handle the request. (Vincent Ladeuil, #225020)1631 users. (Robert Collins, #205416)
15701632
1571 * Fix ``ObjectNotLocked`` errors when using various commands1633* Catch the infamous "select/poll returned error" which occurs when
1572 (including ``bzr cat`` and ``bzr annotate``) in combination with a1634 pycurl try to send a body request to an HTTP/1.0 server which has
1573 smart server URL. (Andrew Bennetts, #237067)1635 already refused to handle the request. (Vincent Ladeuil, #225020)
15741636
1575 * ``FTPTransport.stat()`` would return ``0000`` as the permission bits1637* Fix ``ObjectNotLocked`` errors when using various commands
1576 for the containing ``.bzr/`` directory (it does not implement1638 (including ``bzr cat`` and ``bzr annotate``) in combination with a
1577 permissions). This would cause us to set all subdirectories to1639 smart server URL. (Andrew Bennetts, #237067)
1578 ``0700`` and files to ``0600`` rather than leaving them unmodified.1640
1579 Now we ignore ``0000`` as the permissions and assume they are1641* ``FTPTransport.stat()`` would return ``0000`` as the permission bits
1580 invalid. (John Arbash Meinel, #259855)1642 for the containing ``.bzr/`` directory (it does not implement
15811643 permissions). This would cause us to set all subdirectories to
1582 * Merging from a previously joined branch will no longer cause1644 ``0700`` and files to ``0600`` rather than leaving them unmodified.
1583 a traceback. (Jelmer Vernooij, #203376)1645 Now we ignore ``0000`` as the permissions and assume they are
15841646 invalid. (John Arbash Meinel, #259855)
1585 * Pack operations on windows network shares will work even with large1647
1586 files. (Robert Collins, #255656)1648* Merging from a previously joined branch will no longer cause
15871649 a traceback. (Jelmer Vernooij, #203376)
1588 * Running ``bzr st PATH_TO_TREE`` will no longer suppress merge1650
1589 status. Status is also about 7% faster on mozilla sized trees1651* Pack operations on windows network shares will work even with large
1590 when the path to the root of the tree has been given. Users of1652 files. (Robert Collins, #255656)
1591 the internal ``show_tree_status`` function should be aware that1653
1592 the show_pending flag is now authoritative for showing pending1654* Running ``bzr st PATH_TO_TREE`` will no longer suppress merge
1593 merges, as it was originally. (Robert Collins, #225204)1655 status. Status is also about 7% faster on mozilla sized trees
15941656 when the path to the root of the tree has been given. Users of
1595 * Set valid default _param_name for Option so that ListOption can embed1657 the internal ``show_tree_status`` function should be aware that
1596 '-' in names. (Vincent Ladeuil, #263249)1658 the show_pending flag is now authoritative for showing pending
15971659 merges, as it was originally. (Robert Collins, #225204)
1598 * Show proper error rather than traceback when an unknown revision1660
1599 id is specified to ``bzr cat-revision``. (Jelmer Vernooij, #175569)1661* Set valid default _param_name for Option so that ListOption can embed
16001662 '-' in names. (Vincent Ladeuil, #263249)
1601 * Trailing text in the dirstate file could cause the C dirstate parser1663
1602 to try to allocate an invalid amount of memory. We now properly1664* Show proper error rather than traceback when an unknown revision
1603 check and test for parsing a dirstate with invalid trailing data.1665 id is specified to ``bzr cat-revision``. (Jelmer Vernooij, #175569)
1604 (John Arbash Meinel, #186014)1666
16051667* Trailing text in the dirstate file could cause the C dirstate parser
1606 * Unexpected error responses from a smart server no longer cause the1668 to try to allocate an invalid amount of memory. We now properly
1607 client to traceback. (Andrew Bennetts, #263527)1669 check and test for parsing a dirstate with invalid trailing data.
16081670 (John Arbash Meinel, #186014)
1609 * Use a Windows api function to get a Unicode host name, rather than1671
1610 assuming the host name is ascii.1672* Unexpected error responses from a smart server no longer cause the
1611 (Mark Hammond, John Arbash Meinel, #256550)1673 client to traceback. (Andrew Bennetts, #263527)
16121674
1613 * ``WorkingTree4`` trees will now correctly report missing-and-new1675* Use a Windows api function to get a Unicode host name, rather than
1614 paths in the output of ``iter_changes``. (Robert Collins)1676 assuming the host name is ascii.
16151677 (Mark Hammond, John Arbash Meinel, #256550)
1616 DOCUMENTATION:1678
16171679* ``WorkingTree4`` trees will now correctly report missing-and-new
1618 * Updated developer documentation. (Martin Pool)1680 paths in the output of ``iter_changes``. (Robert Collins)
16191681
1620 API CHANGES:1682Documentation
16211683*************
1622 * Exporters now take 4 parameters. (Robert Collins)1684
16231685* Updated developer documentation. (Martin Pool)
1624 * ``Tree.iter_changes`` will now return False for the content change1686
1625 field when a file is missing in the basis tree and not present in1687API Changes
1626 the target tree. Previously it returned True unconditionally.1688***********
1627 (Robert Collins)1689
16281690* Exporters now take 4 parameters. (Robert Collins)
1629 * The deprecated ``Branch.abspath`` and unimplemented1691
1630 ``Branch.rename_one`` and ``Branch.move`` were removed. (Jelmer Vernooij)1692* ``Tree.iter_changes`` will now return False for the content change
16311693 field when a file is missing in the basis tree and not present in
1632 * BzrDir.clone_on_transport implementations must now accept a stacked_on1694 the target tree. Previously it returned True unconditionally.
1633 parameter. (Aaron Bentley)1695 (Robert Collins)
16341696
1635 * BzrDir.cloning_metadir implementations must now take a require_stacking1697* The deprecated ``Branch.abspath`` and unimplemented
1636 parameter. (Aaron Bentley)1698 ``Branch.rename_one`` and ``Branch.move`` were removed. (Jelmer Vernooij)
16371699
1638 TESTING:1700* BzrDir.clone_on_transport implementations must now accept a stacked_on
16391701 parameter. (Aaron Bentley)
1640 * ``addCleanup`` now takes ``*arguments`` and ``**keyword_arguments``1702
1641 which are then passed to the cleanup callable as it is run. In1703* BzrDir.cloning_metadir implementations must now take a require_stacking
1642 addition, addCleanup no longer requires that the callables passed to1704 parameter. (Aaron Bentley)
1643 it be unique. (Jonathan Lange)1705
16441706Testing
1645 * Fix some tests that fail on Windows because files are deleted while1707*******
1646 still in use.1708
1647 (Mark Hammond)1709* ``addCleanup`` now takes ``*arguments`` and ``**keyword_arguments``
16481710 which are then passed to the cleanup callable as it is run. In
1649 * ``selftest``'s ``--starting-with`` option can now use predefined1711 addition, addCleanup no longer requires that the callables passed to
1650 prefixes so that one can say ``bzr selftest -s bp.loom`` instead of1712 it be unique. (Jonathan Lange)
1651 ``bzr selftest -s bzrlib.plugins.loom``. (Vincent Ladeuil)1713
16521714* Fix some tests that fail on Windows because files are deleted while
1653 * ``selftest``'s ``--starting-with`` option now accepts multiple values.1715 still in use.
1654 (Vincent Ladeuil)1716 (Mark Hammond)
16551717
1656 INTERNALS:1718* ``selftest``'s ``--starting-with`` option can now use predefined
16571719 prefixes so that one can say ``bzr selftest -s bp.loom`` instead of
1658 * A new plugin interface, ``bzrlib.log.log_adapters``, has been added.1720 ``bzr selftest -s bzrlib.plugins.loom``. (Vincent Ladeuil)
1659 This allows dynamic log output filtering by plugins.1721
1660 (Robert Collins)1722* ``selftest``'s ``--starting-with`` option now accepts multiple values.
16611723 (Vincent Ladeuil)
1662 * ``bzrlib.btree_index`` is now available, providing a b-tree index1724
1663 layer. The design is memory conservative (limited memory cache),1725Internals
1664 faster to seek (approx 100 nodes per page, gives 100-way fan out),1726*********
1665 and stores compressed pages allowing more keys per page.1727
1666 (Robert Collins, John Arbash Meinel)1728* A new plugin interface, ``bzrlib.log.log_adapters``, has been added.
16671729 This allows dynamic log output filtering by plugins.
1668 * ``bzrlib.diff.DiffTree.show_diff`` now skips changes where the kind1730 (Robert Collins)
1669 is unknown in both source and target.1731
1670 (Robert Collins, Aaron Bentley)1732* ``bzrlib.btree_index`` is now available, providing a b-tree index
16711733 layer. The design is memory conservative (limited memory cache),
1672 * ``GraphIndexBuilder.add_node`` and ``BTreeBuilder`` have been1734 faster to seek (approx 100 nodes per page, gives 100-way fan out),
1673 streamlined a bit. This should make creating large indexes faster.1735 and stores compressed pages allowing more keys per page.
1674 (In benchmarking, it now takes less time to create a BTree index than1736 (Robert Collins, John Arbash Meinel)
1675 it takes to read the GraphIndex one.) (John Arbash Meinel)1737
16761738* ``bzrlib.diff.DiffTree.show_diff`` now skips changes where the kind
1677 * Mail clients for `bzr send` are now listed in a registry. This1739 is unknown in both source and target.
1678 allows plugins to add new clients by registering them with1740 (Robert Collins, Aaron Bentley)
1679 ``bzrlib.mail_client.mail_client_registry``. All of the built-in1741
1680 clients now use this mechanism. (Neil Martinsen-Burrell)1742* ``GraphIndexBuilder.add_node`` and ``BTreeBuilder`` have been
1743 streamlined a bit. This should make creating large indexes faster.
1744 (In benchmarking, it now takes less time to create a BTree index than
1745 it takes to read the GraphIndex one.) (John Arbash Meinel)
1746
1747* Mail clients for `bzr send` are now listed in a registry. This
1748 allows plugins to add new clients by registering them with
1749 ``bzrlib.mail_client.mail_client_registry``. All of the built-in
1750 clients now use this mechanism. (Neil Martinsen-Burrell)
16811751
16821752
1683bzr 1.6.1 2008-09-051753bzr 1.6.1 2008-09-05
1684--------------------1754####################
16851755
1686A couple regressions were found in the 1.6 release. There was a1756A couple regressions were found in the 1.6 release. There was a
1687performance issue when using ``bzr+ssh`` to branch large repositories,1757performance issue when using ``bzr+ssh`` to branch large repositories,
@@ -1689,18 +1759,19 @@
16891759
16901760
1691bzr 1.6.1rc2 2008-09-031761bzr 1.6.1rc2 2008-09-03
1692-----------------------1762#######################
16931763
1694 BUG FIXES:1764Bug Fixes
16951765*********
1696 * Copying between ``rich-root`` and ``rich-root-pack`` (and vice1766
1697 versa) was accidentally using the inter-model fetcher, instead of1767* Copying between ``rich-root`` and ``rich-root-pack`` (and vice
1698 recognizing that both were 'rich root' formats.1768 versa) was accidentally using the inter-model fetcher, instead of
1699 (John Arbash Meinel, #264321)1769 recognizing that both were 'rich root' formats.
1770 (John Arbash Meinel, #264321)
17001771
17011772
1702bzr 1.6.1rc1 2008-08-291773bzr 1.6.1rc1 2008-08-29
1703-----------------------1774#######################
17041775
1705This release fixes a few regressions found in the 1.6 client. Fetching1776This release fixes a few regressions found in the 1.6 client. Fetching
1706changes was using an O(N^2) buffering algorithm, so for large projects it1777changes was using an O(N^2) buffering algorithm, so for large projects it
@@ -1715,32 +1786,33 @@
1715I should also clarify that none of this is data loss level issues, but1786I should also clarify that none of this is data loss level issues, but
1716still sufficient enough to warrant an updated release.1787still sufficient enough to warrant an updated release.
17171788
1718 BUG FIXES:1789Bug Fixes
17191790*********
1720 * ``RemoteTransport.readv()`` was being inefficient about how it1791
1721 buffered the readv data and processed it. It would keep appending to1792* ``RemoteTransport.readv()`` was being inefficient about how it
1722 the same string (causing many copies) and then pop bytes out of the1793 buffered the readv data and processed it. It would keep appending to
1723 start of the string (causing more copies).1794 the same string (causing many copies) and then pop bytes out of the
1724 With this patch "bzr+ssh://local" can improve dramatically,1795 start of the string (causing more copies).
1725 especially for projects with large files.1796 With this patch "bzr+ssh://local" can improve dramatically,
1726 (John Arbash Meinel)1797 especially for projects with large files.
17271798 (John Arbash Meinel)
1728 * Revision texts were always meant to be stored as fulltexts. There1799
1729 was a bug in a bzr.dev version that would accidentally create deltas1800* Revision texts were always meant to be stored as fulltexts. There
1730 when copying from a Pack repo to a Knit repo. This has been fixed,1801 was a bug in a bzr.dev version that would accidentally create deltas
1731 but to support those repositories, we know always request full texts1802 when copying from a Pack repo to a Knit repo. This has been fixed,
1732 for Revision texts. (John Arbash Meinel, #261339)1803 but to support those repositories, we know always request full texts
17331804 for Revision texts. (John Arbash Meinel, #261339)
1734 * The previous ``--1.6-rich-root`` format used an incorrect xml1805
1735 serializer, which would accidentally support fetching from a1806* The previous ``--1.6-rich-root`` format used an incorrect xml
1736 repository that supported subtrees, even though the local one would1807 serializer, which would accidentally support fetching from a
1737 not. We deprecated that format, and introduced a new one that uses1808 repository that supported subtrees, even though the local one would
1738 the correct serializer ``--1.6.1-rich-root``.1809 not. We deprecated that format, and introduced a new one that uses
1739 (John Arbash Meinel, #262333)1810 the correct serializer ``--1.6.1-rich-root``.
1811 (John Arbash Meinel, #262333)
17401812
17411813
1742bzr 1.6 2008-08-251814bzr 1.6 2008-08-25
1743------------------1815##################
17441816
1745Finally, the long awaited bzr 1.6 has been released. This release includes1817Finally, the long awaited bzr 1.6 has been released. This release includes
1746new features like Stacked Branches, improved weave merge, and an updated1818new features like Stacked Branches, improved weave merge, and an updated
@@ -1754,98 +1826,104 @@
17541826
17551827
1756bzr 1.6rc5 2008-08-191828bzr 1.6rc5 2008-08-19
1757---------------------1829#####################
17581830
1759 BUG FIXES:1831Bug Fixes
17601832*********
1761 * Disable automatic detection of stacking based on a containing1833
1762 directory of the target. It interacted badly with push, and needs a1834* Disable automatic detection of stacking based on a containing
1763 bit more work to get the edges polished before it should happen1835 directory of the target. It interacted badly with push, and needs a
1764 automatically. (John Arbash Meinel, #259275)1836 bit more work to get the edges polished before it should happen
1765 (This change was reverted when merged to bzr.dev)1837 automatically. (John Arbash Meinel, #259275)
1838 (This change was reverted when merged to bzr.dev)
17661839
17671840
1768bzr 1.6rc4 2008-08-181841bzr 1.6rc4 2008-08-18
1769---------------------1842#####################
17701843
1771 BUG FIXES:1844Bug Fixes
17721845*********
1773 * Fix a regression in knit => pack fetching. We had a logic1846
1774 inversion, causing the fetch to insert fulltexts in random order,1847* Fix a regression in knit => pack fetching. We had a logic
1775 rather than preserving deltas. (John Arbash Meinel, #256757)1848 inversion, causing the fetch to insert fulltexts in random order,
1849 rather than preserving deltas. (John Arbash Meinel, #256757)
17761850
17771851
1778bzr 1.6rc3 2008-08-141852bzr 1.6rc3 2008-08-14
1779---------------------1853#####################
17801854
1781 CHANGES:1855Changes
17821856*******
1783 * Disable reading ``.bzrrules`` as a per-branch rule preferences1857
1784 file. The feature was not quite ready for a full release.1858* Disable reading ``.bzrrules`` as a per-branch rule preferences
1785 (Robert Collins)1859 file. The feature was not quite ready for a full release.
17861860 (Robert Collins)
1787 IMPROVEMENTS:1861
17881862Improvements
1789 * Update the windows installer to bundle TortoiseBzr and ``qbzr``1863************
1790 into the standalone installer. This will be the first official1864
1791 windows release that installs Tortoise by default.1865* Update the windows installer to bundle TortoiseBzr and ``qbzr``
1792 (Mark Hammond)1866 into the standalone installer. This will be the first official
17931867 windows release that installs Tortoise by default.
1794 BUG FIXES:1868 (Mark Hammond)
17951869
1796 * Fix a regression in ``bzr+http`` support. There was a missing1870Bug Fixes
1797 function (``_read_line``) that needed to be carried over from1871*********
1798 ``bzr+ssh`` support. (Andrew Bennetts)1872
17991873* Fix a regression in ``bzr+http`` support. There was a missing
1800 * ``GraphIndex`` objects will internally read an entire index if more1874 function (``_read_line``) that needed to be carried over from
1801 than 1/20th of their keyspace is requested in a single operation.1875 ``bzr+ssh`` support. (Andrew Bennetts)
1802 This largely mitigates a performance regression in ``bzr log FILE``1876
1803 and completely corrects the performance regression in ``bzr log``.1877* ``GraphIndex`` objects will internally read an entire index if more
1804 The regression was caused by removing an accomodation which had been1878 than 1/20th of their keyspace is requested in a single operation.
1805 supporting the index format in use. A newer index format is in1879 This largely mitigates a performance regression in ``bzr log FILE``
1806 development which is substantially faster. (Robert Collins)1880 and completely corrects the performance regression in ``bzr log``.
1881 The regression was caused by removing an accomodation which had been
1882 supporting the index format in use. A newer index format is in
1883 development which is substantially faster. (Robert Collins)
18071884
18081885
1809bzr 1.6rc2 2008-08-131886bzr 1.6rc2 2008-08-13
1810---------------------1887#####################
18111888
1812This release candidate has a few minor bug fixes, and some regression1889This release candidate has a few minor bug fixes, and some regression
1813fixes for Windows.1890fixes for Windows.
18141891
1815 BUG FIXES:1892Bug Fixes
18161893*********
1817 * ``bzr upgrade`` on remote branches accessed via bzr:// and1894
1818 bzr+ssh:// now works. (Andrew Bennetts)1895* ``bzr upgrade`` on remote branches accessed via bzr:// and
18191896 bzr+ssh:// now works. (Andrew Bennetts)
1820 * Change the ``get_format_description()`` strings for1897
1821 ``RepositoryFormatKnitPack5`` et al to be single line messages.1898* Change the ``get_format_description()`` strings for
1822 (Aaron Bentley)1899 ``RepositoryFormatKnitPack5`` et al to be single line messages.
18231900 (Aaron Bentley)
1824 * Fix for a regression on Win32 where we would try to call1901
1825 ``os.listdir()`` on a file and not catch the exception properly.1902* Fix for a regression on Win32 where we would try to call
1826 (Windows raises a different exception.) This would manifest in1903 ``os.listdir()`` on a file and not catch the exception properly.
1827 places like ``bzr rm file`` or ``bzr switch``.1904 (Windows raises a different exception.) This would manifest in
1828 (Mark Hammond, John Arbash Meinel)1905 places like ``bzr rm file`` or ``bzr switch``.
18291906 (Mark Hammond, John Arbash Meinel)
1830 * ``Inventory.copy()`` was failing to set the revision property for1907
1831 the root entry. (Jelmer Vernooij)1908* ``Inventory.copy()`` was failing to set the revision property for
18321909 the root entry. (Jelmer Vernooij)
1833 * sftp transport: added missing ``FileExists`` case to1910
1834 ``_translate_io_exception`` (Christophe Troestler, #123475)1911* sftp transport: added missing ``FileExists`` case to
18351912 ``_translate_io_exception`` (Christophe Troestler, #123475)
1836 * The help for ``bzr ignored`` now suggests ``bzr ls --ignored`` for1913
1837 scripting use. (Robert Collins, #3834)1914* The help for ``bzr ignored`` now suggests ``bzr ls --ignored`` for
18381915 scripting use. (Robert Collins, #3834)
1839 * The default ``annotate`` logic will now always assign the1916
1840 last-modified value of a line to one of the revisions that modified1917* The default ``annotate`` logic will now always assign the
1841 it, rather than a merge revision. This would happen when both sides1918 last-modified value of a line to one of the revisions that modified
1842 claimed to have modified the line resulting in the same text. The1919 it, rather than a merge revision. This would happen when both sides
1843 choice is arbitrary but stable, so merges in different directions1920 claimed to have modified the line resulting in the same text. The
1844 will get the same results. (John Arbash Meinel, #232188)1921 choice is arbitrary but stable, so merges in different directions
1922 will get the same results. (John Arbash Meinel, #232188)
18451923
18461924
1847bzr 1.6rc1 2008-08-061925bzr 1.6rc1 2008-08-06
1848---------------------1926#####################
18491927
1850This release candidate for bzr 1.6 solidifies the new branch stacking1928This release candidate for bzr 1.6 solidifies the new branch stacking
1851feature. Bazaar now recommends that users upgrade all knit repositories,1929feature. Bazaar now recommends that users upgrade all knit repositories,
@@ -1853,131 +1931,136 @@
1853upgrade support for knit repostories for the forseeable future. Several1931upgrade support for knit repostories for the forseeable future. Several
1854other bugs and performance issues were fixed.1932other bugs and performance issues were fixed.
18551933
1856 CHANGES:1934Changes
18571935*******
1858 * Knit format repositories are deprecated and bzr will now emit1936
1859 warnings whenever it encounters one. Use ``bzr upgrade`` to upgrade1937* Knit format repositories are deprecated and bzr will now emit
1860 knit repositories to pack format. (Andrew Bennetts)1938 warnings whenever it encounters one. Use ``bzr upgrade`` to upgrade
18611939 knit repositories to pack format. (Andrew Bennetts)
1862 IMPROVEMENTS:1940
18631941Improvements
1864 * ``bzr check`` can now be told which elements at a location it should1942************
1865 check. (Daniel Watkins)1943
18661944* ``bzr check`` can now be told which elements at a location it should
1867 * Commit now supports ``--exclude`` (or ``-x``) to exclude some files1945 check. (Daniel Watkins)
1868 from the commit. (Robert Collins, #3117)1946
18691947* Commit now supports ``--exclude`` (or ``-x``) to exclude some files
1870 * Fetching data between repositories that have the same model but no1948 from the commit. (Robert Collins, #3117)
1871 optimised fetcher will not reserialise all the revisions, increasing1949
1872 performance. (Robert Collins, John Arbash Meinel)1950* Fetching data between repositories that have the same model but no
18731951 optimised fetcher will not reserialise all the revisions, increasing
1874 * Give a more specific error when target branch is not reachable.1952 performance. (Robert Collins, John Arbash Meinel)
1875 (James Westby)1953
18761954* Give a more specific error when target branch is not reachable.
1877 * Implemented a custom ``walkdirs_utf8`` implementation for win32.1955 (James Westby)
1878 This uses a pyrex extension to get direct access to the1956
1879 ``FindFirstFileW`` style apis, rather than using ``listdir`` +1957* Implemented a custom ``walkdirs_utf8`` implementation for win32.
1880 ``lstat``. Shows a very strong improvement in commands like1958 This uses a pyrex extension to get direct access to the
1881 ``status`` and ``diff`` which have to iterate the working tree.1959 ``FindFirstFileW`` style apis, rather than using ``listdir`` +
1882 Anywhere from 2x-6x faster depending on the size of the tree (bigger1960 ``lstat``. Shows a very strong improvement in commands like
1883 trees, bigger benefit.) (John Arbash Meinel)1961 ``status`` and ``diff`` which have to iterate the working tree.
18841962 Anywhere from 2x-6x faster depending on the size of the tree (bigger
1885 * New registry for log properties handles and the method in1963 trees, bigger benefit.) (John Arbash Meinel)
1886 LongLogFormatter to display the custom properties returned by the1964
1887 registered handlers. (Guillermo Gonzalez, #162469)1965* New registry for log properties handles and the method in
18881966 LongLogFormatter to display the custom properties returned by the
1889 BUG FIXES:1967 registered handlers. (Guillermo Gonzalez, #162469)
18901968
1891 * Add more tests that stacking does not create deltas spanning1969Bug Fixes
1892 physical repository boundaries.1970*********
1893 (Martin Pool, #252428)1971
18941972* Add more tests that stacking does not create deltas spanning
1895 * Better message about incompatible repositories.1973 physical repository boundaries.
1896 (Martin Pool, #206258)1974 (Martin Pool, #252428)
18971975
1898 * ``bzr branch --stacked`` ensures the destination branch format can1976* Better message about incompatible repositories.
1899 support stacking, even if the origin does not.1977 (Martin Pool, #206258)
1900 (Martin Pool)1978
19011979* ``bzr branch --stacked`` ensures the destination branch format can
1902 * ``bzr export`` no longer exports ``.bzrrules``.1980 support stacking, even if the origin does not.
1903 (Ian Clatworthy)1981 (Martin Pool)
19041982
1905 * ``bzr serve --directory=/`` now correctly allows the whole1983* ``bzr export`` no longer exports ``.bzrrules``.
1906 filesystem to be accessed on Windows, not just the root of the drive1984 (Ian Clatworthy)
1907 that Python is running from.1985
1908 (Adrian Wilkins, #240910)1986* ``bzr serve --directory=/`` now correctly allows the whole
19091987 filesystem to be accessed on Windows, not just the root of the drive
1910 * Deleting directories by hand before running ``bzr rm`` will not1988 that Python is running from.
1911 cause subsequent errors in ``bzr st`` and ``bzr commit``.1989 (Adrian Wilkins, #240910)
1912 (Robert Collins, #150438)1990
19131991* Deleting directories by hand before running ``bzr rm`` will not
1914 * Fix a test case that was failing if encoding wasn't UTF-8.1992 cause subsequent errors in ``bzr st`` and ``bzr commit``.
1915 (John Arbash Meinel, #247585)1993 (Robert Collins, #150438)
19161994
1917 * Fix "no buffer space available" error when branching with the new1995* Fix a test case that was failing if encoding wasn't UTF-8.
1918 smart server protocol to or from Windows.1996 (John Arbash Meinel, #247585)
1919 (Andrew Bennetts, #246180)1997
19201998* Fix "no buffer space available" error when branching with the new
1921 * Fixed problem in branching from smart server.1999 smart server protocol to or from Windows.
1922 (#249256, Michael Hudson, Martin Pool)2000 (Andrew Bennetts, #246180)
19232001
1924 * Handle a file turning in to a directory in TreeTransform.2002* Fixed problem in branching from smart server.
1925 (James Westby, #248448)2003 (#249256, Michael Hudson, Martin Pool)
19262004
1927 API CHANGES:2005* Handle a file turning in to a directory in TreeTransform.
19282006 (James Westby, #248448)
1929 * ``MutableTree.commit`` has an extra optional keywork parameter2007
1930 ``exclude`` that will be unconditionally supplied by the command2008API Changes
1931 line UI - plugins that add tree formats may need an update.2009***********
1932 (Robert Collins)2010
19332011* ``MutableTree.commit`` has an extra optional keywork parameter
1934 * The API minimum version for plugin compatibility has been raised to2012 ``exclude`` that will be unconditionally supplied by the command
1935 1.6 - there are significant changes throughout the code base.2013 line UI - plugins that add tree formats may need an update.
1936 (Robert Collins)2014 (Robert Collins)
19372015
1938 * The generic fetch code now uses three attributes on Repository objects2016* The API minimum version for plugin compatibility has been raised to
1939 to control fetch. The streams requested are controlled via :2017 1.6 - there are significant changes throughout the code base.
1940 ``_fetch_order`` and ``_fetch_uses_deltas``. Setting these2018 (Robert Collins)
1941 appropriately allows different repository implementations to recieve2019
1942 data in their optimial form. If the ``_fetch_reconcile`` is set then2020* The generic fetch code now uses three attributes on Repository objects
1943 a reconcile operation is triggered at the end of the fetch.2021 to control fetch. The streams requested are controlled via :
1944 (Robert Collins)2022 ``_fetch_order`` and ``_fetch_uses_deltas``. Setting these
19452023 appropriately allows different repository implementations to recieve
1946 * The ``put_on_disk`` and ``get_tar_item`` methods in2024 data in their optimial form. If the ``_fetch_reconcile`` is set then
1947 ``InventoryEntry`` were deprecated. (Ian Clatworthy)2025 a reconcile operation is triggered at the end of the fetch.
19482026 (Robert Collins)
1949 * ``Repository.is_shared`` doesn't take a read lock. It didn't2027
1950 need one in the first place (nobody cached the value, and2028* The ``put_on_disk`` and ``get_tar_item`` methods in
1951 ``RemoteRepository`` wasn't taking one either). This saves a round2029 ``InventoryEntry`` were deprecated. (Ian Clatworthy)
1952 trip when probing Pack repositories, as they read the ``pack-names``2030
1953 file when locked. And during probe, locking the repo isn't very2031* ``Repository.is_shared`` doesn't take a read lock. It didn't
1954 useful. (John Arbash Meinel)2032 need one in the first place (nobody cached the value, and
19552033 ``RemoteRepository`` wasn't taking one either). This saves a round
1956 INTERNALS:2034 trip when probing Pack repositories, as they read the ``pack-names``
19572035 file when locked. And during probe, locking the repo isn't very
1958 * ``bzrlib.branchbuilder.BranchBuilder`` is now much more capable of2036 useful. (John Arbash Meinel)
1959 putting together a real history without having to create a full2037
1960 WorkingTree. It is recommended that tests that are not directly2038Internals
1961 testing the WorkingTree use BranchBuilder instead. See2039*********
1962 ``BranchBuilder.build_snapshot`` or2040
1963 ``TestCaseWithMemoryTree.make_branch_builder``. (John Arbash Meinel)2041* ``bzrlib.branchbuilder.BranchBuilder`` is now much more capable of
19642042 putting together a real history without having to create a full
1965 * ``bzrlib.builtins.internal_tree_files`` broken into two giving a new2043 WorkingTree. It is recommended that tests that are not directly
1966 helper ``safe_relpath_files`` - used by the new ``exclude``2044 testing the WorkingTree use BranchBuilder instead. See
1967 parameter to commit. (Robert Collins)2045 ``BranchBuilder.build_snapshot`` or
19682046 ``TestCaseWithMemoryTree.make_branch_builder``. (John Arbash Meinel)
1969 * Make it easier to introduce new WorkingTree formats.2047
1970 (Ian Clatworthy)2048* ``bzrlib.builtins.internal_tree_files`` broken into two giving a new
19712049 helper ``safe_relpath_files`` - used by the new ``exclude``
1972 * The code for exporting trees was refactored not to use the2050 parameter to commit. (Robert Collins)
1973 deprecated ``InventoryEntry`` methods. (Ian Clatworthy)2051
19742052* Make it easier to introduce new WorkingTree formats.
1975 * RuleSearchers return () instead of [] now when there are no matches.2053 (Ian Clatworthy)
1976 (Ian Clatworthy)2054
2055* The code for exporting trees was refactored not to use the
2056 deprecated ``InventoryEntry`` methods. (Ian Clatworthy)
2057
2058* RuleSearchers return () instead of [] now when there are no matches.
2059 (Ian Clatworthy)
19772060
19782061
1979bzr 1.6beta3 2008-07-172062bzr 1.6beta3 2008-07-17
1980-----------------------2063#######################
19812064
1982This release adds a new 'stacked branches' feature allowing branches to2065This release adds a new 'stacked branches' feature allowing branches to
1983share storage without being in the same repository or on the same machine.2066share storage without being in the same repository or on the same machine.
@@ -1985,244 +2068,257 @@
1985weaves, aliases for related locations, faster bzr+ssh push, and several2068weaves, aliases for related locations, faster bzr+ssh push, and several
1986bug fixes.2069bug fixes.
19872070
1988 FEATURES:2071Features
19892072********
1990 * New ``pre_change_branch_tip`` hook that is called before the2073
1991 branch tip is moved, while the branch is write-locked. See the User2074* New ``pre_change_branch_tip`` hook that is called before the
1992 Reference for signature details. (Andrew Bennetts)2075 branch tip is moved, while the branch is write-locked. See the User
19932076 Reference for signature details. (Andrew Bennetts)
1994 * Rule-based preferences can now be defined for selected files in2077
1995 selected branches, allowing commands and plugins to provide2078* Rule-based preferences can now be defined for selected files in
1996 custom behaviour for files matching defined patterns.2079 selected branches, allowing commands and plugins to provide
1997 See ``Rule-based preferences`` (part of ``Configuring Bazaar``)2080 custom behaviour for files matching defined patterns.
1998 in the User Guide and ``bzr help rules`` for more information.2081 See ``Rule-based preferences`` (part of ``Configuring Bazaar``)
1999 (Ian Clatworthy)2082 in the User Guide and ``bzr help rules`` for more information.
20002083 (Ian Clatworthy)
2001 * Sites may suggest a branch to stack new branches on. (Aaron Bentley)2084
20022085* Sites may suggest a branch to stack new branches on. (Aaron Bentley)
2003 * Stacked branches are now supported. See ``bzr help branch`` and2086
2004 ``bzr help push``. Branches must be in the ``development1`` format2087* Stacked branches are now supported. See ``bzr help branch`` and
2005 to stack, though the stacked-on branch can be of any format.2088 ``bzr help push``. Branches must be in the ``development1`` format
2006 (Robert Collins)2089 to stack, though the stacked-on branch can be of any format.
20072090 (Robert Collins)
2008 IMPROVEMENTS:2091
20092092Improvements
2010 * ``bzr export --format=tgz --root=NAME -`` to export a gzipped tarball2093************
2011 to stdout; also ``tar`` and ``tbz2``.2094
2012 (Martin Pool)2095* ``bzr export --format=tgz --root=NAME -`` to export a gzipped tarball
20132096 to stdout; also ``tar`` and ``tbz2``.
2014 * ``bzr (re)merge --weave`` will now use a standard Weave algorithm,2097 (Martin Pool)
2015 rather than the annotation-based merge it was using. It does so by2098
2016 building up a Weave of the important texts, without needing to build2099* ``bzr (re)merge --weave`` will now use a standard Weave algorithm,
2017 the full ancestry. (John Arbash Meinel, #238895)2100 rather than the annotation-based merge it was using. It does so by
20182101 building up a Weave of the important texts, without needing to build
2019 * ``bzr send`` documents and better supports ``emacsclient`` (proper2102 the full ancestry. (John Arbash Meinel, #238895)
2020 escaping of mail headers and handling of the MUA Mew).2103
2021 (Christophe Troestler)2104* ``bzr send`` documents and better supports ``emacsclient`` (proper
20222105 escaping of mail headers and handling of the MUA Mew).
2023 * Remembered locations can be specified by aliases, e.g. :parent, :public,2106 (Christophe Troestler)
2024 :submit. (Aaron Bentley)2107
20252108* Remembered locations can be specified by aliases, e.g. :parent, :public,
2026 * The smart protocol now has improved support for setting branches'2109 :submit. (Aaron Bentley)
2027 revision info directly. This makes operations like push2110
2028 faster. The new request method name is2111* The smart protocol now has improved support for setting branches'
2029 ``Branch.set_last_revision_ex``. (Andrew Bennetts)2112 revision info directly. This makes operations like push
20302113 faster. The new request method name is
2031 BUG FIXES:2114 ``Branch.set_last_revision_ex``. (Andrew Bennetts)
20322115
2033 * Bazaar is now able to be a client to the web server of IIS 6 and 7.2116Bug Fixes
2034 The broken implementations of RFC822 in Python and RFC2046 in IIS2117*********
2035 combined with boundary-line checking in Bazaar previously made this2118
2036 impossible. (NB, IIS 5 does not suffer from this problem).2119* Bazaar is now able to be a client to the web server of IIS 6 and 7.
2037 (Adrian Wilkins, #247585)2120 The broken implementations of RFC822 in Python and RFC2046 in IIS
20382121 combined with boundary-line checking in Bazaar previously made this
2039 * ``bzr log --long`` with a ghost in your mainline now handles that2122 impossible. (NB, IIS 5 does not suffer from this problem).
2040 ghost properly. (John Arbash Meinel, #243536)2123 (Adrian Wilkins, #247585)
20412124
2042 * ``check`` handles the split-up .bzr layout correctly, so no longer2125* ``bzr log --long`` with a ghost in your mainline now handles that
2043 requires a branch to be present.2126 ghost properly. (John Arbash Meinel, #243536)
2044 (Daniel Watkins, #64783)2127
20452128* ``check`` handles the split-up .bzr layout correctly, so no longer
2046 * Clearer message about how to set the PYTHONPATH if bzrlib can't be2129 requires a branch to be present.
2047 loaded.2130 (Daniel Watkins, #64783)
2048 (Martin Pool, #205230)2131
20492132* Clearer message about how to set the PYTHONPATH if bzrlib can't be
2050 * Errors about missing libraries are now shown without a traceback,2133 loaded.
2051 and with a suggestion to install the library. The full traceback is2134 (Martin Pool, #205230)
2052 still in ``.bzr.log`` and can be shown with ``-Derror``.2135
2053 (Martin Pool, #240161)2136* Errors about missing libraries are now shown without a traceback,
20542137 and with a suggestion to install the library. The full traceback is
2055 * Fetch from a stacked branch copies all required data.2138 still in ``.bzr.log`` and can be shown with ``-Derror``.
2056 (Aaron Bentley, #248506)2139 (Martin Pool, #240161)
20572140
2058 * Handle urls such as ftp://user@host.com@www.host.com where the user2141* Fetch from a stacked branch copies all required data.
2059 name contains an @.2142 (Aaron Bentley, #248506)
2060 (Neil Martinsen-Burrell, #228058)2143
20612144* Handle urls such as ftp://user@host.com@www.host.com where the user
2062 * ``needs_read_lock`` and ``needs_write_lock`` now suppress an error during2145 name contains an @.
2063 ``unlock`` if there was an error in the original function. This helps2146 (Neil Martinsen-Burrell, #228058)
2064 most when there is a failure with a smart server action, since often the2147
2065 connection closes and we cannot unlock.2148* ``needs_read_lock`` and ``needs_write_lock`` now suppress an error during
2066 (Andrew Bennetts, John Arbash Meinel, #125784)2149 ``unlock`` if there was an error in the original function. This helps
20672150 most when there is a failure with a smart server action, since often the
2068 * Obsolete hidden command ``bzr fetch`` removed.2151 connection closes and we cannot unlock.
2069 (Martin Pool, #172870)2152 (Andrew Bennetts, John Arbash Meinel, #125784)
20702153
2071 * Raise the correct exception when doing ``-rbefore:0`` or ``-c0``.2154* Obsolete hidden command ``bzr fetch`` removed.
2072 (John Arbash Meinel, #239933)2155 (Martin Pool, #172870)
20732156
2074 * You can now compare file revisions in Windows diff programs from2157* Raise the correct exception when doing ``-rbefore:0`` or ``-c0``.
2075 Cygwin Bazaar.2158 (John Arbash Meinel, #239933)
2076 (Matt McClure, #209281)2159
20772160* You can now compare file revisions in Windows diff programs from
2078 * revision_history now tolerates mainline ghosts for Branch format 6.2161 Cygwin Bazaar.
2079 (Aaron Bentley, #235055)2162 (Matt McClure, #209281)
20802163
2081 * Set locale from environment for third party libs.2164* revision_history now tolerates mainline ghosts for Branch format 6.
2082 (Martin von Gagern, #128496)2165 (Aaron Bentley, #235055)
20832166
2084 DOCUMENTATION:2167* Set locale from environment for third party libs.
20852168 (Martin von Gagern, #128496)
2086 * Added *Using stacked branches* to the User Guide.2169
2087 (Ian Clatworthy)2170Documentation
20882171*************
2089 * Updated developer documentation.2172
2090 (Martin Pool)2173* Added *Using stacked branches* to the User Guide.
20912174 (Ian Clatworthy)
2092 TESTING:2175
20932176* Updated developer documentation.
2094 * ``-Dmemory`` will cause /proc/PID/status to be catted before bzr2177 (Martin Pool)
2095 exits, allowing low-key analysis of peak memory use. (Robert Collins)2178
20962179Testing
2097 * ``TestCaseWithTransport.make_branch_and_tree`` tries harder to return2180*******
2098 a tree with a ``branch`` attribute of the right format. This was2181
2099 preventing some ``RemoteBranch`` tests from actually running with2182* ``-Dmemory`` will cause /proc/PID/status to be catted before bzr
2100 ``RemoteBranch`` instances. (Andrew Bennetts)2183 exits, allowing low-key analysis of peak memory use. (Robert Collins)
21012184
2102 API CHANGES:2185* ``TestCaseWithTransport.make_branch_and_tree`` tries harder to return
21032186 a tree with a ``branch`` attribute of the right format. This was
2104 * Removed ``Repository.text_store``, ``control_store``, etc. Instead,2187 preventing some ``RemoteBranch`` tests from actually running with
2105 there are new attributes ``texts, inventories, revisions,2188 ``RemoteBranch`` instances. (Andrew Bennetts)
2106 signatures``, each of which is a ``VersionedFiles``. See the2189
2107 Repository docstring for more details.2190API Changes
2108 (Robert Collins)2191***********
21092192
2110 * ``Branch.pull`` now accepts an ``_override_hook_target`` optional2193* Removed ``Repository.text_store``, ``control_store``, etc. Instead,
2111 parameter. If you have a subclass of ``Branch`` that overrides2194 there are new attributes ``texts, inventories, revisions,
2112 ``pull`` then you should add this parameter. (Andrew Bennetts)2195 signatures``, each of which is a ``VersionedFiles``. See the
21132196 Repository docstring for more details.
2114 * ``bzrlib.check.check()`` has been deprecated in favour of the more2197 (Robert Collins)
2115 aptly-named ``bzrlib.check.check_branch()``.2198
2116 (Daniel Watkins)2199* ``Branch.pull`` now accepts an ``_override_hook_target`` optional
21172200 parameter. If you have a subclass of ``Branch`` that overrides
2118 * ``Tree.print_file`` and ``Repository.print_file`` are deprecated.2201 ``pull`` then you should add this parameter. (Andrew Bennetts)
2119 These methods are bad APIs because they write directly to sys.stdout.2202
2120 bzrlib does not use them internally, and there are no direct tests2203* ``bzrlib.check.check()`` has been deprecated in favour of the more
2121 for them. (Alexander Belchenko)2204 aptly-named ``bzrlib.check.check_branch()``.
21222205 (Daniel Watkins)
2123 INTERNALS:2206
21242207* ``Tree.print_file`` and ``Repository.print_file`` are deprecated.
2125 * ``cat`` command no longer uses ``Tree.print_file()`` internally.2208 These methods are bad APIs because they write directly to sys.stdout.
2126 (Alexander Belchenko)2209 bzrlib does not use them internally, and there are no direct tests
21272210 for them. (Alexander Belchenko)
2128 * New class method ``BzrDir.open_containing_tree_branch_or_repository``2211
2129 which eases the discovery of the tree, the branch and the repository2212Internals
2130 containing a given location.2213*********
2131 (Daniel Watkins)2214
21322215* ``cat`` command no longer uses ``Tree.print_file()`` internally.
2133 * New ``versionedfile.KeyMapper`` interface to abstract out the access to2216 (Alexander Belchenko)
2134 underlying .knit/.kndx etc files in repositories with partitioned2217
2135 storage. (Robert Collins)2218* New class method ``BzrDir.open_containing_tree_branch_or_repository``
21362219 which eases the discovery of the tree, the branch and the repository
2137 * Obsolete developer-use command ``weave-join`` has been removed.2220 containing a given location.
2138 (Robert Collins)2221 (Daniel Watkins)
21392222
2140 * ``RemoteToOtherFetcher`` and ``get_data_stream_for_search`` removed,2223* New ``versionedfile.KeyMapper`` interface to abstract out the access to
2141 to support new ``VersionedFiles`` layering.2224 underlying .knit/.kndx etc files in repositories with partitioned
2142 (Robert Collins)2225 storage. (Robert Collins)
2226
2227* Obsolete developer-use command ``weave-join`` has been removed.
2228 (Robert Collins)
2229
2230* ``RemoteToOtherFetcher`` and ``get_data_stream_for_search`` removed,
2231 to support new ``VersionedFiles`` layering.
2232 (Robert Collins)
21432233
21442234
2145bzr 1.6beta2 2008-06-102235bzr 1.6beta2 2008-06-10
2146-----------------------2236#######################
21472237
2148This release contains further progress towards our 1.6 goals of shallow2238This release contains further progress towards our 1.6 goals of shallow
2149repositories, and contains a fix for some user-affecting bugs in the2239repositories, and contains a fix for some user-affecting bugs in the
2150repository layer. Building working trees during checkout and branch is2240repository layer. Building working trees during checkout and branch is
2151now faster.2241now faster.
21522242
2153 BUG FIXES:2243Bug Fixes
21542244*********
2155 * Avoid KnitCorrupt error extracting inventories from some repositories.2245
2156 (The data is not corrupt; an internal check is detecting a problem2246* Avoid KnitCorrupt error extracting inventories from some repositories.
2157 reading from the repository.)2247 (The data is not corrupt; an internal check is detecting a problem
2158 (Martin Pool, Andrew Bennetts, Robert Collins, #234748)2248 reading from the repository.)
21592249 (Martin Pool, Andrew Bennetts, Robert Collins, #234748)
2160 * ``bzr status`` was breaking if you merged the same revision twice.2250
2161 (John Arbash Meinel, #235407)2251* ``bzr status`` was breaking if you merged the same revision twice.
21622252 (John Arbash Meinel, #235407)
2163 * Fix infinite loop consuming 100% CPU when a connection is lost while2253
2164 reading a response body via the smart protocol v1 or v2.2254* Fix infinite loop consuming 100% CPU when a connection is lost while
2165 (Andrew Bennetts)2255 reading a response body via the smart protocol v1 or v2.
21662256 (Andrew Bennetts)
2167 * Inserting a bundle which changes the contents of a file with no trailing2257
2168 end of line, causing a knit snapshot in a 'knits' repository will no longer2258* Inserting a bundle which changes the contents of a file with no trailing
2169 cause KnitCorrupt. (Robert Collins)2259 end of line, causing a knit snapshot in a 'knits' repository will no longer
21702260 cause KnitCorrupt. (Robert Collins)
2171 * ``RemoteBranch.pull`` needs to return the ``self._real_branch``'s2261
2172 pull result. It was instead just returning None, which breaks ``bzr2262* ``RemoteBranch.pull`` needs to return the ``self._real_branch``'s
2173 pull``. (John Arbash Meinel, #238149)2263 pull result. It was instead just returning None, which breaks ``bzr
21742264 pull``. (John Arbash Meinel, #238149)
2175 * Sanitize branch nick before using it as an attachment filename in2265
2176 ``bzr send``. (Lukáš Lalinský, #210218)2266* Sanitize branch nick before using it as an attachment filename in
21772267 ``bzr send``. (Lukáš Lalinský, #210218)
2178 * Squash ``inv_entry.symlink_target`` to a plain string when2268
2179 generating DirState details. This prevents from getting a2269* Squash ``inv_entry.symlink_target`` to a plain string when
2180 ``UnicodeError`` when you have symlinks and non-ascii filenames.2270 generating DirState details. This prevents from getting a
2181 (John Arbash Meinel, #135320)2271 ``UnicodeError`` when you have symlinks and non-ascii filenames.
21822272 (John Arbash Meinel, #135320)
2183 IMPROVEMENTS:2273
21842274Improvements
2185 * Added the 'alias' command to set/unset and display aliases. (Tim Penhey)2275************
21862276
2187 * ``added``, ``modified``, and ``unknowns`` behaviour made consistent (all three2277* Added the 'alias' command to set/unset and display aliases. (Tim Penhey)
2188 now quote paths where required). Added ``--null`` option to ``added`` and2278
2189 ``modified`` (for null-separated unknowns, use ``ls --unknown --null``)2279* ``added``, ``modified``, and ``unknowns`` behaviour made consistent (all three
2190 (Adrian Wilkins)2280 now quote paths where required). Added ``--null`` option to ``added`` and
21912281 ``modified`` (for null-separated unknowns, use ``ls --unknown --null``)
2192 * Faster branching (1.09x) and lightweight checkouts (1.06x) on large trees.2282 (Adrian Wilkins)
2193 (Ian Clatworthy, Aaron Bentley)2283
21942284* Faster branching (1.09x) and lightweight checkouts (1.06x) on large trees.
2195 DOCUMENTATION:2285 (Ian Clatworthy, Aaron Bentley)
21962286
2197 * Added *Bazaar Zen* section to the User Guide. (Ian Clatworthy)2287Documentation
21982288*************
2199 TESTING:2289
22002290* Added *Bazaar Zen* section to the User Guide. (Ian Clatworthy)
2201 * Fix the test HTTPServer to be isolated from chdir calls made while it is2291
2202 running, allowing it to be used in blackbox tests. (Robert Collins)2292Testing
22032293*******
2204 API CHANGES:2294
22052295* Fix the test HTTPServer to be isolated from chdir calls made while it is
2206 * ``WorkingTree.set_parent_(ids/trees)`` will now filter out revisions2296 running, allowing it to be used in blackbox tests. (Robert Collins)
2207 which are in the ancestry of other revisions. So if you merge the same2297
2208 tree twice, or merge an ancestor of an existing merge, it will only2298API Changes
2209 record the newest. (If you merge a descendent, it will replace its2299***********
2210 ancestor). (John Arbash Meinel, #235407)2300
22112301* ``WorkingTree.set_parent_(ids/trees)`` will now filter out revisions
2212 * ``RepositoryPolicy.__init__`` now requires stack_on and stack_on_pwd,2302 which are in the ancestry of other revisions. So if you merge the same
2213 through the derived classes do not. (Aaron Bentley)2303 tree twice, or merge an ancestor of an existing merge, it will only
22142304 record the newest. (If you merge a descendent, it will replace its
2215 INTERNALS:2305 ancestor). (John Arbash Meinel, #235407)
22162306
2217 * ``bzrlib.bzrdir.BzrDir.sprout`` now accepts ``stacked`` to control2307* ``RepositoryPolicy.__init__`` now requires stack_on and stack_on_pwd,
2218 creating stacked branches. (Robert Collins)2308 through the derived classes do not. (Aaron Bentley)
22192309
2220 * Knit record serialisation is now stricter on what it will accept, to2310Internals
2221 guard against potential internal bugs, or broken input. (Robert Collins)2311*********
2312
2313* ``bzrlib.bzrdir.BzrDir.sprout`` now accepts ``stacked`` to control
2314 creating stacked branches. (Robert Collins)
2315
2316* Knit record serialisation is now stricter on what it will accept, to
2317 guard against potential internal bugs, or broken input. (Robert Collins)
22222318
22232319
2224bzr 1.6beta1 2008-06-022320bzr 1.6beta1 2008-06-02
2225-----------------------2321#######################
22262322
22272323
2228Commands that work on the revision history such as push, pull, missing,2324Commands that work on the revision history such as push, pull, missing,
@@ -2233,395 +2329,409 @@
2233and future extensions.2329and future extensions.
22342330
22352331
2236 NOTES WHEN UPGRADING:2332Notes When Upgrading
22372333********************
2238 * There is a new version of the network protocol used for bzr://, bzr+ssh://2334
2239 and bzr+http:// connections. This will allow more efficient requests and2335* There is a new version of the network protocol used for bzr://, bzr+ssh://
2240 responses, and more graceful fallback when a server is too old to2336 and bzr+http:// connections. This will allow more efficient requests and
2241 recognise a request from a more recent client. Bazaar 1.6 will2337 responses, and more graceful fallback when a server is too old to
2242 interoperate with 0.16 and later versions, but servers should be upgraded2338 recognise a request from a more recent client. Bazaar 1.6 will
2243 when possible. Bazaar 1.6 no longer interoperates with 0.15 and earlier via2339 interoperate with 0.16 and later versions, but servers should be upgraded
2244 these protocols. Use alternatives like SFTP or upgrade those servers.2340 when possible. Bazaar 1.6 no longer interoperates with 0.15 and earlier via
2245 (Andrew Bennetts, #83935)2341 these protocols. Use alternatives like SFTP or upgrade those servers.
22462342 (Andrew Bennetts, #83935)
2247 CHANGES:2343
22482344Changes
2249 * Deprecation warnings will not be suppressed when running ``bzr selftest``2345*******
2250 so that developers can see if their code is using deprecated functions.2346
2251 (John Arbash Meinel)2347* Deprecation warnings will not be suppressed when running ``bzr selftest``
22522348 so that developers can see if their code is using deprecated functions.
2253 FEATURES:2349 (John Arbash Meinel)
22542350
2255 * Adding ``-Derror`` will now display a traceback when a plugin fails to2351Features
2256 load. (James Westby)2352********
22572353
2258 IMPROVEMENTS:2354* Adding ``-Derror`` will now display a traceback when a plugin fails to
22592355 load. (James Westby)
2260 * ``bzr branch/push/pull -r XXX`` now have a helper function for finding2356
2261 the revno of the new revision (``Graph.find_distance_to_null``). This2357Improvements
2262 should make something like ``bzr branch -r -100`` in a shared, no-trees2358************
2263 repository much snappier. (John Arbash Meinel)2359
22642360* ``bzr branch/push/pull -r XXX`` now have a helper function for finding
2265 * ``bzr log --short -r X..Y`` no longer needs to access the full revision2361 the revno of the new revision (``Graph.find_distance_to_null``). This
2266 history. This makes it noticeably faster when logging the last few2362 should make something like ``bzr branch -r -100`` in a shared, no-trees
2267 revisions. (John Arbash Meinel)2363 repository much snappier. (John Arbash Meinel)
22682364
2269 * ``bzr ls`` now accepts ``-V`` as an alias for ``--versioned``.2365* ``bzr log --short -r X..Y`` no longer needs to access the full revision
2270 (Jerad Cramp, #165086)2366 history. This makes it noticeably faster when logging the last few
22712367 revisions. (John Arbash Meinel)
2272 * ``bzr missing`` uses the new ``Graph.find_unique_ancestors`` and2368
2273 ``Graph.find_differences`` to determine missing revisions without having2369* ``bzr ls`` now accepts ``-V`` as an alias for ``--versioned``.
2274 to search the whole ancestry. (John Arbash Meinel, #174625)2370 (Jerad Cramp, #165086)
22752371
2276 * ``bzr uncommit`` now uses partial history access, rather than always2372* ``bzr missing`` uses the new ``Graph.find_unique_ancestors`` and
2277 extracting the full revision history for a branch. This makes it2373 ``Graph.find_differences`` to determine missing revisions without having
2278 resolve the appropriate revisions much faster (in testing it drops2374 to search the whole ancestry. (John Arbash Meinel, #174625)
2279 uncommit from 1.5s => 0.4s). It also means ``bzr log --short`` is one2375
2280 step closer to not using full revision history.2376* ``bzr uncommit`` now uses partial history access, rather than always
2281 (John Arbash Meinel, #172649)2377 extracting the full revision history for a branch. This makes it
22822378 resolve the appropriate revisions much faster (in testing it drops
2283 BUGFIXES:2379 uncommit from 1.5s => 0.4s). It also means ``bzr log --short`` is one
22842380 step closer to not using full revision history.
2285 * ``bzr merge --lca`` should handle when two revisions have no common2381 (John Arbash Meinel, #172649)
2286 ancestor other than NULL_REVISION. (John Arbash Meinel, #235715)2382
22872383Bugfixes
2288 * ``bzr status`` was breaking if you merged the same revision twice.2384********
2289 (John Arbash Meinel, #235407)2385
22902386* ``bzr merge --lca`` should handle when two revisions have no common
2291 * ``bzr push`` with both ``--overwrite`` and ``-r NNN`` options no longer2387 ancestor other than NULL_REVISION. (John Arbash Meinel, #235715)
2292 fails. (Andrew Bennetts, #234229)2388
22932389* ``bzr status`` was breaking if you merged the same revision twice.
2294 * Correctly track the base URL of a smart medium when using bzr+http://2390 (John Arbash Meinel, #235407)
2295 URLs, which was causing spurious "No repository present" errors with2391
2296 branches in shared repositories accessed over bzr+http.2392* ``bzr push`` with both ``--overwrite`` and ``-r NNN`` options no longer
2297 (Andrew Bennetts, #230550)2393 fails. (Andrew Bennetts, #234229)
22982394
2299 * Define ``_remote_is_at_least_1_2`` on ``SmartClientMedium`` so that all2395* Correctly track the base URL of a smart medium when using bzr+http://
2300 implementations have the attribute. Fixes 'PyCurlTransport' object has no2396 URLs, which was causing spurious "No repository present" errors with
2301 attribute '_remote_is_at_least_1_2' attribute errors.2397 branches in shared repositories accessed over bzr+http.
2302 (Andrew Bennetts, #220806)2398 (Andrew Bennetts, #230550)
23032399
2304 * Failure to delete an obsolete pack file should just give a warning2400* Define ``_remote_is_at_least_1_2`` on ``SmartClientMedium`` so that all
2305 message, not a fatal error. It may for example fail if the file is still2401 implementations have the attribute. Fixes 'PyCurlTransport' object has no
2306 in use by another process.2402 attribute '_remote_is_at_least_1_2' attribute errors.
2307 (Martin Pool)2403 (Andrew Bennetts, #220806)
23082404
2309 * Fix MemoryError during large fetches over HTTP by limiting the amount of2405* Failure to delete an obsolete pack file should just give a warning
2310 data we try to read per ``recv`` call. The problem was observed with2406 message, not a fatal error. It may for example fail if the file is still
2311 Windows and a proxy, but might affect other environments as well.2407 in use by another process.
2312 (Eric Holmberg, #215426)2408 (Martin Pool)
23132409
2314 * Handle old merge directives correctly in Merger.from_mergeable. Stricter2410* Fix MemoryError during large fetches over HTTP by limiting the amount of
2315 get_parent_map requirements exposed a latent bug here. (Aaron Bentley)2411 data we try to read per ``recv`` call. The problem was observed with
23162412 Windows and a proxy, but might affect other environments as well.
2317 * Issue a warning and ignore passwords declared in authentication.conf when2413 (Eric Holmberg, #215426)
2318 used for an ssh scheme (sftp or bzr+ssh).2414
2319 (Vincent Ladeuil, #203186)2415* Handle old merge directives correctly in Merger.from_mergeable. Stricter
23202416 get_parent_map requirements exposed a latent bug here. (Aaron Bentley)
2321 * Make both http implementations raise appropriate exceptions on 4032417
2322 Forbidden when POSTing smart requests.2418* Issue a warning and ignore passwords declared in authentication.conf when
2323 (Vincent Ladeuil, #230223)2419 used for an ssh scheme (sftp or bzr+ssh).
23242420 (Vincent Ladeuil, #203186)
2325 * Properly *title* header names in http requests instead of capitalizing2421
2326 them.2422* Make both http implementations raise appropriate exceptions on 403
2327 (Vincent Ladeuil, #229076)2423 Forbidden when POSTing smart requests.
23282424 (Vincent Ladeuil, #230223)
2329 * The "Unable to obtain lock" error message now also suggests using2425
2330 ``bzr break-lock`` to fix it. (Martin Albisetti, #139202)2426* Properly *title* header names in http requests instead of capitalizing
23312427 them.
2332 * Treat an encoding of '' as ascii; this can happen when bzr is run2428 (Vincent Ladeuil, #229076)
2333 under vim on Mac OS X.2429
2334 (Neil Martinsen-Burrell)2430* The "Unable to obtain lock" error message now also suggests using
23352431 ``bzr break-lock`` to fix it. (Martin Albisetti, #139202)
2336 * ``VersionedFile.make_mpdiffs()`` was raising an exception that wasn't in2432
2337 scope. (Daniel Fischer #235687)2433* Treat an encoding of '' as ascii; this can happen when bzr is run
23382434 under vim on Mac OS X.
2339 DOCUMENTATION:2435 (Neil Martinsen-Burrell)
23402436
2341 * Added directory structure and started translation of docs in spanish.2437* ``VersionedFile.make_mpdiffs()`` was raising an exception that wasn't in
2342 (Martin Albisetti, Lucio Albenga)2438 scope. (Daniel Fischer #235687)
23432439
2344 * Incorporate feedback from Jelmer Vernooij and Neil Martinsen-Burrell2440Documentation
2345 on the plugin and integration chapters of the User Guide.2441*************
2346 (Ian Clatworthy)2442
23472443* Added directory structure and started translation of docs in spanish.
2348 * More Bazaar developer documentation about packaging and release process,2444 (Martin Albisetti, Lucio Albenga)
2349 and about use of Python reprs.2445
2350 (Martin Pool, Martin Albisetti)2446* Incorporate feedback from Jelmer Vernooij and Neil Martinsen-Burrell
23512447 on the plugin and integration chapters of the User Guide.
2352 * Updated Tortise strategy document. (Mark Hammond)2448 (Ian Clatworthy)
23532449
2354 TESTING:2450* More Bazaar developer documentation about packaging and release process,
23552451 and about use of Python reprs.
2356 * ``bzrlib.tests.adapt_tests`` was broken and unused - it has been fixed.2452 (Martin Pool, Martin Albisetti)
2357 (Robert Collins)2453
23582454* Updated Tortise strategy document. (Mark Hammond)
2359 * Fix the test HTTPServer to be isolated from chdir calls made while it is2455
2360 running, allowing it to be used in blackbox tests. (Robert Collins)2456Testing
23612457*******
2362 * New helper function for splitting test suites2458
2363 ``split_suite_by_condition``. (Robert Collins)2459* ``bzrlib.tests.adapt_tests`` was broken and unused - it has been fixed.
23642460 (Robert Collins)
2365 INTERNALS:2461
23662462* Fix the test HTTPServer to be isolated from chdir calls made while it is
2367 * ``Branch.missing_revisions`` has been deprecated. Similar functionality2463 running, allowing it to be used in blackbox tests. (Robert Collins)
2368 can be obtained using ``bzrlib.missing.find_unmerged``. The api was2464
2369 fairly broken, and the function was unused, so we are getting rid of it.2465* New helper function for splitting test suites
2370 (John Arbash Meinel)2466 ``split_suite_by_condition``. (Robert Collins)
23712467
2372 API CHANGES:2468Internals
23732469*********
2374 * ``Branch.abspath`` is deprecated; use the Tree or Transport2470
2375 instead. (Martin Pool)2471* ``Branch.missing_revisions`` has been deprecated. Similar functionality
23762472 can be obtained using ``bzrlib.missing.find_unmerged``. The api was
2377 * ``Branch.update_revisions`` now takes an optional ``Graph``2473 fairly broken, and the function was unused, so we are getting rid of it.
2378 object. This can be used by ``update_revisions`` when it is2474 (John Arbash Meinel)
2379 checking ancestry, and allows callers to prefer request to go to a2475
2380 local branch. (John Arbash Meinel)2476API Changes
23812477***********
2382 * Branch, Repository, Tree and BzrDir should expose a Transport as an2478
2383 attribute if they have one, rather than having it indirectly accessible2479* ``Branch.abspath`` is deprecated; use the Tree or Transport
2384 as ``.control_files._transport``. This doesn't add a requirement2480 instead. (Martin Pool)
2385 to support a Transport in cases where it was not needed before;2481
2386 it just simplifies the way it is reached. (Martin Pool)2482* ``Branch.update_revisions`` now takes an optional ``Graph``
23872483 object. This can be used by ``update_revisions`` when it is
2388 * ``bzr missing --mine-only`` will return status code 0 if you have no2484 checking ancestry, and allows callers to prefer request to go to a
2389 new revisions, but the remote does. Similarly for ``--theirs-only``.2485 local branch. (John Arbash Meinel)
2390 The new code only checks one side, so it doesn't know if the other2486
2391 side has changes. This seems more accurate with the request anyway.2487* Branch, Repository, Tree and BzrDir should expose a Transport as an
2392 It also changes the output to print '[This|Other] branch is up to2488 attribute if they have one, rather than having it indirectly accessible
2393 date.' rather than displaying nothing. (John Arbash Meinel)2489 as ``.control_files._transport``. This doesn't add a requirement
23942490 to support a Transport in cases where it was not needed before;
2395 * ``LockableFiles.put_utf8``, ``put_bytes`` and ``controlfilename``2491 it just simplifies the way it is reached. (Martin Pool)
2396 are now deprecated in favor of using Transport operations.2492
2397 (Martin Pool)2493* ``bzr missing --mine-only`` will return status code 0 if you have no
23982494 new revisions, but the remote does. Similarly for ``--theirs-only``.
2399 * Many methods on ``VersionedFile``, ``Repository`` and in2495 The new code only checks one side, so it doesn't know if the other
2400 ``bzrlib.revision`` deprecated before bzrlib 1.5 have been removed.2496 side has changes. This seems more accurate with the request anyway.
2401 (Robert Collins)2497 It also changes the output to print '[This|Other] branch is up to
24022498 date.' rather than displaying nothing. (John Arbash Meinel)
2403 * ``RevisionSpec.wants_revision_history`` can be set to False for a given2499
2404 ``RevisionSpec``. This will disable the existing behavior of passing in2500* ``LockableFiles.put_utf8``, ``put_bytes`` and ``controlfilename``
2405 the full revision history to ``self._match_on``. Useful for specs that2501 are now deprecated in favor of using Transport operations.
2406 don't actually need access to the full history. (John Arbash Meinel)2502 (Martin Pool)
24072503
2408 * The constructors of ``SmartClientMedium`` and its subclasses now require a2504* Many methods on ``VersionedFile``, ``Repository`` and in
2409 ``base`` parameter. ``SmartClientMedium`` implementations now also need2505 ``bzrlib.revision`` deprecated before bzrlib 1.5 have been removed.
2410 to provide a ``remote_path_from_transport`` method. (Andrew Bennetts)2506 (Robert Collins)
24112507
2412 * The default permissions for creating new files and directories2508* ``RevisionSpec.wants_revision_history`` can be set to False for a given
2413 should now be obtained from ``BzrDir._get_file_mode()`` and2509 ``RevisionSpec``. This will disable the existing behavior of passing in
2414 ``_get_dir_mode()``, rather than from LockableFiles. The ``_set_file_mode``2510 the full revision history to ``self._match_on``. Useful for specs that
2415 and ``_set_dir_mode`` variables on LockableFiles which were advertised2511 don't actually need access to the full history. (John Arbash Meinel)
2416 as a way for plugins to control this are no longer consulted.2512
2417 (Martin Pool)2513* The constructors of ``SmartClientMedium`` and its subclasses now require a
24182514 ``base`` parameter. ``SmartClientMedium`` implementations now also need
2419 * ``VersionedFile.join`` is deprecated. This method required local2515 to provide a ``remote_path_from_transport`` method. (Andrew Bennetts)
2420 instances of both versioned file objects and was thus hostile to being2516
2421 used for streaming from a smart server. The new get_record_stream and2517* The default permissions for creating new files and directories
2422 insert_record_stream are meant to efficiently replace this method.2518 should now be obtained from ``BzrDir._get_file_mode()`` and
2423 (Robert Collins)2519 ``_get_dir_mode()``, rather than from LockableFiles. The ``_set_file_mode``
24242520 and ``_set_dir_mode`` variables on LockableFiles which were advertised
2425 * ``WorkingTree.set_parent_(ids/trees)`` will now filter out revisions2521 as a way for plugins to control this are no longer consulted.
2426 which are in the ancestry of other revisions. So if you merge the same2522 (Martin Pool)
2427 tree twice, or merge an ancestor of an existing merge, it will only2523
2428 record the newest. (If you merge a descendent, it will replace its2524* ``VersionedFile.join`` is deprecated. This method required local
2429 ancestor). (John Arbash Meinel, #235407)2525 instances of both versioned file objects and was thus hostile to being
24302526 used for streaming from a smart server. The new get_record_stream and
2431 * ``WorkingTreeFormat2.stub_initialize_remote`` is now private.2527 insert_record_stream are meant to efficiently replace this method.
2432 (Martin Pool)2528 (Robert Collins)
2529
2530* ``WorkingTree.set_parent_(ids/trees)`` will now filter out revisions
2531 which are in the ancestry of other revisions. So if you merge the same
2532 tree twice, or merge an ancestor of an existing merge, it will only
2533 record the newest. (If you merge a descendent, it will replace its
2534 ancestor). (John Arbash Meinel, #235407)
2535
2536* ``WorkingTreeFormat2.stub_initialize_remote`` is now private.
2537 (Martin Pool)
24332538
24342539
2435bzr 1.5 2008-05-162540bzr 1.5 2008-05-16
2436------------------2541##################
24372542
2438This release of Bazaar includes several updates to the documentation, and fixes2543This release of Bazaar includes several updates to the documentation, and fixes
2439to prepare for making rich root support the default format. Many bugs have been2544to prepare for making rich root support the default format. Many bugs have been
2440squashed, including fixes to log, bzr+ssh inter-operation with older servers.2545squashed, including fixes to log, bzr+ssh inter-operation with older servers.
24412546
2442 CHANGES:2547Changes
24432548*******
2444 * Suppress deprecation warnings when bzrlib is a 'final' release. This way2549
2445 users of packaged software won't be bothered with DeprecationWarnings,2550* Suppress deprecation warnings when bzrlib is a 'final' release. This way
2446 but developers and testers will still see them. (John Arbash Meinel)2551 users of packaged software won't be bothered with DeprecationWarnings,
24472552 but developers and testers will still see them. (John Arbash Meinel)
2448 DOCUMENTATION:2553
24492554Documentation
2450 * Incorporate feedback from Jelmer Vernooij and Neil Martinsen-Burrell2555*************
2451 on the plugin and integration chapters of the User Guide.2556
2452 (Ian Clatworthy)2557* Incorporate feedback from Jelmer Vernooij and Neil Martinsen-Burrell
2558 on the plugin and integration chapters of the User Guide.
2559 (Ian Clatworthy)
24532560
24542561
2455bzr 1.5rc1 2008-05-092562bzr 1.5rc1 2008-05-09
2456---------------------2563#####################
24572564
2458 NOTES WHEN UPGRADING:2565Changes
24592566*******
2460 CHANGES:2567
24612568* Broader support of GNU Emacs mail clients. Set
2462 * Broader support of GNU Emacs mail clients. Set2569 ``mail_client=emacsclient`` in your bazaar.conf and ``send`` will pop the
2463 ``mail_client=emacsclient`` in your bazaar.conf and ``send`` will pop the2570 bundle in a mail buffer according to the value of ``mail-user-agent``
2464 bundle in a mail buffer according to the value of ``mail-user-agent``2571 variable. (Xavier Maillard)
2465 variable. (Xavier Maillard)2572
24662573Improvements
2467 FEATURES:2574************
24682575
2469 IMPROVEMENTS:2576* Diff now handles revision specs like "branch:" and "submit:" more
24702577 efficiently. (Aaron Bentley, #202928)
2471 * Diff now handles revision specs like "branch:" and "submit:" more2578
2472 efficiently. (Aaron Bentley, #202928)2579* More friendly error given when attempt to start the smart server
24732580 on an address already in use. (Andrea Corbellini, #200575)
2474 * More friendly error given when attempt to start the smart server2581
2475 on an address already in use. (Andrea Corbellini, #200575)2582* Pull completes much faster when there is nothing to pull.
24762583 (Aaron Bentley)
2477 * Pull completes much faster when there is nothing to pull.2584
2478 (Aaron Bentley)2585Bugfixes
24792586********
2480 BUGFIXES:2587
24812588* Authentication.conf can define sections without password.
2482 * Authentication.conf can define sections without password.2589 (Vincent Ladeuil, #199440)
2483 (Vincent Ladeuil, #199440)2590
24842591* Avoid muttering every time a child update does not cause a progress bar
2485 * Avoid muttering every time a child update does not cause a progress bar2592 update. (John Arbash Meinel, #213771)
2486 update. (John Arbash Meinel, #213771)2593
24872594* ``Branch.reconcile()`` is now implemented. This allows ``bzr reconcile``
2488 * ``Branch.reconcile()`` is now implemented. This allows ``bzr reconcile``2595 to fix when a Branch has a non-canonical mainline history. ``bzr check``
2489 to fix when a Branch has a non-canonical mainline history. ``bzr check``2596 also detects this condition. (John Arbash Meinel, #177855)
2490 also detects this condition. (John Arbash Meinel, #177855)2597
24912598* ``bzr log -r ..X bzr://`` was failing, because it was getting a request
2492 * ``bzr log -r ..X bzr://`` was failing, because it was getting a request2599 for ``revision_id=None`` which was not a string.
2493 for ``revision_id=None`` which was not a string.2600 (John Arbash Meinel, #211661)
2494 (John Arbash Meinel, #211661)2601
24952602* ``bzr commit`` now works with Microsoft's FTP service.
2496 * ``bzr commit`` now works with Microsoft's FTP service.2603 (Andreas Deininger)
2497 (Andreas Deininger)2604
24982605* Catch definitions outside sections in authentication.conf.
2499 * Catch definitions outside sections in authentication.conf.2606 (Vincent Ladeuil, #217650)
2500 (Vincent Ladeuil, #217650)2607
25012608* Conversion from non-rich-root to rich-root(-pack) updates inventory
2502 * Conversion from non-rich-root to rich-root(-pack) updates inventory2609 sha1s, even when bundles are used. (Aaron Bentley, #181391)
2503 sha1s, even when bundles are used. (Aaron Bentley, #181391)2610
25042611* Conversion from non-rich-root to rich-root(-pack) works correctly even
2505 * Conversion from non-rich-root to rich-root(-pack) works correctly even2612 though search keys are not topologically sorted. (Aaron Bentley)
2506 though search keys are not topologically sorted. (Aaron Bentley)2613
25072614* Conversion from non-rich-root to rich-root(-pack) works even when a
2508 * Conversion from non-rich-root to rich-root(-pack) works even when a2615 parent revision has a different root id. (Aaron Bentley, #177874)
2509 parent revision has a different root id. (Aaron Bentley, #177874)2616
25102617* Disable strace testing until strace is fixed (see bug #103133) and emit a
2511 * Disable strace testing until strace is fixed (see bug #103133) and emit a2618 warning when selftest ends to remind us of leaking tests.
2512 warning when selftest ends to remind us of leaking tests.2619 (Vincent Ladeuil, #226769)
2513 (Vincent Ladeuil, #226769)2620
25142621* Fetching all revisions from a repository does not cause pack collisions.
2515 * Fetching all revisions from a repository does not cause pack collisions.2622 (Robert Collins, Aaron Bentley, #212908)
2516 (Robert Collins, Aaron Bentley, #212908)2623
25172624* Fix error about "attempt to add line-delta in non-delta knit".
2518 * Fix error about "attempt to add line-delta in non-delta knit".2625 (Andrew Bennetts, #217701)
2519 (Andrew Bennetts, #217701)2626
25202627* Pushing a branch in "dirstate" format (Branch5) over bzr+ssh would break
2521 * Pushing a branch in "dirstate" format (Branch5) over bzr+ssh would break2628 if the remote server was < version 1.2. This was due to a bug in the
2522 if the remote server was < version 1.2. This was due to a bug in the2629 RemoteRepository.get_parent_map() fallback code.
2523 RemoteRepository.get_parent_map() fallback code.2630 (John Arbash Meinel, #214894)
2524 (John Arbash Meinel, #214894)2631
25252632* Remove leftover code in ``bzr_branch`` that inappropriately creates
2526 * Remove leftover code in ``bzr_branch`` that inappropriately creates2633 a ``branch-name`` file in the branch control directory.
2527 a ``branch-name`` file in the branch control directory.2634 (Martin Pool)
2528 (Martin Pool)2635
25292636* Set SO_REUSEADDR on server sockets of ``bzr serve`` to avoid problems
2530 * Set SO_REUSEADDR on server sockets of ``bzr serve`` to avoid problems2637 rebinding the socket when starting the server a second time.
2531 rebinding the socket when starting the server a second time.2638 (John Arbash Meinel, Martin Pool, #164288)
2532 (John Arbash Meinel, Martin Pool, #164288)2639
25332640* Severe performance degradation in fetching from knit repositories to
2534 * Severe performance degradation in fetching from knit repositories to2641 knits and packs due to parsing the entire revisions.kndx on every graph
2535 knits and packs due to parsing the entire revisions.kndx on every graph
2536 walk iteration fixed by using the Repository.get_graph API. There was
2537 another regression in knit => knit fetching which re-read the index for
2538 every revision each side had in common.
2539 (Robert Collins, John Arbash Meinel)
2540
2541 * When logging the changes to a particular file, there was a bug if there
2542 were ghosts in the revision ancestry. (John Arbash Meinel, #209948)
2543
2544 * xs4all's ftp server returns a temporary error when trying to list an
2545 empty directory, rather than returning an empty list. Adding a
2546 workaround so that we don't get spurious failures.
2547 (John Arbash Meinel, #215522)
2548
2549 DOCUMENTATION:
2550
2551 * Expanded the User Guide to include new chapters on popular plugins and
2552 integrating Bazaar into your environment. The *Best practices* chapter
2553 was renamed to *Miscellaneous topics* as suggested by community
2554 feedback as well. (Ian Clatworthy)
2555
2556 * Document outlining strategies for TortoiseBzr. (Mark Hammond)
2557
2558 * Improved the documentation on hooks. (Ian Clatworthy)
2559
2560 * Update authentication docs regarding ssh agents.
2561 (Vincent Ladeuil, #183705)
2562
2563 TESTING:
2564
2565 * Add ``thread_name_suffix`` parameter to SmartTCPServer_for_testing, to
2566 make it easy to identify which test spawned a thread with an unhandled
2567 exception. (Andrew Bennetts)
2568
2569 * New ``--debugflag``/``-E`` option to ``bzr selftest`` for setting
2570 options for debugging tests, these are complementary to the the -D
2571 options. The ``-Dselftest_debug`` global option has been replaced by the
2572 ``-E=allow_debug`` option for selftest. (Andrew Bennetts)
2573
2574 * Parameterised test ids are preserved correctly to aid diagnosis of test
2575 failures. (Robert Collins, Andrew Bennetts)
2576
2577 * selftest now accepts --starting-with <id> to load only the tests whose id
2578 starts with the one specified. This greatly speeds up running the test
2579 suite on a limited set of tests and can be used to run the tests for a
2580 single module, a single class or even a single test. (Vincent Ladeuil)
2581
2582 * The test suite modules have been modified to define load_tests() instead
2583 of test_suite(). That speeds up selective loading (via --load-list)
2584 significantly and provides many examples on how to migrate (grep for
2585 load_tests). (Vincent Ladeuil)
2586
2587 INTERNALS:
2588
2589 * ``Hooks.install_hook`` is now deprecated in favour of
2590 ``Hooks.install_named_hook`` which adds a required ``name`` parameter, to
2591 avoid having to call ``Hooks.name_hook``. (Daniel Watkins)
2592
2593 * Implement xml8 serializer. (Aaron Bentley)
2594
2595 * New form ``@deprecated_method(deprecated_in(1, 5, 0))`` for making
2596 deprecation wrappers. (Martin Pool)
2597
2598 * ``Repository.revision_parents`` is now deprecated in favour of
2599 ``Repository.get_parent_map([revid])[revid]``. (Jelmer Vernooij)
2600
2601 * The Python ``assert`` statement is no longer used in Bazaar source, and
2602 a test checks this. (Martin Pool)
2603
2604 API CHANGES:
2605
2606 * ``bzrlib.status.show_pending_merges`` requires the repository to be
2607 locked by the caller. Callers should have been doing it anyway, but it
2608 will now raise an exception if they do not. (John Arbash Meinel)
2609
2610 * Repository.get_data_stream, Repository.get_data_stream_for_search(),
2611 Repository.get_deltas_for_revsions(), Repository.revision_trees(),
2612 Repository.item_keys_introduced_by() no longer take read locks.
2613 (Aaron Bentley)
2614
2615 * ``LockableFiles.get_utf8`` and ``.get`` are deprecated, as a start
2616 towards removing LockableFiles and ``.control_files`` entirely.
2617 (Martin Pool)
2618
2619 * Methods deprecated prior to 1.1 have been removed.
2620 (Martin Pool)
The diff has been truncated for viewing.