16
16
.. These may require users to change the way they use Bazaar.
18
* Two command synonyms for ``bzr branch`` have been deprecated, to avoid
19
confusion and to allow the names to later be reused. The removed names
20
are: ``get`` and ``clone``. (Martin Pool, #506265)
21
25
.. New commands, options, etc that users may wish to try out.
27
* ``bzr commit`` now supports a ``--lossy`` argument that can be used
28
to discard any data that can not be natively represented when committing
29
to a foreign VCS. (Jelmer Vernooij, #587721)
26
34
.. Improvements to existing commands, especially improved performance
27
35
or memory usage, or better results.
37
* ``bzr merge`` in large trees is now significantly faster. On a 70k entry
38
tree, the time went from ~3min down to 30s.
39
(John Arbash Meinel, #759091)
29
41
* Resolve ``lp:FOO`` urls locally rather than doing an XMLRPC request if
30
42
the user has done ``bzr launchpad-login``. The bzr+ssh URLs were already
31
43
being handed off to the remote server anyway (xmlrpc has been mapping
36
48
call as much as 2s from Sydney. You can test the local logic by using
37
49
``-Dlaunchpad``. (John Arbash Meinel, #397739)
51
* When building a new WorkingTree (such as during ``bzr co`` or
52
``bzr branch``) we now properly store the stat and hash of files that
53
are old enough. This saves a fair amount of time on the first
54
``bzr status`` (on a 500MB tree, it saves about 30+s).
55
(John Arbash Meinel, #740932)
42
61
.. Fixes for situations where bzr would previously crash or give incorrect
43
62
or undesirable results.
64
* Arguments that can't be decoded to unicode in the current posix locale give
65
a clearer error message without a traceback. (Martin [gz], #745712)
67
* ``bzrlib.log._DEFAULT_REQUEST_PARAMS`` is no longer accidentally
68
mutated by ``bzrlib.log._apply_log_request_defaults``. In practice
69
these default values aren't relied on very often so this probably
70
wasn't causing any trouble. (Andrew Bennetts)
72
* ``bzr log`` now works on revisions which are not in the current branch.
75
* Lazy hooks are now reset between test runs. (Jelmer Vernooij, #745566)
77
* ``bzrlib.merge.Merge`` now calls ``iter_changes`` without
78
``include_unversioned=True``. This makes it significantly faster in many
79
cases, because it only looks at modified files, rather than building
80
information about all files. This can cause failures in other
81
TreeTransform code, because it had been expecting to know the names of
82
things which had not changed (such as parent directories). All cases we
83
know about so far have been fixed, but there may be fallout for edge
84
cases that we are missing. (John Arbash Meinel, #759091)
86
* Standalone bzr.exe installation on Windows: user can put additional python
87
libraries into ``site-packages`` subdirectory of the installation directory,
88
this might be required for "installing" extra dependencies for some plugins.
89
(Alexander Belchenko, #743256)
91
* ``TreeTransform.create_file/new_file`` can now take an optional ``sha1``
92
parameter. If supplied, when the transform is applied, it will then call
93
``self._tree._observed_sha1`` for those files. This lets us update the
94
hash-cache for content that we create, preventing us from re-reading the
95
content in the next ``bzr status``. (John Arbash Meinel, #740932)
48
100
* Added a section about using a shared SSH account on a server for bzr+ssh
49
101
access. (Russell Smith)
103
* The documentation now recommends using SSH rather than SFTP in the
104
tutorials and the examples, because that will generally be much faster
105
and better in cases where it can be used. SFTP is still available and
106
mentioned as an alternative. (Martin Pool, #636712)
54
111
.. Changes that may require updates in plugins or other code that uses
114
* Commands now have an `invoked_as` attribute, showing the name under
115
which they were called before alias expansion.
118
* ``Hooks.create_hook`` is now deprecated in favour of ``Hooks.add_hook``.
121
* If you call `bzrlib.initialize` but forget to enter the resulting object
122
as a context manager, bzrlib will now be initialized anyhow.
123
(Previously simple programs calling bzrlib might find the library was
124
mysteriously silent.)
127
* Inventory-specific functionality has been split out of ``Tree`` into
128
a new ``InventoryTree`` class. Tree instances no longer
129
necessarily provide an ``inventory`` attribute. (Jelmer Vernooij)
131
* Inventory-specific functionality has been split out of ``RevisionTree``
132
into a new ``InventoryRevisionTree`` class. RevisionTree instances no
133
longer necessarily provide an ``inventory`` attribute. (Jelmer Vernooij)
135
* New method ``Hooks.uninstall_named_hook``. (Jelmer Vernooij, #301472)
137
* ``revision_graph_can_have_wrong_parents`` is now an attribute
138
on ``RepositoryFormat`` rather than a method on ``Repository``.
141
* ``Testament`` now takes a ``tree`` rather than an
142
``inventory``. (Jelmer Vernooij, #762608)
144
* ``TestCase.failUnlessExists`` and ``failIfExists`` are deprecated in
145
favour of ``assertPathExists`` and ``assertPathDoesNotExist``
149
* The ``revno`` parameter of ``log.LogRevision`` may now be None,
150
representing a revision which is not in the current branch.
151
(Matt Giuca, #241998)
153
* The various knit pack repository format classes have been moved
154
from ``bzrlib.repofmt.pack_repo`` to
155
``bzrlib.repofmt.knitpack_repo``. (Jelmer Vernooij)
157
* ``RevisionTree`` now has a new method ``get_file_revision``.
160
* ``WorkingTree`` no longer provides an ``inventory``. Instead,
161
all inventory-related functionality is now on the subclass
162
``InventoryWorkingTree`` that all native Bazaar working tree
163
implementations derive from. (Jelmer Vernooij)
60
168
.. Major internal changes, unlikely to be visible to users or plugin
61
169
developers, but interesting for bzr developers.
171
* Added ``osutils.lstat`` and ``osutils.fstat``. These are just the ``os``
172
functions on Linux, but they are wrapped on Windows so that fstat
173
matches lstat results across all python versions.
176
* ``WorkingTree._observed_sha1`` also updates the 'size' column. It
177
happened to be updated as a side-effect of commit, but if we start using
178
the function elsewhere we might as well do it directly.