14
* New Branch hook ``transform_fallback_location`` allows a function to
15
be called when looking up the stacked source. (Michael Hudson)
19
* ``BTreeIndex`` code now is able to prefetch extra pages to help tune
20
the tradeoff between bandwidth and latency. Should be tuned
21
appropriately to not impact commands which need minimal information,
22
but provide a significant boost to ones that need more context. Only
23
has a direct impact on the ``--development2`` format which uses
24
btree's for the indexes. (John Arbash Meinel)
26
* ``bzr dump-btree`` is a hidden command introduced to allow dumping
27
the contents of a compressed btree file. (John Arbash Meinel)
29
* ``bzr pack`` now tells the index builders to optimize for size. For
30
btree index repositories, this can save 25% of the index size
31
(mostly in the text indexes). (John Arbash Meinel)
33
* ``bzr push`` to an existing branch or repository on a smart server
34
is faster, due to Bazaar making more use of the ``get_parent_map``
35
RPC when querying the remote branch's revision graph.
38
* default username for bzr+ssh and sftp can be configured in
39
authentication.conf. (Aaron Bentley)
41
* launchpad-login now provides a default username for bzr+ssh and sftp
42
URLs, allowing username-free URLs to work for everyone. (Aaron Bentley)
44
* lp: lookups no longer include usernames, making them shareable and
45
shorter. (Aaron Bentley)
49
* A failure to load a plugin due to an IncompatibleAPI exception is
50
now correctly reported. (Robert Collins, #279451)
52
* API versioning support now has a multiple-version checking api
53
``require_any_api``. (Robert Collins, #279447)
55
* ``bzr co`` uses less memory. It used to unpack the entire WT into
56
memory before writing it to disk. This was a little bit faster, but
57
consumed lots of memory. (John Arbash Meinel, #269456)
59
* ``bzr missing --quiet`` no longer prints messages about whether
60
there are missing revisions. The exit code indicates whether there
61
were or not. (Martin Pool, #284748)
63
* Fixes to the ``annotate`` code. The fast-path which re-used the
64
stored deltas was accidentally disabled all the time, instead of
65
only when a branch was stacked. Second, the code would accidentally
66
re-use a delta even if it wasn't against the left-parent, this
67
could only happen if ``bzr reconcile`` decided that the parent
68
ordering was incorrect in the file graph. (John Arbash Meinel)
70
* Some compatibility fixes for building the extensions with MSVC and
71
for python2.4. (John Arbash Meinel, #277484)
73
* The index logic is now able to reload the list of pack files if and
74
index ends up disappearing. We still don't reload if the pack data
75
itself goes missing after checking the index. This bug appears as a
76
transient failure (file not found) when another process is writing
77
to the repository. (John Arbash Meinel, #153786)
83
* commands.plugins_cmds is now a CommandRegistry, not a dict.
89
* New AuthenticationConfig.set_credentials method allows easy programmatic
90
configuration of authetication credentials.
98
Bazaar 1.8 includes several fixes that improve working tree performance,
99
display of revision logs, and merges. The bzr testsuite now passes on OS
100
X and Python 2.6, and almost completely passes on Windows. The
101
smartserver code has gained several bug fixes and performance
102
improvements, and can now run server-side hooks within an http server.
106
* Fix "Must end write group" error when another error occurs during
107
``bzr push``. (Andrew Bennetts, #230902)
111
* Some Pyrex versions require the WIN32 macro defined to compile on
112
that platform. (Alexander Belchenko, Martin Pool, #277481)
115
bzr 1.8rc1 2008-10-07
116
---------------------
120
* ``bzr log file`` has been changed. It now uses a different method
121
for determining which revisions to show as merging the changes to
122
the file. It now only shows revisions which merged the change
123
towards your mainline. This simplifies the output, makes it faster,
124
and reduces memory consumption. (John Arbash Meinel)
126
* ``bzr merge`` now defaults to having ``--reprocess`` set, whenever
127
``--show-base`` is not supplied. (John Arbash Meinel)
129
* ``bzr+http//`` will now optionally load plugins and write logs on the
130
server. (Marius Kruger)
132
* ``bzrlib._dirstate_helpers_c.pyx`` does not compile correctly with
133
Pyrex 0.9.4.1 (it generates C code which causes segfaults). We
134
explicitly blacklist that version of the compiler for that
135
extension. Packaged versions will include .c files created with
136
pyrex >= 0.9.6 so it doesn't effect releases, only users running
137
from the source tree. (John Arbash Meinel, #276868)
141
* bzr is now compatible with python-2.6. python-2.6 is not yet officially
142
supported (nor released, tests were conducted with the dev version of
143
python-2.6rc2), but all known problems have been fixed. Feedback
145
(Vincent Ladeuil, #269535)
149
* ``bzr annotate`` will now include uncommitted changes from the local
150
working tree by default. Such uncommitted changes are given the
151
revision number they would get if a commit was done, followed with a
152
? to indicate that its not actually known. (Robert Collins, #3439)
154
* ``bzr branch`` now accepts a ``--standalone`` option, which creates a
155
standalone branch regardless of the presence of shared repositories.
158
* ``bzr push`` is faster in the case there are no new revisions to
159
push. It is also faster if there are no tags in the local branch.
162
* File changes during a commit will update the tree stat cache.
165
* Location aliases can now accept a trailing path. (Micheal Hudson)
167
* New hooks ``Lock.hooks`` when LockDirs are acquired and released.
168
(Robert Collins, MartinPool)
170
* Switching in heavyweight checkouts uses the master branch's context, not
171
the checkout's context. (Adrian Wilkins)
173
* ``status`` on large trees is now faster, due to optimisations in the
174
walkdirs code. Of particular note, the walkdirs code now performs
175
a temporary ``chdir()`` while reading a single directory; if your
176
platform has non thread-local current working directories (and is
177
not windows which has its own implementation), this may introduce a
178
race condition during concurrent uses of bzrlib. The bzrlib CLI
179
will not encounter this as it is single threaded for working tree
180
operations. (Robert Collins)
182
* The C extensions now build on python 2.4 (Robert Collins, #271939)
184
* The ``-Dhpss`` debug flag now reports the number of smart server
185
calls per medium to stderr. This is in addition to the existing
186
detailed logging to the .bzr.log trace file. (Andrew Bennetts)
190
* Avoid random failures arising from misinterpreted ``errno`` values
191
in ``_readdir_pyx.read_dir``.
192
(Martin Pool, #279381)
194
* Branching from a shared repository on a smart server into a new
195
repository now preserves the repository format.
196
(Andrew Bennetts, #269214)
198
* ``bzr log`` now accepts a ``--change`` option.
199
(Vincent Ladeuil, #248427)
201
* ``bzr missing`` now accepts an ``--include-merges`` option.
202
(Vincent Ladeuil, #233817)
204
* Don't try to filter (internally) '.bzr' from the files to be deleted if
206
(Vincent Ladeuil, #272648)
208
* Fix '_in_buffer' AttributeError when using the -Dhpss debug flag.
211
* Fix TooManyConcurrentRequests errors caused by a connection failure
212
when doing ``bzr pull`` or ``bzr merge`` from a ``bzr+ssh`` URL.
213
(Andrew Bennetts, #246233)
215
* Fixed ``bzr st -r branch:PATH_TO_BRANCH`` where the other branch
216
is in a different repository than the current one.
217
(Lukáš Lalinský, #144421)
219
* Make the first line of the manpage preamble a comment again.
220
(David Futcher, #242106)
222
* Remove use of optional parameter in GSSAPI FTP support, since
223
it breaks newer versions of Python-Kerberos. (Jelmer Vernooij)
225
* The autopacking logic will now always create a single new pack from
226
all of the content which it deems is worth moving. This avoids the
227
'repack a single pack' bug and should result in better packing
228
overall. (John Arbash Meinel, #242510, #172644)
230
* Trivial documentation fix.
231
(John Arbash Meinel, #270471)
235
* Explain revision/range identifiers. (Daniel Clemente)
239
* ``CommitBuilder.record_entry_contents`` returns one more element in
240
its result tuple - an optional file system hash for the hash cache
241
to use. (Robert Collins)
243
* ``dirstate.DirState.update_entry`` will now only calculate the sha1
244
of a file if it is likely to be needed in determining the output
245
of iter_changes. (Robert Collins)
247
* The PackRepository, RepositoryPackCollection, NewPack classes have a
248
slightly changed interface to support different index types; as a
249
result other users of these classes need to supply the index types
250
they want. (Robert Collins)
254
* ``bzrlib.tests.repository_implementations`` has been renamed to
255
``bzrlib.tests.per_repository`` so that we have a common structure
256
(and it is shorter). (John Arbash Meinel, #239343)
258
* ``LocalTransport.abspath()`` now returns a drive letter if the
259
transport has one, fixing numerous tests on Windows.
262
* PreviewTree is now tested via intertree_implementations.
265
* The full test suite is passing again on OSX.
266
(Guillermo Gonzalez, Vincent Ladeuil)
268
* The full test suite passes when run with ``-Eallow_debug``.
273
* A new hook, ``Branch.open``, has been added, which is called when
274
branch objects are opened. (Robert Collins)
276
* ``bzrlib.osutils._walkdirs_utf8`` has been refactored into common
277
tree walking, and modular directory listing code to aid future
278
performance optimisations and refactoring. (Robert Collins)
280
* ``bzrlib.trace.debug_memory`` can be used to get a quick memory dump
281
in the middle of processing. It only reports memory if
282
``/proc/PID/status`` is available. (John Arbash Meinel)
284
* New method ``RevisionSpec.as_tree`` for representing the revision
285
specifier as a revision tree object. (Lukáš Lalinský)
287
* New race-free method on MutableTree ``get_file_with_stat`` for use
288
when generating stat cache results. (Robert Collins)
290
* New win32utils.get_local_appdata_location() provides access to a local
291
directory for storing data. (Mark Hammond)
293
* To be compatible with python-2.6 a few new rules should be
294
observed. 'message' attribute can't be used anymore in exception
295
classes, 'sha' and 'md5' modules have been deprecated (use
296
osutils.[md5|sha]), object__init__ and object.__new__ don't accept
304
No changes from 1.7.1rc1.
307
bzr 1.7.1rc1 2008-09-24
308
-----------------------
310
This release just includes an update to how the merge algorithm handles
311
file paths when we encounter complex history.
315
* If we encounter a criss-cross in history, use information from
316
direct Least Common Ancestors to resolve inventory shape (locations
317
of files, adds, deletes, etc). This is similar in concept to using
318
``--lca`` for merging file texts, only applied to paths.
325
This release includes many bug fixes and a few performance and feature
326
improvements. ``bzr rm`` will now scan for missing files and remove them,
327
like how ``bzr add`` scans for unknown files and adds them. A bit more
328
polish has been applied to the stacking code. The b-tree indexing code has
329
been brought in, with an eye on using it in a future repository format.
330
There are only minor installer changes since bzr-1.7rc2.
334
* Some small updates to the win32 installer. Include localization
335
files found in plugins, and include the builtin distutils as part of
336
packaging qbzr. (Mark Hammond)
339
bzr 1.7rc2 2008-09-17
340
---------------------
342
A few bug fixes from 1.7rc1. The biggest change is a new
343
``RemoteBranch.get_stacked_on_url`` rpc. This allows clients that are
344
trying to access a Stacked branch over the smart protocol, to properly
345
connect to the stacked-on location.
349
* Branching from a shared repository on a smart server into a new
350
repository now preserves the repository format.
351
(Andrew Bennetts, #269214)
353
* Branching from a stacked branch via ``bzr+ssh`` can properly connect
354
to the stacked-on branch. (Martin Pool, #261315)
356
* ``bzr init`` no longer re-opens the BzrDir multiple times.
359
* Fix '_in_buffer' AttributeError when using the -Dhpss debug flag.
363
bzr 1.7rc1 2008-09-09
364
---------------------
366
This release candidate for bzr 1.7 has several bug fixes and a few
367
performance and feature improvements. ``bzr rm`` will now scan for
368
missing files and remove them, like how ``bzr add`` scans for unknown
369
files and adds them. A bit more polish has been applied to the stacking
370
code. The b-tree indexing code has been brought in, with an eye on using
371
it in a future repository format.
376
* ``bzr export`` can now export a subdirectory of a project.
379
* ``bzr remove-tree`` will now refuse to remove a tree with uncommitted
380
changes, unless the ``--force`` option is specified.
381
(Lukáš Lalinský, #74101)
383
* ``bzr rm`` will now scan for files that are missing and remove just
384
them automatically, much as ``bzr add`` scans for new files that
385
are not ignored and adds them automatically. (Robert Collins)
389
* Support for GSSAPI authentication when using FTP as documented in
390
RFC2228. (Jelmer Vernooij, #49623)
392
* Add support for IPv6 in the smart server. (Jelmer Vernooij, #165014)
396
* A url like ``log+file:///tmp`` will log all access to that Transport
397
to ``.bzr.log``, which may help in debugging or profiling.
400
* ``bzr branch`` and ``bzr push`` use the default stacking policy if the
401
branch format supports it. (Aaron Bentley)
403
* ``bzr init`` and ``bzr init-repo`` will now print out the same as
404
``bzr info`` if it completed successfully.
407
* ``bzr uncommit`` logs the old tip revision id, and displays how to
408
restore the branch to that tip using ``bzr pull``. This allows you
409
to recover if you realize you uncommitted the wrong thing.
412
* Fix problems in accessing stacked repositories over ``bzr://``.
413
(Martin Pool, #261315)
415
* ``SFTPTransport.readv()`` was accidentally using ``list += string``,
416
which 'works', but adds each character separately to the list,
417
rather than using ``list.append(string)``. Fixing this makes the
418
SFTP transport a little bit faster (~20%) and use a bit less memory.
421
* When reading index files, if we happen to read the whole file in a
422
single request treat it as a ``_buffer_all`` request. This happens
423
most often on small indexes over remote transports, where we default
424
to reading 64kB. It saves a round trip for each small index during
425
fetch operations. Also, if we have read more than 50% of an index
426
file, trigger a ``_buffer_all`` on the next request. This works
427
around some inefficiencies because reads don't fall neatly on page
428
boundaries, so we would ignore those bytes, but request them again
429
later. This could trigger a total read size of more than the whole
430
file. (John Arbash Meinel)
434
* ``bzr rm`` is now aliased to ``bzr del`` for the convenience of svn
435
users. (Robert Collins, #205416)
437
* Catch the infamous "select/poll returned error" which occurs when
438
pycurl try to send a body request to an HTTP/1.0 server which has
439
already refused to handle the request. (Vincent Ladeuil, #225020)
441
* Fix ``ObjectNotLocked`` errors when using various commands
442
(including ``bzr cat`` and ``bzr annotate``) in combination with a
443
smart server URL. (Andrew Bennetts, #237067)
445
* ``FTPTransport.stat()`` would return ``0000`` as the permission bits
446
for the containing ``.bzr/`` directory (it does not implement
447
permissions). This would cause us to set all subdirectories to
448
``0700`` and files to ``0600`` rather than leaving them unmodified.
449
Now we ignore ``0000`` as the permissions and assume they are
450
invalid. (John Arbash Meinel, #259855)
452
* Merging from a previously joined branch will no longer cause
453
a traceback. (Jelmer Vernooij, #203376)
455
* Pack operations on windows network shares will work even with large
456
files. (Robert Collins, #255656)
458
* Running ``bzr st PATH_TO_TREE`` will no longer suppress merge
459
status. Status is also about 7% faster on mozilla sized trees
460
when the path to the root of the tree has been given. Users of
461
the internal ``show_tree_status`` function should be aware that
462
the show_pending flag is now authoritative for showing pending
463
merges, as it was originally. (Robert Collins, #225204)
465
* Set valid default _param_name for Option so that ListOption can embed
466
'-' in names. (Vincent Ladeuil, #263249)
468
* Show proper error rather than traceback when an unknown revision
469
id is specified to ``bzr cat-revision``. (Jelmer Vernooij, #175569)
471
* Trailing text in the dirstate file could cause the C dirstate parser
472
to try to allocate an invalid amount of memory. We now properly
473
check and test for parsing a dirstate with invalid trailing data.
474
(John Arbash Meinel, #186014)
476
* Unexpected error responses from a smart server no longer cause the
477
client to traceback. (Andrew Bennetts, #263527)
479
* Use a Windows api function to get a Unicode host name, rather than
480
assuming the host name is ascii.
481
(Mark Hammond, John Arbash Meinel, #256550)
483
* ``WorkingTree4`` trees will now correctly report missing-and-new
484
paths in the output of ``iter_changes``. (Robert Collins)
488
* Updated developer documentation. (Martin Pool)
492
* Exporters now take 4 parameters. (Robert Collins)
494
* ``Tree.iter_changes`` will now return False for the content change
495
field when a file is missing in the basis tree and not present in
496
the target tree. Previously it returned True unconditionally.
499
* The deprecated ``Branch.abspath`` and unimplemented
500
``Branch.rename_one`` and ``Branch.move`` were removed. (Jelmer Vernooij)
502
* BzrDir.clone_on_transport implementations must now accept a stacked_on
503
parameter. (Aaron Bentley)
505
* BzrDir.cloning_metadir implementations must now take a require_stacking
506
parameter. (Aaron Bentley)
510
* ``addCleanup`` now takes ``*arguments`` and ``**keyword_arguments``
511
which are then passed to the cleanup callable as it is run. In
512
addition, addCleanup no longer requires that the callables passed to
513
it be unique. (Jonathan Lange)
515
* Fix some tests that fail on Windows because files are deleted while
519
* ``selftest``'s ``--starting-with`` option can now use predefined
520
prefixes so that one can say ``bzr selftest -s bp.loom`` instead of
521
``bzr selftest -s bzrlib.plugins.loom``. (Vincent Ladeuil)
523
* ``selftest``'s ``--starting-with`` option now accepts multiple values.
528
* A new plugin interface, ``bzrlib.log.log_adapters``, has been added.
529
This allows dynamic log output filtering by plugins.
532
* ``bzrlib.btree_index`` is now available, providing a b-tree index
533
layer. The design is memory conservative (limited memory cache),
534
faster to seek (approx 100 nodes per page, gives 100-way fan out),
535
and stores compressed pages allowing more keys per page.
536
(Robert Collins, John Arbash Meinel)
538
* ``bzrlib.diff.DiffTree.show_diff`` now skips changes where the kind
539
is unknown in both source and target.
540
(Robert Collins, Aaron Bentley)
542
* ``GraphIndexBuilder.add_node`` and ``BTreeBuilder`` have been
543
streamlined a bit. This should make creating large indexes faster.
544
(In benchmarking, it now takes less time to create a BTree index than
545
it takes to read the GraphIndex one.) (John Arbash Meinel)
547
* Mail clients for `bzr send` are now listed in a registry. This
548
allows plugins to add new clients by registering them with
549
``bzrlib.mail_client.mail_client_registry``. All of the built-in
550
clients now use this mechanism. (Neil Martinsen-Burrell)
556
A couple regressions were found in the 1.6 release. There was a
557
performance issue when using ``bzr+ssh`` to branch large repositories,
558
and some problems with stacking and ``rich-root`` capable repositories.
561
bzr 1.6.1rc2 2008-09-03
562
-----------------------
566
* Copying between ``rich-root`` and ``rich-root-pack`` (and vice
567
versa) was accidentally using the inter-model fetcher, instead of
568
recognizing that both were 'rich root' formats.
569
(John Arbash Meinel, #264321)
572
bzr 1.6.1rc1 2008-08-29
573
-----------------------
575
This release fixes a few regressions found in the 1.6 client. Fetching
576
changes was using an O(N^2) buffering algorithm, so for large projects it
577
would cause memory thrashing. There is also a specific problem with the
578
``--1.6-rich-root`` format, which prevented stacking on top of
579
``--rich-root-pack`` repositories, and could allow users to accidentally
580
fetch experimental data (``-subtree``) without representing it properly.
581
The ``--1.6-rich-root`` format has been deprecated and users are
582
recommended to upgrade to ``--1.6.1-rich-root`` immediately. Also we
583
re-introduced a workaround for users who have repositories with incorrect
584
nodes (not possible if you only used official releases).
585
I should also clarify that none of this is data loss level issues, but
586
still sufficient enough to warrant an updated release.
590
* ``RemoteTransport.readv()`` was being inefficient about how it
591
buffered the readv data and processed it. It would keep appending to
592
the same string (causing many copies) and then pop bytes out of the
593
start of the string (causing more copies).
594
With this patch "bzr+ssh://local" can improve dramatically,
595
especially for projects with large files.
598
* Revision texts were always meant to be stored as fulltexts. There
599
was a bug in a bzr.dev version that would accidentally create deltas
600
when copying from a Pack repo to a Knit repo. This has been fixed,
601
but to support those repositories, we know always request full texts
602
for Revision texts. (John Arbash Meinel, #261339)
604
* The previous ``--1.6-rich-root`` format used an incorrect xml
605
serializer, which would accidentally support fetching from a
606
repository that supported subtrees, even though the local one would
607
not. We deprecated that format, and introduced a new one that uses
608
the correct serializer ``--1.6.1-rich-root``.
609
(John Arbash Meinel, #262333)
615
Finally, the long awaited bzr 1.6 has been released. This release includes
616
new features like Stacked Branches, improved weave merge, and an updated
617
server protocol (now on v3) which will allow for better cross version
618
compatibility. With this release we have deprecated Knit format
619
repositories, and recommend that users upgrade them, we will continue to
620
support reading and writing them for the forseeable future, but we will
621
not be tuning them for performance as pack repositories have proven to be
622
better at scaling. This will also be the first release to bundle
623
TortoiseBzr in the standalone Windows installer.
626
bzr 1.6rc5 2008-08-19
627
---------------------
631
* Disable automatic detection of stacking based on a containing
632
directory of the target. It interacted badly with push, and needs a
633
bit more work to get the edges polished before it should happen
634
automatically. (John Arbash Meinel, #259275)
635
(This change was reverted when merged to bzr.dev)
638
bzr 1.6rc4 2008-08-18
639
---------------------
643
* Fix a regression in knit => pack fetching. We had a logic
644
inversion, causing the fetch to insert fulltexts in random order,
645
rather than preserving deltas. (John Arbash Meinel, #256757)
648
bzr 1.6rc3 2008-08-14
649
---------------------
653
* Disable reading ``.bzrrules`` as a per-branch rule preferences
654
file. The feature was not quite ready for a full release.
659
* Update the windows installer to bundle TortoiseBzr and ``qbzr``
660
into the standalone installer. This will be the first official
661
windows release that installs Tortoise by default.
666
* Fix a regression in ``bzr+http`` support. There was a missing
667
function (``_read_line``) that needed to be carried over from
668
``bzr+ssh`` support. (Andrew Bennetts)
670
* ``GraphIndex`` objects will internally read an entire index if more
671
than 1/20th of their keyspace is requested in a single operation.
672
This largely mitigates a performance regression in ``bzr log FILE``
673
and completely corrects the performance regression in ``bzr log``.
674
The regression was caused by removing an accomodation which had been
675
supporting the index format in use. A newer index format is in
676
development which is substantially faster. (Robert Collins)
679
bzr 1.6rc2 2008-08-13
680
---------------------
682
This release candidate has a few minor bug fixes, and some regression
687
* ``bzr upgrade`` on remote branches accessed via bzr:// and
688
bzr+ssh:// now works. (Andrew Bennetts)
690
* Change the ``get_format_description()`` strings for
691
``RepositoryFormatKnitPack5`` et al to be single line messages.
694
* Fix for a regression on Win32 where we would try to call
695
``os.listdir()`` on a file and not catch the exception properly.
696
(Windows raises a different exception.) This would manifest in
697
places like ``bzr rm file`` or ``bzr switch``.
698
(Mark Hammond, John Arbash Meinel)
700
* ``Inventory.copy()`` was failing to set the revision property for
701
the root entry. (Jelmer Vernooij)
703
* sftp transport: added missing ``FileExists`` case to
704
``_translate_io_exception`` (Christophe Troestler, #123475)
706
* The help for ``bzr ignored`` now suggests ``bzr ls --ignored`` for
707
scripting use. (Robert Collins, #3834)
709
* The default ``annotate`` logic will now always assign the
710
last-modified value of a line to one of the revisions that modified
711
it, rather than a merge revision. This would happen when both sides
712
claimed to have modified the line resulting in the same text. The
713
choice is arbitrary but stable, so merges in different directions
714
will get the same results. (John Arbash Meinel, #232188)
717
bzr 1.6rc1 2008-08-06
718
---------------------
720
This release candidate for bzr 1.6 solidifies the new branch stacking
721
feature. Bazaar now recommends that users upgrade all knit repositories,
722
because later formats are much faster. However, we plan to continue read/write and
723
upgrade support for knit repostories for the forseeable future. Several
724
other bugs and performance issues were fixed.
728
* Knit format repositories are deprecated and bzr will now emit
729
warnings whenever it encounters one. Use ``bzr upgrade`` to upgrade
730
knit repositories to pack format. (Andrew Bennetts)
734
* ``bzr check`` can now be told which elements at a location it should
735
check. (Daniel Watkins)
737
* Commit now supports ``--exclude`` (or ``-x``) to exclude some files
738
from the commit. (Robert Collins, #3117)
740
* Fetching data between repositories that have the same model but no
741
optimised fetcher will not reserialise all the revisions, increasing
742
performance. (Robert Collins, John Arbash Meinel)
744
* Give a more specific error when target branch is not reachable.
747
* Implemented a custom ``walkdirs_utf8`` implementation for win32.
748
This uses a pyrex extension to get direct access to the
749
``FindFirstFileW`` style apis, rather than using ``listdir`` +
750
``lstat``. Shows a very strong improvement in commands like
751
``status`` and ``diff`` which have to iterate the working tree.
752
Anywhere from 2x-6x faster depending on the size of the tree (bigger
753
trees, bigger benefit.) (John Arbash Meinel)
755
* New registry for log properties handles and the method in
756
LongLogFormatter to display the custom properties returned by the
757
registered handlers. (Guillermo Gonzalez, #162469)
761
* Add more tests that stacking does not create deltas spanning
762
physical repository boundaries.
763
(Martin Pool, #252428)
765
* Better message about incompatible repositories.
766
(Martin Pool, #206258)
768
* ``bzr branch --stacked`` ensures the destination branch format can
769
support stacking, even if the origin does not.
772
* ``bzr export`` no longer exports ``.bzrrules``.
775
* ``bzr serve --directory=/`` now correctly allows the whole
776
filesystem to be accessed on Windows, not just the root of the drive
777
that Python is running from.
778
(Adrian Wilkins, #240910)
780
* Deleting directories by hand before running ``bzr rm`` will not
781
cause subsequent errors in ``bzr st`` and ``bzr commit``.
782
(Robert Collins, #150438)
784
* Fix a test case that was failing if encoding wasn't UTF-8.
785
(John Arbash Meinel, #247585)
787
* Fix "no buffer space available" error when branching with the new
788
smart server protocol to or from Windows.
789
(Andrew Bennetts, #246180)
791
* Fixed problem in branching from smart server.
792
(#249256, Michael Hudson, Martin Pool)
794
* Handle a file turning in to a directory in TreeTransform.
795
(James Westby, #248448)
799
* ``MutableTree.commit`` has an extra optional keywork parameter
800
``exclude`` that will be unconditionally supplied by the command
801
line UI - plugins that add tree formats may need an update.
804
* The API minimum version for plugin compatibility has been raised to
805
1.6 - there are significant changes throughout the code base.
808
* The generic fetch code now uses three attributes on Repository objects
809
to control fetch. The streams requested are controlled via :
810
``_fetch_order`` and ``_fetch_uses_deltas``. Setting these
811
appropriately allows different repository implementations to recieve
812
data in their optimial form. If the ``_fetch_reconcile`` is set then
813
a reconcile operation is triggered at the end of the fetch.
816
* The ``put_on_disk`` and ``get_tar_item`` methods in
817
``InventoryEntry`` were deprecated. (Ian Clatworthy)
819
* ``Repository.is_shared`` doesn't take a read lock. It didn't
820
need one in the first place (nobody cached the value, and
821
``RemoteRepository`` wasn't taking one either). This saves a round
822
trip when probing Pack repositories, as they read the ``pack-names``
823
file when locked. And during probe, locking the repo isn't very
824
useful. (John Arbash Meinel)
828
* ``bzrlib.branchbuilder.BranchBuilder`` is now much more capable of
829
putting together a real history without having to create a full
830
WorkingTree. It is recommended that tests that are not directly
831
testing the WorkingTree use BranchBuilder instead. See
832
``BranchBuilder.build_snapshot`` or
833
``TestCaseWithMemoryTree.make_branch_builder``. (John Arbash Meinel)
835
* ``bzrlib.builtins.internal_tree_files`` broken into two giving a new
836
helper ``safe_relpath_files`` - used by the new ``exclude``
837
parameter to commit. (Robert Collins)
839
* Make it easier to introduce new WorkingTree formats.
842
* The code for exporting trees was refactored not to use the
843
deprecated ``InventoryEntry`` methods. (Ian Clatworthy)
845
* RuleSearchers return () instead of [] now when there are no matches.
849
bzr 1.6beta3 2008-07-17
850
-----------------------
852
This release adds a new 'stacked branches' feature allowing branches to
853
share storage without being in the same repository or on the same machine.
854
(See the user guide for more details.) It also adds a new hook, improved
855
weaves, aliases for related locations, faster bzr+ssh push, and several
860
* New ``pre_change_branch_tip`` hook that is called before the
861
branch tip is moved, while the branch is write-locked. See the User
862
Reference for signature details. (Andrew Bennetts)
864
* Rule-based preferences can now be defined for selected files in
865
selected branches, allowing commands and plugins to provide
866
custom behaviour for files matching defined patterns.
867
See ``Rule-based preferences`` (part of ``Configuring Bazaar``)
868
in the User Guide and ``bzr help rules`` for more information.
871
* Sites may suggest a branch to stack new branches on. (Aaron Bentley)
873
* Stacked branches are now supported. See ``bzr help branch`` and
874
``bzr help push``. Branches must be in the ``development1`` format
875
to stack, though the stacked-on branch can be of any format.
880
* ``bzr export --format=tgz --root=NAME -`` to export a gzipped tarball
881
to stdout; also ``tar`` and ``tbz2``.
884
* ``bzr (re)merge --weave`` will now use a standard Weave algorithm,
885
rather than the annotation-based merge it was using. It does so by
886
building up a Weave of the important texts, without needing to build
887
the full ancestry. (John Arbash Meinel, #238895)
889
* ``bzr send`` documents and better supports ``emacsclient`` (proper
890
escaping of mail headers and handling of the MUA Mew).
891
(Christophe Troestler)
893
* Remembered locations can be specified by aliases, e.g. :parent, :public,
894
:submit. (Aaron Bentley)
896
* The smart protocol now has improved support for setting branches'
897
revision info directly. This makes operations like push
898
faster. The new request method name is
899
``Branch.set_last_revision_ex``. (Andrew Bennetts)
903
* Bazaar is now able to be a client to the web server of IIS 6 and 7.
904
The broken implementations of RFC822 in Python and RFC2046 in IIS
905
combined with boundary-line checking in Bazaar previously made this
906
impossible. (NB, IIS 5 does not suffer from this problem).
907
(Adrian Wilkins, #247585)
909
* ``bzr log --long`` with a ghost in your mainline now handles that
910
ghost properly. (John Arbash Meinel, #243536)
912
* ``check`` handles the split-up .bzr layout correctly, so no longer
913
requires a branch to be present.
914
(Daniel Watkins, #64783)
916
* Clearer message about how to set the PYTHONPATH if bzrlib can't be
918
(Martin Pool, #205230)
920
* Errors about missing libraries are now shown without a traceback,
921
and with a suggestion to install the library. The full traceback is
922
still in ``.bzr.log`` and can be shown with ``-Derror``.
923
(Martin Pool, #240161)
925
* Fetch from a stacked branch copies all required data.
926
(Aaron Bentley, #248506)
928
* Handle urls such as ftp://user@host.com@www.host.com where the user
930
(Neil Martinsen-Burrell, #228058)
932
* ``needs_read_lock`` and ``needs_write_lock`` now suppress an error during
933
``unlock`` if there was an error in the original function. This helps
934
most when there is a failure with a smart server action, since often the
935
connection closes and we cannot unlock.
936
(Andrew Bennetts, John Arbash Meinel, #125784)
938
* Obsolete hidden command ``bzr fetch`` removed.
939
(Martin Pool, #172870)
941
* Raise the correct exception when doing ``-rbefore:0`` or ``-c0``.
942
(John Arbash Meinel, #239933)
944
* You can now compare file revisions in Windows diff programs from
946
(Matt McClure, #209281)
948
* revision_history now tolerates mainline ghosts for Branch format 6.
949
(Aaron Bentley, #235055)
951
* Set locale from environment for third party libs.
952
(Martin von Gagern, #128496)
956
* Added *Using stacked branches* to the User Guide.
959
* Updated developer documentation.
964
* ``-Dmemory`` will cause /proc/PID/status to be catted before bzr
965
exits, allowing low-key analysis of peak memory use. (Robert Collins)
967
* ``TestCaseWithTransport.make_branch_and_tree`` tries harder to return
968
a tree with a ``branch`` attribute of the right format. This was
969
preventing some ``RemoteBranch`` tests from actually running with
970
``RemoteBranch`` instances. (Andrew Bennetts)
974
* Removed ``Repository.text_store``, ``control_store``, etc. Instead,
975
there are new attributes ``texts, inventories, revisions,
976
signatures``, each of which is a ``VersionedFiles``. See the
977
Repository docstring for more details.
980
* ``Branch.pull`` now accepts an ``_override_hook_target`` optional
981
parameter. If you have a subclass of ``Branch`` that overrides
982
``pull`` then you should add this parameter. (Andrew Bennetts)
984
* ``bzrlib.check.check()`` has been deprecated in favour of the more
985
aptly-named ``bzrlib.check.check_branch()``.
988
* ``Tree.print_file`` and ``Repository.print_file`` are deprecated.
989
These methods are bad APIs because they write directly to sys.stdout.
990
bzrlib does not use them internally, and there are no direct tests
991
for them. (Alexander Belchenko)
995
* ``cat`` command no longer uses ``Tree.print_file()`` internally.
996
(Alexander Belchenko)
998
* New class method ``BzrDir.open_containing_tree_branch_or_repository``
999
which eases the discovery of the tree, the branch and the repository
1000
containing a given location.
1003
* New ``versionedfile.KeyMapper`` interface to abstract out the access to
1004
underlying .knit/.kndx etc files in repositories with partitioned
1005
storage. (Robert Collins)
1007
* Obsolete developer-use command ``weave-join`` has been removed.
1010
* ``RemoteToOtherFetcher`` and ``get_data_stream_for_search`` removed,
1011
to support new ``VersionedFiles`` layering.
1015
bzr 1.6beta2 2008-06-10
1016
-----------------------
1018
This release contains further progress towards our 1.6 goals of shallow
1019
repositories, and contains a fix for some user-affecting bugs in the
1020
repository layer. Building working trees during checkout and branch is
1025
* Avoid KnitCorrupt error extracting inventories from some repositories.
1026
(The data is not corrupt; an internal check is detecting a problem
1027
reading from the repository.)
1028
(Martin Pool, Andrew Bennetts, Robert Collins, #234748)
1030
* ``bzr status`` was breaking if you merged the same revision twice.
1031
(John Arbash Meinel, #235407)
1033
* Fix infinite loop consuming 100% CPU when a connection is lost while
1034
reading a response body via the smart protocol v1 or v2.
1037
* Inserting a bundle which changes the contents of a file with no trailing
1038
end of line, causing a knit snapshot in a 'knits' repository will no longer
1039
cause KnitCorrupt. (Robert Collins)
1041
* ``RemoteBranch.pull`` needs to return the ``self._real_branch``'s
1042
pull result. It was instead just returning None, which breaks ``bzr
1043
pull``. (John Arbash Meinel, #238149)
1045
* Sanitize branch nick before using it as an attachment filename in
1046
``bzr send``. (Lukáš Lalinský, #210218)
1048
* Squash ``inv_entry.symlink_target`` to a plain string when
1049
generating DirState details. This prevents from getting a
1050
``UnicodeError`` when you have symlinks and non-ascii filenames.
1051
(John Arbash Meinel, #135320)
1055
13
* Added the 'alias' command to set/unset and display aliases. (Tim Penhey)
1057
* ``added``, ``modified``, and ``unknowns`` behaviour made consistent (all three
1058
now quote paths where required). Added ``--null`` option to ``added`` and
1059
``modified`` (for null-separated unknowns, use ``ls --unknown --null``)
1062
* Faster branching (1.09x) and lightweight checkouts (1.06x) on large trees.
1063
(Ian Clatworthy, Aaron Bentley)
1067
* Added *Bazaar Zen* section to the User Guide. (Ian Clatworthy)
17
* ``bzr status`` was breaking if you merged the same revision twice.
18
(John Arbash Meinel, #235407)