~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/en/whats-new/whats-new-in-2.4.txt

(gz) Fix test failure on alpha by correcting format string for
 gc_chk_sha1_record (Martin [gz])

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
**********************************
2
 
What's New in Bazaar 2.4 (Oronsay)
3
 
**********************************
4
 
 
5
 
Bazaar 2.4 has been released on the 8th of August 2011 and marks the start
6
 
of a new long-term-stable series. From here, we will only make bugfix
7
 
releases on the 2.4 series (2.4.1, etc, and support it until February 2013),
8
 
while 2.5 will become our new development series.
9
 
 
 
1
*************************
 
2
What's New in Bazaar 2.4?
 
3
*************************
 
4
 
 
5
Bazaar 2.4 is still under development, and will be released in August 2011.
10
6
This document accumulates a high level summary of what's changed.  See the
11
7
:doc:`../release-notes/index` for a full list.
12
8
 
20
16
2.1, 2.2 and 2.3, and can read and write repositories generated by all
21
17
previous versions.
22
18
 
23
 
Bazaar 2.4.1 includes all the fixes in the un-released 2.0.7, 2.1.5, 2.2.6
24
 
and 2.3.5 versions that weren't included in 2.4.0 and fixes some bugs on its
25
 
own.
26
 
 
27
 
 
28
 
Dropping Python2.4 and Python2.5 support
29
 
****************************************
30
 
 
31
 
Bazaar 2.4.0 is the first version of bzr to drop support for python
32
 
versions before 2.6. The 2.3 series will still be maintained in bugfix
33
 
mode for people who need older versions of python. You can also use
34
 
Launchpad to nominate fixes for 2.3. We can't fix everything, but that can
35
 
help guide us to what people are running into. Upgrading to python2.6
36
 
allows us to clean up the syntax in our files, and makes it easier to work
37
 
on python3 compatibility.
38
 
 
39
 
External merge tools
 
19
External Merge Tools
40
20
********************
41
21
 
42
22
External merge tool configuration has been added to ``bzr`` core. The name
43
23
and commandline of one or more external merge tools can be defined in
44
24
bazaar.conf. See the help topic ``configuration`` for more details.
45
25
 
46
 
Tagged revisions are copied
 
26
Tagged Revisions are Copied
47
27
***************************
48
28
 
49
29
When tags are copied from a branch, the associated revisions are now copied
50
 
too if the config entry ``branch.fetch_tags`` is set to True.  Operations
51
 
like branching, merging or pulling will still always copy new tags visible
52
 
in ``bzr tags``. When the config is set, it will now also copy the
53
 
revisions and their ancestry.  This way tagged revisions will always be
54
 
present, so that operations like ``bzr log -r tag:foo`` will always work.
55
 
 
56
 
Deprecated command synonyms
57
 
***************************
58
 
 
59
 
Two built-in synonyms for ``bzr branch`` have been deprecated: ``clone`` and
60
 
``get``.
61
 
 
62
 
Command options
63
 
***************
64
 
 
65
 
* The ``bzr log`` and ``bzr missing`` commands now accept ``-S`` as a
66
 
  shorthand for ``--short``.
 
30
too.  Previously operations like branching, merging or pulling might have
 
31
copied new tags visible in ``bzr tags``, but not copied the revisions.  Now
 
32
revisions from tags will always be present, so that operations like ``bzr
 
33
log -r tag:foo`` will always work.
67
34
 
68
35
Configuration files
69
36
*******************
70
37
 
71
 
Option values can now refer to other options in the same configuration file
72
 
by enclosing them in curly brackets (``{option}``). This is an opt-in
73
 
feature controlled by the ``bzr.config.expand`` option that should be
74
 
declared in ``bazaar.conf`` and no other file.
75
 
 
76
 
Changelog merge plugin
77
 
**********************
78
 
 
79
 
The ``changelog_merge`` plugin has been added.  It provides a merge hook
80
 
to automate merging of changes to ``ChangeLog`` files in GNU's change log
81
 
format.  Refer to ``bzr help changelog_merge`` for documentation on how to
82
 
enable it and what it can do.
83
 
 
84
 
Faster operations on Large Trees
85
 
********************************
86
 
 
87
 
Many bzr commands used to run into pathological behavior on large trees
88
 
(>10k files), reading the inventory data in random order causing cache
89
 
thrashing (the fix was backported to bzr-2.3.2). We also updated several
90
 
code paths that were updating the WT state using an O(tree) operation to
91
 
one that was an O(changes) operation.  A possibly incomplete list is as
92
 
follows for running commands on a 70k file tree::
93
 
 
94
 
    bzr-2.3.1 bzr-2.3.2 bzr-2.4  action
95
 
    3m39s         1m08s   1m03s  bzr co --lightweight
96
 
      38s            8s      2s  bzr revert (in a clean tree)
97
 
    4m47s         3m56s     15s  bzr merge
98
 
    4m45s           20s      3s  bzr pull
99
 
    4m58s         3m00s      2s  bzr up
100
 
    9m33s           21s     19s  bzr uncommit (including a merge)
101
 
    4m44s           17s      2s  bzr uncommit (simple commit)
102
 
    
103
 
This is a smaller table of times for the Launchpad tree (~8k items)::
104
 
 
105
 
    bzr-2.3.1   bzr-2.4     action
106
 
    5.3s        5.2s        bzr co --lightweight
107
 
    0.9s        0.3s        bzr revert
108
 
    1.4s        0.4s        bzr pull
109
 
    3.9s        3.7s        bzr uncommit (with merge)
110
 
    0.9s        0.3s        bzr uncommit (without merge)
111
 
 
112
 
Faster stacked branches
113
 
***********************
114
 
 
115
 
Creating a stacked branch from a smart server with ``bzr branch
116
 
--stacked`` is a bit faster now.  For small branches it does 20% fewer
117
 
network roundtrips.  Other operations where a local branch is stacked on a
118
 
branch hosted on a smart server will also benefit.
119
 
 
120
 
More export control
121
 
*******************
122
 
 
123
 
When exporting a tree, you may now use get_export_generator() to 
124
 
do an operation after each file is exported. 
125
 
 
126
 
Testing
127
 
*******
128
 
 
129
 
The ``selftest --exclude`` option can now be specified multiple times and
130
 
the tests that match any of the specified patterns will be excluded. Only
131
 
the last specified pattern was previously taken into account.
132
 
 
133
 
Digital Signature Verification
134
 
******************************
135
 
 
136
 
A new command ``bzr verify-signatures`` has been added to check that commits
137
 
are correctly signed with trusted keys by GPG.  This requires python-gpgme to
138
 
be installed.  ``bzr log`` has gained a ``--signatures`` option to list the
139
 
validity of signatures for each commit.  New config options ``acceptable_keys``
140
 
and ``validate_signatures_in_log`` can be set to control options to these
141
 
commands.
 
38
Option values can now refer to other options in the same configuration file by
 
39
enclosing them in curly brackets (``{option}``). This is an opt-in feature
 
40
during the beta period controlled by the ``bzr.config.expand`` option that
 
41
should be declared in ``bazaar.conf`` and no other file.
142
42
 
143
43
Further information
144
44
*******************
154
54
* :doc:`whats-new-in-2.1`
155
55
* :doc:`whats-new-in-2.2`
156
56
* :doc:`whats-new-in-2.3`
157
 
 
158
 
..
159
 
   vim: tw=74 ft=rst ff=unix