7
7
mainline. These revision numbers are not yet accepted as input into bzr
8
8
commands such as log, diff etc. (Robert Collins)
10
* ``bzr help commands`` output is now shorter (Aaron Bentley)
12
* New connection: ``bzr+http://`` which supports tunnelling the smart
13
protocol over an HTTP connection. If writing is enabled on the bzr
14
server, then you can write over the http connection.
17
* ``bzr`` now uses lazy importing to reduce the startup time. This has
18
a moderate effect on lots of actions, especially ones that have
19
little to do. For example ``bzr rocks`` time is down to 116ms from
20
283ms. (John Arbash Meinel)
22
* New Registry class to provide name-to-object registry-like support,
23
for example for schemes where plugins can register new classes to
24
do certain tasks (e.g. log formatters). Also provides lazy registration
25
to allow modules to be loaded on request. (John Arbash Meinel, Adeodato
10
28
API INCOMPATABILITY:
12
30
* LogFormatter subclasses show now expect the 'revno' parameter to
13
31
show() to be a string rather than an int. (Robert Collins)
35
* ``TestCase.run_bzr``, ``run_bzr_captured``, and ``run_bzr_subprocess``
36
can take a ``working_dir='foo'`` parameter, which will change directory
37
for the command. (John Arbash Meinel)
39
* ``bzrlib.lazy_regex.lazy_compile`` can be used to create a proxy
40
around a regex, which defers compilation until first use.
43
* ``TestCase.run_bzr_subprocess`` defaults to supplying the
44
``--no-plugins`` parameter to ensure test reproducability, and avoid
45
problems with system-wide installed plugins. (John Arbash Meinel)
47
* Newly-initialized trees have unique root ids. (Aaron Bentley)
49
* ``WorkingTree.set_root_id(None)`` is now deprecated. Please
50
pass in inventory.ROOT_ID if you want the default root id value.
51
(Robert Collins, John Arbash Meinel)
53
* New method ``WorkingTree.flush()`` which will write the current memory
54
inventory out to disk. At the same time, read_working_inventory will
55
no longer trash the current tree inventory if it has been modified within
56
the current lock, and the tree will now ``flush()`` automatically on
57
``unlock()``. ``WorkingTree.set_root_id()`` has been updated to take
58
advantage of this functionality. (Robert Collins, John Arbash Meinel)
62
* Don't require ``Content-Type`` in range responses. Assume they are a
63
single range if ``Content-Type`` does not exist.
64
(John Arbash Meinel, #62473)
66
* bzr branch/pull no longer complain about progress bar cleanup when
67
interrupted during fetch. (Aaron Bentley, #54000)
69
* ``WorkingTree.set_parent_trees()`` uses the trees to directly write
70
the basis inventory, rather than going through the repository. This
71
allows us to have 1 inventory read, and 2 inventory writes when
72
committing a new tree. (John Arbash Meinel)
74
* When reverting, files that are not locally modified that do not exist
75
in the target are deleted, not just unversioned (Aaron Bentley)
77
* When trying to acquire a lock, don't fail immediately. Instead, try
78
a few times (up to 1 hour) before timing out. Also, report why the
79
lock is unavailable (John Arbash Meinel, #43521, #49556)
81
* Leave HttpTransportBase daughter classes decides how they
82
implement cloning. (Vincent Ladeuil, #61606)
84
* diff3 does not indicate conflicts on clean merge. (Aaron Bentley)
88
* New test base class TestCaseWithMemoryTransport offers memory-only
89
testing facilities: its not suitable for tests that need to mutate disk
90
state, but most tests should not need that and should be converted to
91
TestCaseWithMemoryTransport. (Robert Collins)
93
* ``TestCase.make_branch_and_memory_tree`` now takes a format
94
option to set the BzrDir, Repository and Branch formats of the
95
created objects. (Robert Collins, John Arbash Meinel)
99
* Smart server transport test failures on windows fixed. (Lukáš Lalinský).
101
bzr 0.11rc2 2006-09-27
105
* Test suite hangs on windows fixed. (Andrew Bennets, Alexander Belchenko).
107
* Commit performance regression fixed. (Aaron Bentley, Robert Collins, John
110
bzr 0.11rc1 2006-09-25
114
* Knit files now wait to create their contents until the first data is
115
added. The old code used to create an empty .knit and a .kndx with just
116
the header. However, this caused a lot of extra round trips over sftp.
117
This can change the time for ``bzr push`` to create a new remote branch
118
from 160s down to 100s. This also affects ``bzr commit`` performance when
119
adding new files, ``bzr commit`` on a new kernel-like tree drops from 50s
120
down to 40s (John Arbash Meinel, #44692)
122
* When an entire subtree has been deleted, commit will now report that
123
just the top of the subtree has been deleted, rather than reporting
124
all the individual items. (Robert Collins)
126
* Commit performs one less XML parse. (Robert Collins)
128
* ``bzr checkout`` now operates on readonly branches as well
129
as readwrite branches. This fixes bug #39542. (Robert Collins)
131
* ``bzr bind`` no longer synchronises history with the master branch.
132
Binding should be followed by an update or push to synchronise the
133
two branches. This is closely related to the fix for bug #39542.
136
* ``bzrlib.lazy_import.lazy_import`` function to create on-demand
137
objects. This allows all imports to stay at the global scope, but
138
modules will not actually be imported if they are not used.
141
* Support bzr:// and bzr+ssh:// urls to work with the new RPC-based
142
transport which will be used with the upcoming high-performance smart
143
server. The new command ``bzr serve`` will invoke bzr in server mode,
144
which processes these requests. (Andrew Bennetts, Robert Collins, Martin
147
* New command ``bzr version-info`` which can be used to get a summary
148
of the current state of the tree. This is especially useful as part
149
of a build commands. See ``doc/version_info.txt`` for more information
154
* 'bzr inventory [FILE...]' allows restricting the file list to a
155
specific set of files. (John Arbash Meinel, #3631)
157
* Don't abort when annotating empty files (John Arbash Meinel, #56814)
159
* Add ``Stanza.to_unicode()`` which can be passed to another Stanza
160
when nesting stanzas. Also, add ``read_stanza_unicode`` to handle when
161
reading a nested Stanza. (John Arbash Meinel)
163
* Transform._set_mode() needs to stat the right file.
164
(John Arbash Meinel, #56549)
166
* Raise WeaveFormatError rather than StopIteration when trying to read
167
an empty Weave file. (John Arbash Meinel, #46871)
169
* Don't access e.code for generic URLErrors, only HTTPErrors have .code.
170
(Vincent Ladeuil, #59835)
17
172
* Handle boundary="" lines properly to allow access through a Squid proxy.
18
173
(John Arbash Meinel, #57723)
28
183
* Handle when LANG is not recognized by python. Emit a warning, but
29
184
just revert to using 'ascii'. (John Arbash Meinel, #35392)
186
* Don't use preexec_fn on win32, as it is not supported by subprocess.
189
* Skip specific tests when the dependencies aren't met. This includes
190
some ``setup.py`` tests when ``python-dev`` is not available, and
191
some tests that depend on paramiko. (John Arbash Meinel, Mattheiu Moy)
193
* Fallback to Paramiko properly, if no ``ssh`` executable exists on
194
the system. (Andrew Bennetts, John Arbash Meinel)
196
* ``Branch.bind(other_branch)`` no longer takes a write lock on the
197
other branch, and will not push or pull between the two branches.
198
API users will need to perform a push or pull or update operation if they
199
require branch synchronisation to take place. (Robert Collins, #47344)
201
* When creating a tarball or zipfile export, export unicode names as utf-8
202
paths. This may not work perfectly on all platforms, but has the best
203
chance of working in the common case. (John Arbash Meinel, #56816)
205
* When committing, only files that exist in working tree or basis tree
206
may be specified (Aaron Bentley, #50793)
210
* Fixes to run on Python 2.5 (Brian M. Carlson, Martin Pool, Marien Zwart)
214
* TestCaseInTempDir now creates a separate directory for HOME, rather
215
than having HOME set to the same location as the working directory.
33
218
* run_bzr_subprocess() can take an optional 'env_changes={}' parameter,
34
which will update os.environ inside the spawned child.
219
which will update os.environ inside the spawned child. It also can
220
take a 'universal_newlines=True', which helps when checking the output
221
of the command. (John Arbash Meinel)
37
223
* Refactor SFTP vendors to allow easier re-use when ssh is used.
58
244
NoSuchFile and forcing the caller to repeat their request.
59
245
(John Arbash Meinel)
248
* WorkingTree has a new api ``unversion`` which allow the unversioning of
249
entries by their file id. (Robert Collins)
251
* WorkingTree.pending_merges is deprecated. Please use the get_parent_ids
252
(introduced in 0.10) method instead. (Robert Collins)
254
* WorkingTree has a new lock_tree_write method which locks the branch for
255
read rather than write. This is appropriate for actions which only need
256
the branch data for reference rather than mutation. A new decorator
257
needs_tree_write_lock is provided in the workingtree module. Like the
258
needs_read_lock and needs_write_lock decorators this allows static
259
declaration of the locking requirements of a function to ensure that
260
a lock is taken out for casual scripts. (Robert Collins, #54107)
262
* All WorkingTree methods which write to the tree, but not to the branch
263
have been converted to use ``needs_tree_write_lock`` rather than
264
``needs_write_lock``. Also converted is the revert, conflicts and tree
265
transform modules. This provides a modest performance improvement on
266
metadir style trees, due to the reduce lock-acquisition, and a more
267
significant performance improvement on lightweight checkouts from
268
remote branches, where trivial operations used to pay a significant
269
penalty. It also provides the basis for allowing readonly checkouts.
272
* Special case importing the standard library 'copy' module. This shaves
273
off 40ms of startup time, while retaining compatibility. See:
274
``bzrlib/inspect_for_copy.py`` for more details. (John Arbash Meinel)
276
* WorkingTree has a new parent class MutableTree which represents the
277
specialisations of Tree which are able to be altered. (Robert Collins)
279
* New methods mkdir and put_file_bytes_non_atomic on MutableTree that
280
mutate the tree and its contents. (Robert Collins)
282
* Transport behaviour at the root of the URL is now defined and tested.
283
(Andrew Bennetts, Robert Collins)
287
* New test helper classs MemoryTree. This is typically accessed via
288
``self.make_branch_and_memory_tree()`` in test cases. (Robert Collins)
290
* Add start_bzr_subprocess and stop_bzr_subprocess to allow test code to
291
continue running concurrently with a subprocess of bzr. (Andrew Bennetts,
294
* Add a new method ``Transport.get_smart_client()``. This is provided to
295
allow upgrades to a richer interface than the VFS one provided by
296
Transport. (Andrew Bennetts, Martin Pool)
61
300
* bzrlib.tsort.merge_sorted now accepts 'generate_revnos'. This parameter
62
301
will cause it to add another column to its output, which contains the
63
302
dotted-decimal revno for each revision, as a tuple. (Robert Collins)