~bzr-pqm/bzr/bzr.dev

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
*************************
What's New in Bazaar 2.4?
*************************

Bazaar 2.4 is still under development, and will be released in August 2011.
This document accumulates a high level summary of what's changed.  See the
:doc:`../release-notes/index` for a full list.

Users are encouraged to upgrade from the other stable series.  This
document outlines the improvements in Bazaar 2.4 vs Bazaar 2.3. As well as
summarizing improvements made to the core product, it highlights
enhancements within the broader Bazaar world of potential interest to
those upgrading.

Bazaar 2.4.0 is fully compatible both locally and on the network with 2.0,
2.1, 2.2 and 2.3, and can read and write repositories generated by all
previous versions.

Dropping Python2.4 and Python2.5 support
****************************************

Bazaar 2.4.0 is the first version of bzr to drop support for python
versions before 2.6. The 2.3 series will still be maintained in bugfix
mode for people who need older versions of python. This allows us to clean
up the syntax in our files, as well as start looking into python3
compatibility.

External merge tools
********************

External merge tool configuration has been added to ``bzr`` core. The name
and commandline of one or more external merge tools can be defined in
bazaar.conf. See the help topic ``configuration`` for more details.

Tagged revisions are copied
***************************

When tags are copied from a branch, the associated revisions are now copied
too.  Previously operations like branching, merging or pulling might have
copied new tags visible in ``bzr tags``, but not copied the revisions.  Now
revisions from tags will always be present, so that operations like ``bzr
log -r tag:foo`` will always work.

Deprecated command synonyms
***************************

Two built-in synonyms for ``bzr branch`` have been deprecated: ``clone`` and
``get``.

Configuration files
*******************

Option values can now refer to other options in the same configuration file by
enclosing them in curly brackets (``{option}``). This is an opt-in feature
during the beta period controlled by the ``bzr.config.expand`` option that
should be declared in ``bazaar.conf`` and no other file.

Changelog merge plugin
**********************

The ``changelog_merge`` plugin has been added.  It provides a merge hook
to automate merging of changes to ``ChangeLog`` files in GNU's change log
format.  Refer to ``bzr help changelog_merge`` for documentation on how to
enable it and what it can do.

Faster operations on Large Trees
********************************

Many bzr commands used to run into pathological behavior on large trees
(>10k files), reading the inventory data in random order causing cache
thrashing. Various other tweaks have been applied with feedback from large
trees. A possibly incomplete list is as follows for running commands on a
70k file tree::

    bzr-2.3 bzr-2.4 action
    3m39s   1m03s   bzr co --lightweight
      38s      6s   bzr revert
    4m47s     27s   bzr merge
    4m58s     32s   bzr up
    

Faster stacked branches
***********************

Creating a stacked branch from a smart server with ``bzr branch
--stacked`` is a bit faster now.  For small branches it does 20% fewer
network roundtrips.  Other operations where a local branch is stacked on a
branch hosted on a smart server will also benefit.

Further information
*******************

For more detailed information on the changes made, see the the
:doc:`../release-notes/index` for:

* the interim bzr `milestones <https://launchpad.net/bzr/2.4>`_
* the plugins you use.

For a summary of changes made in earlier releases, see:

* :doc:`whats-new-in-2.1`
* :doc:`whats-new-in-2.2`
* :doc:`whats-new-in-2.3`

..
   vim: tw=74 ft=rst ff=unix