15
* ``bzr export --format=tgz --root=NAME -`` to export a gzipped tarball
16
to stdout; also ``tar`` and ``tbz2``.
21
* You can now compare file revisions in Windows diff programs from
23
(Matt McClure, #209281)
27
* Updated developer documentation.
37
bzr 1.6beta2 2008-06-10
38
-----------------------
40
This release contains further progress towards our 1.6 goals of shallow
41
repositories, and contains a fix for some user-affecting bugs in the
42
repository layer. Building working trees during checkout and branch is
47
* Avoid KnitCorrupt error extracting inventories from some repositories.
48
(The data is not corrupt; an internal check is detecting a problem
49
reading from the repository.)
50
(Martin Pool, Andrew Bennetts, Robert Collins, #234748)
52
* Fix infinite loop consuming 100% CPU when a connection is lost while
53
reading a response body via the smart protocol v1 or v2.
56
* Inserting a bundle which changes the contents of a file with no trailing
57
end of line, causing a knit snapshot in a 'knits' repository will no longer
58
cause KnitCorrupt. (Robert Collins)
60
* ``RemoteBranch.pull`` needs to return the ``self._real_branch``'s
61
pull result. It was instead just returning None, which breaks ``bzr
62
pull``. (John Arbash Meinel, #238149)
64
* Sanitize branch nick before using it as an attachment filename in
65
``bzr send``. (Lukáš Lalinský, #210218)
67
* Squash ``inv_entry.symlink_target`` to a plain string when
68
generating DirState details. This prevents from getting a
69
``UnicodeError`` when you have symlinks and non-ascii filenames.
70
(John Arbash Meinel, #135320)
74
* Added the 'alias' command to set/unset and display aliases. (Tim Penhey)
76
* ``added``, ``modified``, and ``unknowns`` behaviour made consistent (all three
77
now quote paths where required). Added ``--null`` option to ``added`` and
78
``modified`` (for null-separated unknowns, use ``ls --unknown --null``)
81
* Faster branching (1.09x) and lightweight checkouts (1.06x) on large trees.
82
(Ian Clatworthy, Aaron Bentley)
86
* ``bzr status`` was breaking if you merged the same revision twice.
87
(John Arbash Meinel, #235407)
91
* Added *Bazaar Zen* section to the User Guide. (Ian Clatworthy)
95
* Fix the test HTTPServer to be isolated from chdir calls made while it is
96
running, allowing it to be used in blackbox tests. (Robert Collins)
100
* ``WorkingTree.set_parent_(ids/trees)`` will now filter out revisions
101
which are in the ancestry of other revisions. So if you merge the same
102
tree twice, or merge an ancestor of an existing merge, it will only
103
record the newest. (If you merge a descendent, it will replace its
104
ancestor). (John Arbash Meinel, #235407)
108
* Knit record serialisation is now stricter on what it will accept, to
109
guard against potential internal bugs, or broken input. (Robert Collins)
112
bzr 1.6beta1 2008-06-02
113
-----------------------
116
Commands that work on the revision history such as push, pull, missing,
117
uncommit and log are now substantially faster. This release adds a
118
translation of some of the user documentation into Spanish. (Contributions of
119
other translations would be very welcome.) Bazaar 1.6beta1 adds a new network
120
protocol which is used by default and which allows for more efficient transfers
121
and future extensions.
124
NOTES WHEN UPGRADING:
126
* There is a new version of the network protocol used for bzr://, bzr+ssh://
127
and bzr+http:// connections. This will allow more efficient requests and
128
responses, and more graceful fallback when a server is too old to
129
recognise a request from a more recent client. Bazaar 1.6 will
130
interoperate with 0.16 and later versions, but servers should be upgraded
131
when possible. Bazaar 1.6 no longer interoperates with 0.15 and earlier via
132
these protocols. Use alternatives like SFTP or upgrade those servers.
133
(Andrew Bennetts, #83935)
137
* Deprecation warnings will not be suppressed when running ``bzr selftest``
138
so that developers can see if their code is using deprecated functions.
143
* Adding ``-Derror`` will now display a traceback when a plugin fails to
148
* ``bzr branch/push/pull -r XXX`` now have a helper function for finding
149
the revno of the new revision (``Graph.find_distance_to_null``). This
150
should make something like ``bzr branch -r -100`` in a shared, no-trees
151
repository much snappier. (John Arbash Meinel)
153
* ``bzr log --short -r X..Y`` no longer needs to access the full revision
154
history. This makes it noticeably faster when logging the last few
155
revisions. (John Arbash Meinel)
157
* ``bzr ls`` now accepts ``-V`` as an alias for ``--versioned``.
158
(Jerad Cramp, #165086)
160
* ``bzr missing`` uses the new ``Graph.find_unique_ancestors`` and
161
``Graph.find_differences`` to determine missing revisions without having
162
to search the whole ancestry. (John Arbash Meinel, #174625)
164
* ``bzr uncommit`` now uses partial history access, rather than always
165
extracting the full revision history for a branch. This makes it
166
resolve the appropriate revisions much faster (in testing it drops
167
uncommit from 1.5s => 0.4s). It also means ``bzr log --short`` is one
168
step closer to not using full revision history.
169
(John Arbash Meinel, #172649)
173
* ``bzr merge --lca`` should handle when two revisions have no common
174
ancestor other than NULL_REVISION. (John Arbash Meinel, #235715)
176
* ``bzr status`` was breaking if you merged the same revision twice.
177
(John Arbash Meinel, #235407)
179
* ``bzr push`` with both ``--overwrite`` and ``-r NNN`` options no longer
180
fails. (Andrew Bennetts, #234229)
182
* Correctly track the base URL of a smart medium when using bzr+http://
183
URLs, which was causing spurious "No repository present" errors with
184
branches in shared repositories accessed over bzr+http.
185
(Andrew Bennetts, #230550)
187
* Define ``_remote_is_at_least_1_2`` on ``SmartClientMedium`` so that all
188
implementations have the attribute. Fixes 'PyCurlTransport' object has no
189
attribute '_remote_is_at_least_1_2' attribute errors.
190
(Andrew Bennetts, #220806)
192
* Failure to delete an obsolete pack file should just give a warning
193
message, not a fatal error. It may for example fail if the file is still
194
in use by another process.
197
* Fix MemoryError during large fetches over HTTP by limiting the amount of
198
data we try to read per ``recv`` call. The problem was observed with
199
Windows and a proxy, but might affect other environments as well.
200
(Eric Holmberg, #215426)
202
* Handle old merge directives correctly in Merger.from_mergeable. Stricter
203
get_parent_map requirements exposed a latent bug here. (Aaron Bentley)
205
* Issue a warning and ignore passwords declared in authentication.conf when
206
used for an ssh scheme (sftp or bzr+ssh).
207
(Vincent Ladeuil, #203186)
209
* Make both http implementations raise appropriate exceptions on 403
210
Forbidden when POSTing smart requests.
211
(Vincent Ladeuil, #230223)
213
* Properly *title* header names in http requests instead of capitalizing
215
(Vincent Ladeuil, #229076)
217
* The "Unable to obtain lock" error message now also suggests using
218
``bzr break-lock`` to fix it. (Martin Albisetti, #139202)
220
* Treat an encoding of '' as ascii; this can happen when bzr is run
221
under vim on Mac OS X.
222
(Neil Martinsen-Burrell)
224
* ``VersionedFile.make_mpdiffs()`` was raising an exception that wasn't in
225
scope. (Daniel Fischer #235687)
229
* Added directory structure and started translation of docs in spanish.
230
(Martin Albisetti, Lucio Albenga)
232
* Incorporate feedback from Jelmer Vernooij and Neil Martinsen-Burrell
233
on the plugin and integration chapters of the User Guide.
236
* More Bazaar developer documentation about packaging and release process,
237
and about use of Python reprs.
238
(Martin Pool, Martin Albisetti)
240
* Updated Tortise strategy document. (Mark Hammond)
244
* ``bzrlib.tests.adapt_tests`` was broken and unused - it has been fixed.
247
* Fix the test HTTPServer to be isolated from chdir calls made while it is
248
running, allowing it to be used in blackbox tests. (Robert Collins)
250
* New helper function for splitting test suites
251
``split_suite_by_condition``. (Robert Collins)
255
* ``Branch.missing_revisions`` has been deprecated. Similar functionality
256
can be obtained using ``bzrlib.missing.find_unmerged``. The api was
257
fairly broken, and the function was unused, so we are getting rid of it.
262
* ``Branch.abspath`` is deprecated; use the Tree or Transport
263
instead. (Martin Pool)
265
* ``Branch.update_revisions`` now takes an optional ``Graph``
266
object. This can be used by ``update_revisions`` when it is
267
checking ancestry, and allows callers to prefer request to go to a
268
local branch. (John Arbash Meinel)
270
* Branch, Repository, Tree and BzrDir should expose a Transport as an
271
attribute if they have one, rather than having it indirectly accessible
272
as ``.control_files._transport``. This doesn't add a requirement
273
to support a Transport in cases where it was not needed before;
274
it just simplifies the way it is reached. (Martin Pool)
276
* ``bzr missing --mine-only`` will return status code 0 if you have no
277
new revisions, but the remote does. Similarly for ``--theirs-only``.
278
The new code only checks one side, so it doesn't know if the other
279
side has changes. This seems more accurate with the request anyway.
280
It also changes the output to print '[This|Other] branch is up to
281
date.' rather than displaying nothing. (John Arbash Meinel)
283
* ``LockableFiles.put_utf8``, ``put_bytes`` and ``controlfilename``
284
are now deprecated in favor of using Transport operations.
287
* Many methods on ``VersionedFile``, ``Repository`` and in
288
``bzrlib.revision`` deprecated before bzrlib 1.5 have been removed.
291
* ``RevisionSpec.wants_revision_history`` can be set to False for a given
292
``RevisionSpec``. This will disable the existing behavior of passing in
293
the full revision history to ``self._match_on``. Useful for specs that
294
don't actually need access to the full history. (John Arbash Meinel)
296
* The constructors of ``SmartClientMedium`` and its subclasses now require a
297
``base`` parameter. ``SmartClientMedium`` implementations now also need
298
to provide a ``remote_path_from_transport`` method. (Andrew Bennetts)
300
* The default permissions for creating new files and directories
301
should now be obtained from ``BzrDir._get_file_mode()`` and
302
``_get_dir_mode()``, rather than from LockableFiles. The ``_set_file_mode``
303
and ``_set_dir_mode`` variables on LockableFiles which were advertised
304
as a way for plugins to control this are no longer consulted.
307
* ``VersionedFile.join`` is deprecated. This method required local
308
instances of both versioned file objects and was thus hostile to being
309
used for streaming from a smart server. The new get_record_stream and
310
insert_record_stream are meant to efficiently replace this method.
313
* ``WorkingTree.set_parent_(ids/trees)`` will now filter out revisions
314
which are in the ancestry of other revisions. So if you merge the same
315
tree twice, or merge an ancestor of an existing merge, it will only
316
record the newest. (If you merge a descendent, it will replace its
317
ancestor). (John Arbash Meinel, #235407)
319
* ``WorkingTreeFormat2.stub_initialize_remote`` is now private.
326
This release of Bazaar includes several updates to the documentation, and fixes
327
to prepare for making rich root support the default format. Many bugs have been
328
squashed, including fixes to log, bzr+ssh inter-operation with older servers.
332
* Suppress deprecation warnings when bzrlib is a 'final' release. This way
333
users of packaged software won't be bothered with DeprecationWarnings,
334
but developers and testers will still see them. (John Arbash Meinel)
338
* Incorporate feedback from Jelmer Vernooij and Neil Martinsen-Burrell
339
on the plugin and integration chapters of the User Guide.
343
bzr 1.5rc1 2008-05-09
344
---------------------
346
NOTES WHEN UPGRADING:
350
* Broader support of GNU Emacs mail clients. Set
351
``mail_client=emacsclient`` in your bazaar.conf and ``send`` will pop the
352
bundle in a mail buffer according to the value of ``mail-user-agent``
353
variable. (Xavier Maillard)
359
* Diff now handles revision specs like "branch:" and "submit:" more
360
efficiently. (Aaron Bentley, #202928)
362
* More friendly error given when attempt to start the smart server
363
on an address already in use. (Andrea Corbellini, #200575)
365
* Pull completes much faster when there is nothing to pull.
370
* Authentication.conf can define sections without password.
371
(Vincent Ladeuil, #199440)
373
* Avoid muttering every time a child update does not cause a progress bar
374
update. (John Arbash Meinel, #213771)
376
* ``Branch.reconcile()`` is now implemented. This allows ``bzr reconcile``
377
to fix when a Branch has a non-canonical mainline history. ``bzr check``
378
also detects this condition. (John Arbash Meinel, #177855)
380
* ``bzr log -r ..X bzr://`` was failing, because it was getting a request
381
for ``revision_id=None`` which was not a string.
382
(John Arbash Meinel, #211661)
384
* ``bzr commit`` now works with Microsoft's FTP service.
387
* Catch definitions outside sections in authentication.conf.
388
(Vincent Ladeuil, #217650)
390
* Conversion from non-rich-root to rich-root(-pack) updates inventory
391
sha1s, even when bundles are used. (Aaron Bentley, #181391)
393
* Conversion from non-rich-root to rich-root(-pack) works correctly even
394
though search keys are not topologically sorted. (Aaron Bentley)
396
* Conversion from non-rich-root to rich-root(-pack) works even when a
397
parent revision has a different root id. (Aaron Bentley, #177874)
399
* Disable strace testing until strace is fixed (see bug #103133) and emit a
400
warning when selftest ends to remind us of leaking tests.
401
(Vincent Ladeuil, #226769)
403
* Fetching all revisions from a repository does not cause pack collisions.
404
(Robert Collins, Aaron Bentley, #212908)
406
* Fix error about "attempt to add line-delta in non-delta knit".
407
(Andrew Bennetts, #217701)
409
* Pushing a branch in "dirstate" format (Branch5) over bzr+ssh would break
410
if the remote server was < version 1.2. This was due to a bug in the
411
RemoteRepository.get_parent_map() fallback code.
412
(John Arbash Meinel, #214894)
414
* Remove leftover code in ``bzr_branch`` that inappropriately creates
415
a ``branch-name`` file in the branch control directory.
418
* Set SO_REUSEADDR on server sockets of ``bzr serve`` to avoid problems
419
rebinding the socket when starting the server a second time.
420
(John Arbash Meinel, Martin Pool, #164288)
422
* Severe performance degradation in fetching from knit repositories to
423
knits and packs due to parsing the entire revisions.kndx on every graph
424
walk iteration fixed by using the Repository.get_graph API. There was
425
another regression in knit => knit fetching which re-read the index for
426
every revision each side had in common.
427
(Robert Collins, John Arbash Meinel)
429
* When logging the changes to a particular file, there was a bug if there
430
were ghosts in the revision ancestry. (John Arbash Meinel, #209948)
432
* xs4all's ftp server returns a temporary error when trying to list an
433
empty directory, rather than returning an empty list. Adding a
434
workaround so that we don't get spurious failures.
435
(John Arbash Meinel, #215522)
439
* Expanded the User Guide to include new chapters on popular plugins and
440
integrating Bazaar into your environment. The *Best practices* chapter
441
was renamed to *Miscellaneous topics* as suggested by community
442
feedback as well. (Ian Clatworthy)
444
* Document outlining strategies for TortoiseBzr. (Mark Hammond)
446
* Improved the documentation on hooks. (Ian Clatworthy)
448
* Update authentication docs regarding ssh agents.
449
(Vincent Ladeuil, #183705)
453
* Add ``thread_name_suffix`` parameter to SmartTCPServer_for_testing, to
454
make it easy to identify which test spawned a thread with an unhandled
455
exception. (Andrew Bennetts)
457
* New ``--debugflag``/``-E`` option to ``bzr selftest`` for setting
458
options for debugging tests, these are complementary to the the -D
459
options. The ``-Dselftest_debug`` global option has been replaced by the
460
``-E=allow_debug`` option for selftest. (Andrew Bennetts)
462
* Parameterised test ids are preserved correctly to aid diagnosis of test
463
failures. (Robert Collins, Andrew Bennetts)
465
* selftest now accepts --starting-with <id> to load only the tests whose id
466
starts with the one specified. This greatly speeds up running the test
467
suite on a limited set of tests and can be used to run the tests for a
468
single module, a single class or even a single test. (Vincent Ladeuil)
470
* The test suite modules have been modified to define load_tests() instead
471
of test_suite(). That speeds up selective loading (via --load-list)
472
significantly and provides many examples on how to migrate (grep for
473
load_tests). (Vincent Ladeuil)
477
* ``Hooks.install_hook`` is now deprecated in favour of
478
``Hooks.install_named_hook`` which adds a required ``name`` parameter, to
479
avoid having to call ``Hooks.name_hook``. (Daniel Watkins)
481
* Implement xml8 serializer. (Aaron Bentley)
483
* New form ``@deprecated_method(deprecated_in(1, 5, 0))`` for making
484
deprecation wrappers. (Martin Pool)
486
* ``Repository.revision_parents`` is now deprecated in favour of
487
``Repository.get_parent_map([revid])[revid]``. (Jelmer Vernooij)
489
* The Python ``assert`` statement is no longer used in Bazaar source, and
490
a test checks this. (Martin Pool)
494
* ``bzrlib.status.show_pending_merges`` requires the repository to be
495
locked by the caller. Callers should have been doing it anyway, but it
496
will now raise an exception if they do not. (John Arbash Meinel)
498
* Repository.get_data_stream, Repository.get_data_stream_for_search(),
499
Repository.get_deltas_for_revsions(), Repository.revision_trees(),
500
Repository.item_keys_introduced_by() no longer take read locks.
503
* ``LockableFiles.get_utf8`` and ``.get`` are deprecated, as a start
504
towards removing LockableFiles and ``.control_files`` entirely.
507
* Methods deprecated prior to 1.1 have been removed.
514
This release of Bazaar includes handy improvements to the speed of log and
515
status, new options for several commands, improved documentation, and better
516
hooks, including initial code for server-side hooks. A number of bugs have
517
been fixed, particularly in interoperability between different formats or
518
different releases of Bazaar over there network. There's been substantial
519
internal work in both the repository and network code to enable new features
520
and faster performance.
524
* Pushing a branch in "dirstate" format (Branch5) over bzr+ssh would break
525
if the remote server was < version 1.2. This was due to a bug in the
526
RemoteRepository.get_parent_map() fallback code.
527
(John Arbash Meinel, Andrew Bennetts, #214894)
530
bzr 1.4rc2 2008-04-21
531
---------------------
535
* ``bzr log -r ..X bzr://`` was failing, because it was getting a request
536
for ``revision_id=None`` which was not a string.
537
(John Arbash Meinel, #211661)
539
* Fixed a bug in handling ghost revisions when logging changes in a
540
particular file. (John Arbash Meinel, #209948)
542
* Fix error about "attempt to add line-delta in non-delta knit".
543
(Andrew Bennetts, #205156)
545
* Fixed performance degradation in fetching from knit repositories to
546
knits and packs due to parsing the entire revisions.kndx on every graph
547
walk iteration fixed by using the Repository.get_graph API. There was
548
another regression in knit => knit fetching which re-read the index for
549
every revision each side had in common.
550
(Robert Collins, John Arbash Meinel)
553
bzr 1.4rc1 2008-04-11
554
---------------------
558
* bzr main script cannot be imported (Benjamin Peterson)
560
* On Linux bzr additionally looks for plugins in arch-independent site
561
directory. (Toshio Kuratomi)
563
* The ``set_rh`` branch hook is now deprecated. Please migrate
564
any plugins using this hook to use an alternative, e.g.
565
``post_change_branch_tip``. (Ian Clatworthy)
567
* When a plugin cannot be loaded as the file path is not a valid
568
python module name bzr will now strip a ``bzr_`` prefix from the
569
front of the suggested name, as many plugins (e.g. bzr-svn)
570
want to be installed without this prefix. It is a common mistake
571
to have a folder named "bzr-svn" for that plugin, especially
572
as this is what bzr branch lp:bzr-svn will give you. (James Westby,
575
* UniqueIntegerBugTracker now appends bug-ids instead of joining
576
them to the base URL. Plugins that register bug trackers may
577
need a trailing / added to the base URL if one is not already there.
578
(James Wesby, Andrew Cowie)
582
* Added start_commit hook for mutable trees. (Jelmer Vernooij, #186422)
584
* ``status`` now accepts ``--no-pending`` to show the status without
585
listing pending merges, which speeds up the command a lot on large
586
histories. (James Westby, #202830)
588
* New ``post_change_branch_tip`` hook that is called after the
589
branch tip is moved but while the branch is still write-locked.
590
See the User Reference for signature details.
591
(Ian Clatworthy, James Henstridge)
593
* Reconfigure can convert a branch to be standalone or to use a shared
594
repository. (Aaron Bentley)
598
* The smart protocol now has support for setting branches' revision info
599
directly. This should make operations like push slightly faster, and is a
600
step towards server-side hooks. The new request method name is
601
``Branch.set_last_revision_info``. (Andrew Bennetts)
603
* ``bzr commit --fixes`` now recognises "gnome" as a tag by default.
604
(James Westby, Andrew Cowie)
606
* ``bzr switch`` will attempt to find branches to switch to relative to the
607
current branch. E.g. ``bzr switch branchname`` will look for
608
``current_branch/../branchname``. (Robert Collins, Jelmer Vernooij,
611
* Diff is now more specific about execute-bit changes it describes
614
* Fetching data over HTTP is a bit faster when urllib is used. This is done
615
by forcing it to recv 64k at a time when reading lines in HTTP headers,
616
rather than just 1 byte at a time. (Andrew Bennetts)
618
* Log --short and --line are much faster when -r is not specified.
621
* Merge is faster. We no longer check a file's existence unnecessarily
622
when merging the execute bit. (Aaron Bentley)
624
* ``bzr status`` on an explicit list of files no longer shows pending
625
merges, making it much faster on large trees. (John Arbash Meinel)
627
* The launchpad directory service now warns the user if they have not set
628
their launchpad login and are trying to resolve a URL using it, just
629
in case they want to do a write operation with it. (James Westby)
631
* The smart protocol client is slightly faster, because it now only queries
632
the server for the protocol version once per connection. Also, the HTTP
633
transport will now automatically probe for and use a smart server if
634
one is present. You can use the new ``nosmart+`` transport decorator
635
to get the old behaviour. (Andrew Bennetts)
637
* The ``version`` command takes a ``--short`` option to print just the
638
version number, for easier use in scripts. (Martin Pool)
640
* Various operations with revision specs and commands that calculate
641
revnos and revision ids are faster. (John A. Meinel, Aaron Bentley)
645
* Add ``root_client_path`` parameter to SmartWSGIApp and
646
SmartServerRequest. This makes it possible to publish filesystem
647
locations that don't exactly match URL paths. SmartServerRequest
648
subclasses should use the new ``translate_client_path`` and
649
``transport_from_client_path`` methods when dealing with paths received
650
from a client to take this into account. (Andrew Bennetts, #124089)
652
* ``bzr mv a b`` can be now used also to rename previously renamed
653
directories, not only files. (Lukáš Lalinský, #107967)
655
* ``bzr uncommit --local`` can now remove revisions from the local
656
branch to be symmetric with ``bzr commit --local``.
657
(John Arbash Meinel, #93412)
659
* Don't ask for a password if there is no real terminal.
660
(Alexander Belchenko, #69851)
662
* Fix a bug causing a ValueError crash in ``parse_line_delta_iter`` when
663
fetching revisions from a knit to pack repository or vice versa using
664
bzr:// (including over http or ssh).
665
(#208418, Andrew Bennetts, Martin Pool, Robert Collins)
667
* Fixed ``_get_line`` in ``bzrlib.smart.medium``, which was buggy. Also
668
fixed ``_get_bytes`` in the same module to use the push back buffer.
669
These bugs had no known impact in normal use, but were problematic for
670
developers working on the code, and were likely to cause real bugs sooner
671
or later. (Andrew Bennetts)
673
* Implement handling of basename parameter for DefaultMail. (James Westby)
675
* Incompatibility with Paramiko versions newer than 1.7.2 was fixed.
676
(Andrew Bennetts, #213425)
678
* Launchpad locations (lp: URLs) can be pulled. (Aaron Bentley, #181945)
680
* Merges that add files to deleted root directories complete. They
681
do create conflicts. (Aaron Bentley, #210092)
683
* vsftp's return ``550 RNFR command failed.`` supported.
684
(Marcus Trautwig, #129786)
688
* Improved documentation on send/merge relationship. (Peter Schuller)
690
* Minor fixes to the User Guide. (Matthew Fuller)
692
* Reduced the evangelism in the User Guide. (Ian Clatworthy)
694
* Added Integrating with Bazaar document for developers (Martin Albisetti)
698
* Attempting to pull data from a ghost aware repository (e.g. knits) into a
699
non-ghost aware repository such as weaves will now fail if there are
700
ghosts. (Robert Collins)
702
* ``KnitVersionedFile`` no longer accepts an ``access_mode`` parameter, and
703
now requires the ``index`` and ``access_method`` parameters to be
704
supplied. A compatible shim has been kept in the new function
705
``knit.make_file_knit``. (Robert Collins)
707
* Log formatters must now provide log_revision instead of show and
708
show_merge_revno methods. The latter had been deprecated since the 0.17
709
release. (James Westby)
711
* ``LoopbackSFTP`` is now called ``SocketAsChannelAdapter``.
714
* ``osutils.backup_file`` is removed. (Alexander Belchenko)
716
* ``Repository.get_revision_graph`` is deprecated, with no replacement
717
method. The method was size(history) and not desirable. (Robert Collins)
719
* ``revision.revision_graph`` is deprecated, with no replacement function.
720
The function was size(history) and not desirable. (Robert Collins)
722
* ``Transport.get_shared_medium`` is deprecated. Use
723
``Transport.get_smart_medium`` instead. (Andrew Bennetts)
725
* ``VersionedFile`` factories now accept a get_scope parameter rather
726
than using a call to ``transaction_finished``, allowing the removal of
727
the fixed list of versioned files per repository. (Robert Collins)
729
* ``VersionedFile.annotate_iter`` is deprecated. While in principle this
730
allowed lower memory use, all users of annotations wanted full file
731
annotations, and there is no storage format suitable for incremental
732
line-by-line annotation. (Robert Collins)
734
* ``VersionedFile.clone_text`` is deprecated. This performance optimisation
735
is no longer used - reading the content of a file that is undergoing a
736
file level merge to identical state on two branches is rare enough, and
737
not expensive enough to special case. (Robert Collins)
739
* ``VersionedFile.clear_cache`` and ``enable_cache`` are deprecated.
740
These methods added significant complexity to the ``VersionedFile``
741
implementation, but were only used for optimising fetches from knits -
742
which can be done from outside the knit layer, or via a caching
743
decorator. As knits are not the default format, the complexity is no
744
longer worth paying. (Robert Collins)
746
* ``VersionedFile.create_empty`` is removed. This method presupposed a
747
sensible mapping to a transport for individual files, but pack backed
748
versioned files have no such mapping. (Robert Collins)
750
* ``VersionedFile.get_graph`` is deprecated, with no replacement method.
751
The method was size(history) and not desirable. (Robert Collins)
753
* ``VersionedFile.get_graph_with_ghosts`` is deprecated, with no
754
replacement method. The method was size(history) and not desirable.
757
* ``VersionedFile.get_parents`` is deprecated, please use
758
``VersionedFile.get_parent_map``. (Robert Collins)
760
* ``VersionedFile.get_sha1`` is deprecated, please use
761
``VersionedFile.get_sha1s``. (Robert Collins)
763
* ``VersionedFile.has_ghost`` is now deprecated, as it is both expensive
764
and unused outside of a single test. (Robert Collins)
766
* ``VersionedFile.iter_parents`` is now deprecated in favour of
767
``get_parent_map`` which can be used to instantiate a Graph on a
768
VersionedFile. (Robert Collins)
770
* ``VersionedFileStore`` no longer uses the transaction parameter given
771
to most methods; amongst other things this means that the
772
get_weave_or_empty method no longer guarantees errors on a missing weave
773
in a readonly transaction, and no longer caches versioned file instances
774
which reduces memory pressure (but requires more careful management by
775
callers to preserve performance). (Robert Collins)
779
* New -Dselftest_debug flag disables clearing of the debug flags during
780
tests. This is useful if you want to use e.g. -Dhpss to help debug a
781
failing test. Be aware that using this feature is likely to cause
782
spurious test failures if used with the full suite. (Andrew Bennetts)
784
* selftest --load-list now uses a new more agressive test loader that will
785
avoid loading unneeded modules and building their tests. Plugins can use
786
this new loader by defining a load_tests function instead of a test_suite
787
function. (a forthcoming patch will provide many examples on how to
791
* selftest --load-list now does some sanity checks regarding duplicate test
792
IDs and tests present in the list but not found in the actual test suite.
795
* Slightly more concise format for the selftest progress bar, so there's
796
more space to show the test name. (Martin Pool) ::
798
[2500/10884, 1fail, 3miss in 1m29s] test_revisionnamespaces.TestRev
800
* The test suite takes much less memory to run, and is a bit faster. This
801
is done by clearing most attributes of TestCases after running them, if
802
they succeeded. (Andrew Bennetts)
806
* Added ``_build_client_protocol`` to ``_SmartClient``. (Andrew Bennetts)
808
* Added basic infrastructure for automatic plugin suggestion.
811
* If a ``LockableFiles`` object is not explicitly unlocked (for example
812
because of a missing ``try/finally`` block, it will give a warning but
813
not automatically unlock itself. (Previously they did.) This
814
sometimes caused knock-on errors if for example the network connection
815
had already failed, and should not be relied upon by code.
816
(Martin Pool, #109520)
818
* ``make dist`` target to build a release tarball, and also
819
``check-dist-tarball`` and ``dist-upload-escudero``. (Martin Pool)
821
* The ``read_response_tuple`` method of ``SmartClientRequestProtocol*``
822
classes will now raise ``UnknownSmartMethod`` when appropriate, so that
823
callers don't need to try distinguish unknown request errors from other
824
errors. (Andrew Bennetts)
826
* ``set_make_working_trees`` is now implemented provided on all repository
827
implementations (Aaron Bentley)
829
* ``VersionedFile`` now has a new method ``get_parent_map`` which, like
830
``Graph.get_parent_map`` returns a dict of key:parents. (Robert Collins)
836
No changes from 1.3.1rc1.
839
bzr 1.3rc1 2008-04-04
840
---------------------
844
* Fix a bug causing a ValueError crash in ``parse_line_delta_iter`` when
845
fetching revisions from a knit to pack repository or vice versa using
846
bzr:// (including over http or ssh).
847
(#208418, Andrew Bennetts, Martin Pool, Robert Collins)
853
Bazaar has become part of the GNU project <http://www.gnu.org>
855
Many operations that act on history, including ``log`` and ``annotate`` are now
856
substantially faster. Several bugs have been fixed and several new options and
857
features have been added.
861
* Avoid spurious failure of ``TestVersion.test_version`` matching
863
(#202778, Martin Pool)
866
bzr 1.3rc1 2008-03-16
867
---------------------
869
NOTES WHEN UPGRADING:
871
* The backup directory created by ``upgrade`` is now called
872
``backup.bzr``, not ``.bzr.backup``. (Martin Albisetti)
876
* A new repository format 'development' has been added. This format will
877
represent the latest 'in-progress' format that the bzr developers are
878
interested in getting early-adopter testing and feedback on.
879
``doc/developers/development-repo.txt`` has detailed information.
882
* BZR_LOG environment variable controls location of .bzr.log trace file.
883
User can suppress writing messages to .bzr.log by using '/dev/null'
884
filename (on Linux) or 'NUL' (on Windows). If BZR_LOG variable
885
is not defined but BZR_HOME is defined then default location
886
for .bzr.log trace file is ``$BZR_HOME/.bzr.log``.
887
(Alexander Belchenko)
889
* ``launchpad`` builtin plugin now shipped as separate part in standalone
890
bzr.exe, installed to ``C:\Program Files\Bazaar\plugins`` directory,
891
and standalone installer allows user to skip installation of this plugin.
892
(Alexander Belchenko)
894
* Restore auto-detection of plink.exe on Windows. (Dmitry Vasiliev)
896
* Version number is now shown as "1.2" or "1.2pr2", without zeroed or
897
missing final fields. (Martin Pool)
901
* ``branch`` and ``checkout`` can hard-link working tree files, which is
902
faster and saves space. (Aaron Bentley)
904
* ``bzr send`` will now also look at the ``child_submit_to`` setting in
905
the submit branch to determine the email address to send to.
910
* BzrBranch._lefthand_history is faster on pack repos. (Aaron Bentley)
912
* Branch6.generate_revision_history is faster. (Aaron Bentley)
914
* Directory services can now be registered, allowing special URLs to be
915
dereferenced into real URLs. This is a generalization and cleanup of
916
the lp: transport lookup. (Aaron Bentley)
918
* Merge directives that are automatically attached to emails have nicer
919
filenames, based on branch-nick + revno. (Aaron Bentley)
921
* ``push`` has a ``--revision`` option, to specify what revision to push up
924
* Significantly reducing execution time and network traffic for trivial
925
case of running ``bzr missing`` command for two identical branches.
926
(Alexander Belchenko)
928
* Speed up operations that look at the revision graph (such as 'bzr log').
929
``KnitPackRepositor.get_revision_graph`` uses ``Graph.iter_ancestry`` to
930
extract the revision history. This allows filtering ghosts while
931
stepping instead of needing to peek ahead. (John Arbash Meinel)
933
* The ``hooks`` command lists installed hooks, to assist in debugging.
936
* Updates to how ``annotate`` work. Should see a measurable improvement in
937
performance and memory consumption for file with a lot of merges.
938
Also, correctly handle when a line is introduced by both parents (it
939
should be attributed to the first merge which notices this, and not
940
to all subsequent merges.) (John Arbash Meinel)
944
* Autopacking no longer holds the full set of inventory lines in
945
memory while copying. For large repositories, this can amount to
946
hundreds of MB of ram consumption.
947
(Ian Clatworthy, John Arbash Meinel)
949
* Cherrypicking when using ``--format=merge3`` now explictly excludes
950
BASE lines. (John Arbash Meinel, #151731)
952
* Disable plink's interactive prompt for password.
953
(#107593, Dmitry Vasiliev)
955
* Encode command line arguments from unicode to user_encoding before
956
invoking external mail client in `bzr send` command.
957
(#139318, Alexander Belchenko)
959
* Fixed problem connecting to ``bzr+https://`` servers.
960
(#198793, John Ferlito)
962
* Improved error reporting in the Launchpad plugin. (Daniel Watkins,
965
* Include quick-start-summary.svg file to python-based installer(s)
966
for Windows. (#192924, Alexander Belchenko)
968
* lca merge now respects specified files. (Aaron Bentley)
970
* Make version-info --custom imply --all. (#195560, James Westby)
972
* ``merge --preview`` now works for merges that add or modify
973
symlinks (James Henstridge)
975
* Redirecting the output from ``bzr merge`` (when the remembered
976
location is used) now works. (John Arbash Meinel)
978
* setup.py script explicitly checks for Python version.
979
(Jari Aalto, Alexander Belchenko, #200569)
981
* UnknownFormatErrors no longer refer to branches regardless of kind of
982
unknown format. (Daniel Watkins, #173980)
984
* Upgrade bundled ConfigObj to version 4.5.2, which properly quotes #
985
signs, among other small improvements. (Matt Nordhoff, #86838)
987
* Use correct indices when emitting LCA conflicts. This fixes IndexError
988
errors. (Aaron Bentley, #196780)
992
* Explained how to use ``version-info --custom`` in the User Guide.
993
(Neil Martinsen-Burrell)
997
* Support for loading plugins from zip files and
998
``bzrlib.plugin.load_from_zip()`` function are deprecated.
999
(Alexander Belchenko)
1003
* Added missing blackbox tests for ``modified`` (Adrian Wilkins)
1005
* The branch interface tests were invalid for branches using rich-root
1006
repositories because the empty string is not a valid file-id.
1011
* ``Graph.iter_ancestry`` returns the ancestry of revision ids. Similar to
1012
``Repository.get_revision_graph()`` except it includes ghosts and you can
1013
stop part-way through. (John Arbash Meinel)
1015
* New module ``tools/package_mf.py`` provide custom module finder for
1016
python packages (improves standard python library's modulefinder.py)
1017
used by ``setup.py`` script while building standalone bzr.exe.
1018
(Alexander Belchenko)
1020
* New remote method ``RemoteBzrDir.find_repositoryV2`` adding support for
1021
detecting external lookup support on remote repositories. This method is
1022
now attempted first when lookup up repositories, leading to an extra
1023
round trip on older bzr smart servers. (Robert Collins)
1025
* Repository formats have a new supported-feature attribute
1026
``supports_external_lookups`` used to indicate repositories which support
1027
falling back to other repositories when they have partial data.
1030
* ``Repository.get_revision_graph_with_ghosts`` and
1031
``bzrlib.revision.(common_ancestor,MultipleRevisionSources,common_graph)``
1032
have been deprecated. (John Arbash Meinel)
1034
* ``Tree.iter_changes`` is now a public API, replacing the work-in-progress
1035
``Tree._iter_changes``. The api is now considered stable and ready for
1036
external users. (Aaron Bentley)
1038
* The bzrdir format registry now accepts an ``alias`` keyword to
1039
register_metadir, used to indicate that a format name is an alias for
1040
some other format and thus should not be reported when describing the
1041
format. (Robert Collins)
1049
* Fix failing test in Launchpad plugin. (Martin Pool)
1052
bzr 1.2rc1 2008-02-13
1053
---------------------
1055
NOTES WHEN UPGRADING:
1057
* Fetching via the smart protocol may need to reconnect once during a fetch
1058
if the remote server is running Bazaar 1.1 or earlier, because the client
1059
attempts to use more efficient requests that confuse older servers. You
1060
may be required to re-enter a password or passphrase when this happens.
1061
This won't happen if the server is upgraded to Bazaar 1.2.
12
1066
* Fetching via bzr+ssh will no longer fill ghosts by default (this is