~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

  • Committer: Ian Clatworthy
  • Date: 2007-12-07 05:31:54 UTC
  • mto: (3092.1.1 ianc-integration)
  • mto: This revision was merged to the branch mainline in revision 3093.
  • Revision ID: ian.clatworthy@internode.on.net-20071207053154-k9tmyczcf8niwonm
fix efficiency of local commit detection as recommended by jameinel's review

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