16
16
.. These may require users to change the way they use Bazaar.
18
* ``bzr-2.4`` has officially dropped support for python2.4 and python2.5.
19
We will continue to maintain ``bzr-2.3`` for people who still need to
20
use those versions of python. (John Arbash Meinel)
21
25
.. New commands, options, etc that users may wish to try out.
27
* The text compressor used for 2a repositories now has a tweakable
28
parameter that can be set in bazaar.conf.
29
``bzr.groupcompress.max_entries_per_source`` default of 65536.
30
When doing compression, we build up an index of locations to match
31
against. Setting this higher will result in slightly better compression,
32
at a cost of more memory. Note that a value of 65k represents fully
33
sampling a 1MB file. So this only has an effect when compressing texts
34
larger than N*16 bytes. (John Arbash Meinel, #602614)
26
39
.. Improvements to existing commands, especially improved performance
27
40
or memory usage, or better results.
42
* ``bzr branch --stacked`` from a smart server uses the network a little
43
more efficiently. For a simple branch it reduces the number of
44
round-trips by about 20%. (Andrew Bennetts)
46
* ``bzr pull`` now properly triggers the fast
47
``CHKInventory.iter_changes`` rather than the slow generic
48
inter-Inventory changes. It used to use a ``DirStateRevisionTree`` as
49
one of the source trees, which is faster when we have to read the whole
50
inventory anyway, but much slower when we can get just the delta out of
51
the repository. On a 70k record tree, this changes ``bzr pull`` from 28s
52
down to 17s. (John Arbash Meinel, #780677)
54
* Slightly reduced memory consumption when fetching into a 2a repository
55
by reusing existing caching a little better. (Andrew Bennetts)
57
* Speed up ``bzr status`` by a little bit when there are a couple of
58
modified files. We now track how many files we have seen that need
59
updating, and only rewrite the dirstate file if enough of them have
60
changed. The default is 10, and can be overridden by setting the branch
61
option "``bzr.workingtree.worth_saving_limit``".
62
(Ian Clatworthy, John Arbash Meinel, #380202)
32
67
.. Fixes for situations where bzr would previously crash or give incorrect
33
68
or undesirable results.
70
* All Tree types can now be exported as tar.*, zip or directories.
73
* Correct parent is now set when using 'switch -b' with bound branches.
74
(A. S. Budden, #513709)
76
* Fix `bzr plugins` regression in bzr 2.4 which resulted in a traceback
77
from writelines on ckj terminals. (Martin [GZ], #754082)
79
* ``WT.inventory`` and ``WT.iter_entries_by_dir()`` was not correctly
80
reporting subdirectories that were tree references (in formats that
81
supported them). (John Arbash Meinel, #764677)
38
87
.. Improved or updated documentation.
89
* Restore the workaround for option names including dots (--1.14) which was
90
disabled when we stopped listing --1.9 as a format.
91
(Vincent Ladeuil, #782289)
46
99
* ``annotate_file`` has been deprecated in favor of
47
100
``annotate_file_revision_tree``. (Jelmer Vernooij, #775598)
102
* ``Inter.get`` now raises ``NoCompatibleInter`` if there are no
103
compatible optimisers rather than an instance of the class it is called
104
on. (Jelmer Vernooij)
106
* New method ``Repository.get_file_graph`` which can return the
107
per-file revision graph. (Jelmer Vernooij, #775578)
109
* The default implementation of ``Branch`` is now oriented to
110
storing the branch tip. Branch implementations which store the full
111
history should now subclass ``FullHistoryBzrBranch``.
112
``Branch._last_revision_info`` has been renamed to
113
``Branch._read_last_revision_info`` (Jelmer Vernooij)
115
* ``Tree.__iter__`` has been deprecated; use ``Tree.all_file_ids``
116
instead. (Jelmer Vernooij)
118
* ``Tree.get_symlink_target`` now takes an optional ``path``
119
argument. (Jelmer Vernooij)
98
173
or memory usage, or better results.
100
175
* ``bzr merge`` in large trees is now significantly faster. On a 70k entry
101
tree, the time went from ~3min down to 30s.
102
(John Arbash Meinel, #759091)
176
tree, the time went from ~3min down to 30s. This also effects ``bzr pull``
177
and ``bzr update`` since they use the same merge logic to update the
178
WorkingTree. (John Arbash Meinel, #759091)
180
* ``bzr revert`` now properly uses ``bzr status``'s optimized
181
``iter_changes``. This can be a significant performance difference (33s
182
to 5s on large trees). (John Arbash Meinel, #759096)
104
184
* Resolve ``lp:FOO`` urls locally rather than doing an XMLRPC request if
105
185
the user has done ``bzr launchpad-login``. The bzr+ssh URLs were already
135
215
* ``bzr log`` now works on revisions which are not in the current branch.
136
216
(Matt Giuca, #241998)
218
* Don't rewrite the dirstate file when non-interesting changes have
219
occurred. This can significantly improve 'bzr status' times when there
220
are only small changes to a large tree.
221
(Ian Clatworthy, John Arbash Meinel, #380202)
138
223
* Lazy hooks are now reset between test runs. (Jelmer Vernooij, #745566)
140
225
* ``bzrlib.merge.Merge`` now calls ``iter_changes`` without
146
231
know about so far have been fixed, but there may be fallout for edge
147
232
cases that we are missing. (John Arbash Meinel, #759091)
234
* ``SFTPTransport`` is more pro-active about closing file-handles. This
235
reduces the chance of having threads fail from async requests while
236
running the test suite. (John Arbash Meinel, #656170)
149
238
* Standalone bzr.exe installation on Windows: user can put additional python
150
239
libraries into ``site-packages`` subdirectory of the installation directory,
151
240
this might be required for "installing" extra dependencies for some plugins.
152
241
(Alexander Belchenko, #743256)
243
* ``transform.revert()`` has been updated to use
244
``wt.iter_changes(basis_tree)`` rather than
245
``basis_tree.iter_changes(wt)``. This allows the optimized code path to
246
kick in, improving ``bzr revert`` times significantly (33s to 4s on
247
large trees, 0.7s to 0.3s on small trees.) (John Arbash Meinel, #759096)
154
249
* ``TreeTransform.create_file/new_file`` can now take an optional ``sha1``
155
250
parameter. If supplied, when the transform is applied, it will then call
156
251
``self._tree._observed_sha1`` for those files. This lets us update the
443
537
``ControlDir.sprout`` no longer has a default implementation; it now
444
538
raises ``NotImplementedError``. (Jelmer Vernooij, #717937)
540
* ``bzrlib.deprecated_graph`` has been removed. ``bzrlib.graph``
541
scales better tree and should be used instead.
542
(Jelmer Vernooij, #733612)
446
544
* ``ControlDirFormat.register_format`` has been removed. Instead,
447
545
``Prober`` implementations should now implement a ``known_formats``
448
546
method. (Jelmer Vernooij)