~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/en/release-notes/bzr-0.8.txt

(gz) Backslash escape selftest output when printing to non-unicode consoles
 (Martin [gz])

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
####################
 
2
Bazaar Release Notes
 
3
####################
 
4
 
 
5
.. toctree::
 
6
   :maxdepth: 1
 
7
 
 
8
bzr 0.8.2
 
9
#########
 
10
 
 
11
:Released:  2006-05-17
 
12
 
 
13
Bug Fixes
 
14
*********
 
15
 
 
16
* setup.py failed to install launchpad plugin.  (Martin Pool)
 
17
 
 
18
bzr 0.8.1
 
19
#########
 
20
 
 
21
:Released:  2006-05-16
 
22
 
 
23
Bug Fixes
 
24
*********
 
25
 
 
26
* Fix failure to commit a merge in a checkout.  (Martin Pool,
 
27
  Robert Collins, Erik Bågfors, #43959)
 
28
 
 
29
* Nicer messages from 'commit' in the case of renames, and correct
 
30
  messages when a merge has occured. (Robert Collins, Martin Pool)
 
31
 
 
32
* Separate functionality from assert statements as they are skipped in
 
33
  optimized mode of python. Add the same check to pending merges.
 
34
  (Olaf Conradi, #44443)
 
35
 
 
36
Changes
 
37
*******
 
38
 
 
39
* Do not show the None revision in output of bzr ancestry. (Olaf Conradi)
 
40
 
 
41
* Add info on standalone branches without a working tree.
 
42
  (Olaf Conradi, #44155)
 
43
 
 
44
* Fix bug in knits when raising InvalidRevisionId. (Olaf Conradi, #44284)
 
45
 
 
46
Changes
 
47
*******
 
48
 
 
49
* Make editor invocation comply with Debian Policy. First check
 
50
  environment variables VISUAL and EDITOR, then try editor from
 
51
  alternatives system. If that all fails, fall back to the pre-defined
 
52
  list of editors. (Olaf Conradi, #42904)
 
53
 
 
54
New Features
 
55
************
 
56
 
 
57
* New 'register-branch' command registers a public branch into
 
58
  Launchpad.net, where it can be associated with bugs, etc.
 
59
  (Martin Pool, Bjorn Tillenius, Robert Collins)
 
60
 
 
61
Internals
 
62
*********
 
63
 
 
64
* New public api in InventoryEntry - ``describe_change(old, new)`` which
 
65
  provides a human description of the changes between two old and
 
66
  new. (Robert Collins, Martin Pool)
 
67
 
 
68
Testing
 
69
*******
 
70
 
 
71
* Fix test case for bzr info in upgrading a standalone branch to metadir,
 
72
  uses bzrlib api now. (Olaf Conradi)
 
73
 
 
74
bzr 0.8
 
75
#######
 
76
 
 
77
:Released:  2006-05-08
 
78
 
 
79
Notes When Upgrading
 
80
********************
 
81
 
 
82
Release 0.8 of bzr introduces a new format for history storage, called
 
83
'knit', as an evolution of to the 'weave' format used in 0.7.  Local
 
84
and remote operations are faster using knits than weaves.  Several
 
85
operations including 'init', 'init-repo', and 'upgrade' take a
 
86
--format option that controls this.  Branching from an existing branch
 
87
will keep the same format.
 
88
 
 
89
It is possible to merge, pull and push between branches of different
 
90
formats but this is slower than moving data between homogenous
 
91
branches.  It is therefore recommended (but not required) that you
 
92
upgrade all branches for a project at the same time.  Information on
 
93
formats is shown by 'bzr info'.
 
94
 
 
95
bzr 0.8 now allows creation of 'repositories', which hold the history
 
96
of files and revisions for several branches.  Previously bzr kept all
 
97
the history for a branch within the .bzr directory at the root of the
 
98
branch, and this is still the default.  To create a repository, use
 
99
the new 'bzr init-repo' command.  Branches exist as directories under
 
100
the repository and contain just a small amount of information
 
101
indicating the current revision of the branch.
 
102
 
 
103
bzr 0.8 also supports 'checkouts', which are similar to in cvs and
 
104
subversion.  Checkouts are associated with a branch (optionally in a
 
105
repository), which contains all the historical information.  The
 
106
result is that a checkout can be deleted without losing any
 
107
already-committed revisions.  A new 'update' command is also available.
 
108
 
 
109
Repositories and checkouts are not supported with the 0.7 storage
 
110
format.  To use them you must upgrad to either knits, or to the
 
111
'metaweave' format, which uses weaves but changes the .bzr directory
 
112
arrangement.
 
113
 
 
114
 
 
115
Improvements
 
116
************
 
117
 
 
118
* sftp paths can now be relative, or local, according to the lftp
 
119
  convention. Paths now take the form::
 
120
 
 
121
      sftp://user:pass@host:port/~/relative/path
 
122
      or
 
123
      sftp://user:pass@host:port/absolute/path
 
124
 
 
125
* The FTP transport now tries to reconnect after a temporary
 
126
  failure. ftp put is made atomic. (Matthieu Moy)
 
127
 
 
128
* The FTP transport now maintains a pool of connections, and
 
129
  reuses them to avoid multiple connections to the same host (like
 
130
  sftp did). (Daniel Silverstone)
 
131
 
 
132
* The ``bzr_man.py`` file has been removed. To create the man page now,
 
133
  use ``./generate_docs.py man``. The new program can also create other files.
 
134
  Run ``python generate_docs.py --help`` for usage information.
 
135
  (Hans Ulrich Niedermann & James Blackwell).
 
136
 
 
137
* Man Page now gives full help (James Blackwell).
 
138
  Help also updated to reflect user config now being stored in .bazaar
 
139
  (Hans Ulrich Niedermann)
 
140
 
 
141
* It's now possible to set aliases in bazaar.conf (Erik Bågfors)
 
142
 
 
143
* Pull now accepts a --revision argument (Erik Bågfors)
 
144
 
 
145
* ``bzr re-sign`` now allows multiple revisions to be supplied on the command
 
146
  line. You can now use the following command to sign all of your old
 
147
  commits::
 
148
 
 
149
    find .bzr/revision-store// -name my@email-* \
 
150
      | sed 's/.*\/\/..\///' \
 
151
      | xargs bzr re-sign
 
152
 
 
153
* Upgrade can now upgrade over the network. (Robert Collins)
 
154
 
 
155
* Two new commands 'bzr checkout' and 'bzr update' allow for CVS/SVN-alike
 
156
  behaviour.  By default they will cache history in the checkout, but
 
157
  with --lightweight almost all data is kept in the master branch.
 
158
  (Robert Collins)
 
159
 
 
160
* 'revert' unversions newly-versioned files, instead of deleting them.
 
161
 
 
162
* 'merge' is more robust.  Conflict messages have changed.
 
163
 
 
164
* 'merge' and 'revert' no longer clobber existing files that end in '~' or
 
165
  '.moved'.
 
166
 
 
167
* Default log format can be set in configuration and plugins can register
 
168
  their own formatters. (Erik Bågfors)
 
169
 
 
170
* New 'reconcile' command will check branch consistency and repair indexes
 
171
  that can become out of sync in pre 0.8 formats. (Robert Collins,
 
172
  Daniel Silverstone)
 
173
 
 
174
* New 'bzr init --format' and 'bzr upgrade --format' option to control
 
175
  what storage format is created or produced.  (Robert Collins,
 
176
  Martin Pool)
 
177
 
 
178
* Add parent location to 'bzr info', if there is one.  (Olaf Conradi)
 
179
 
 
180
* New developer commands 'weave-list' and 'weave-join'.  (Martin Pool)
 
181
 
 
182
* New 'init-repository' command, plus support for repositories in 'init'
 
183
  and 'branch' (Aaron Bentley, Erik Bågfors, Robert Collins)
 
184
 
 
185
* Improve output of 'info' command. Show all relevant locations related to
 
186
  working tree, branch and repository. Use kibibytes for binary quantities.
 
187
  Fix off-by-one error in missing revisions of working tree.  Make 'info'
 
188
  work on branches, repositories and remote locations.  Show locations
 
189
  relative to the shared repository, if applicable.  Show locking status
 
190
  of locations.  (Olaf Conradi)
 
191
 
 
192
* Diff and merge now safely handle binary files. (Aaron Bentley)
 
193
 
 
194
* 'pull' and 'push' now normalise the revision history, so that any two
 
195
  branches with the same tip revision will have the same output from 'log'.
 
196
  (Robert Collins)
 
197
 
 
198
* 'merge' accepts --remember option to store parent location, like 'push'
 
199
  and 'pull'. (Olaf Conradi)
 
200
 
 
201
* bzr status and diff when files given as arguments do not exist
 
202
  in the relevant trees.  (Martin Pool, #3619)
 
203
 
 
204
* Add '.hg' to the default ignore list.  (Martin Pool)
 
205
 
 
206
* 'knit' is now the default disk format. This improves disk performance and
 
207
  utilization, increases incremental pull performance, robustness with SFTP
 
208
  and allows checkouts over SFTP to perform acceptably.
 
209
  The initial Knit code was contributed by Johan Rydberg based on a
 
210
  specification by Martin Pool.
 
211
  (Robert Collins, Aaron Bentley, Johan Rydberg, Martin Pool).
 
212
 
 
213
* New tool to generate all-in-one html version of the manual.  (Alexander
 
214
  Belchenko)
 
215
 
 
216
* Hitting CTRL-C while doing an SFTP push will no longer cause stale locks
 
217
  to be left in the SFTP repository. (Robert Collins, Martin Pool).
 
218
 
 
219
* New option 'diff --prefix' to control how files are named in diff
 
220
  output, with shortcuts '-p0' and '-p1' corresponding to the options for
 
221
  GNU patch.  (Alexander Belchenko, Goffredo Baroncelli, Martin Pool)
 
222
 
 
223
* Add --revision option to 'annotate' command.  (Olaf Conradi)
 
224
 
 
225
* If bzr shows an unexpected revision-history after pulling (perhaps due
 
226
  to a reweave) it can now be corrected by 'bzr reconcile'.
 
227
  (Robert Collins)
 
228
 
 
229
Changes
 
230
*******
 
231
 
 
232
* Commit is now verbose by default, and shows changed filenames and the
 
233
  new revision number.  (Robert Collins, Martin Pool)
 
234
 
 
235
* Unify 'mv', 'move', 'rename'.  (Matthew Fuller, #5379)
 
236
 
 
237
* 'bzr -h' shows help.  (Martin Pool, Ian Bicking, #35940)
 
238
 
 
239
* Make 'pull' and 'push' remember location on failure using --remember.
 
240
  (Olaf Conradi)
 
241
 
 
242
* For compatibility, make old format for using weaves inside metadir
 
243
  available as 'metaweave' format.  Rename format 'metadir' to 'default'.
 
244
  Clean up help for option --format in commands 'init', 'init-repo' and
 
245
  'upgrade'.  (Olaf Conradi)
 
246
 
 
247
Internals
 
248
*********
 
249
 
 
250
* The internal storage of history, and logical branch identity have now
 
251
  been split into Branch, and Repository. The common locking and file
 
252
  management routines are now in bzrlib.lockablefiles.
 
253
  (Aaron Bentley, Robert Collins, Martin Pool)
 
254
 
 
255
* Transports can now raise DependencyNotPresent if they need a library
 
256
  which is not installed, and then another implementation will be
 
257
  tried.  (Martin Pool)
 
258
 
 
259
* Remove obsolete (and no-op) `decode` parameter to `Transport.get`.
 
260
  (Martin Pool)
 
261
 
 
262
* Using Tree Transform for merge, revert, tree-building
 
263
 
 
264
* WorkingTree.create, Branch.create, ``WorkingTree.create_standalone``,
 
265
  Branch.initialize are now deprecated. Please see ``BzrDir.create_*`` for
 
266
  replacement API's. (Robert Collins)
 
267
 
 
268
* New BzrDir class represents the .bzr control directory and manages
 
269
  formatting issues. (Robert Collins)
 
270
 
 
271
* New repository.InterRepository class encapsulates Repository to
 
272
  Repository actions and allows for clean selection of optimised code
 
273
  paths. (Robert Collins)
 
274
 
 
275
* ``bzrlib.fetch.fetch`` and ``bzrlib.fetch.greedy_fetch`` are now
 
276
  deprecated, please use ``branch.fetch`` or ``repository.fetch``
 
277
  depending on your needs. (Robert Collins)
 
278
 
 
279
* deprecated methods now have a ``is_deprecated`` flag on them that can
 
280
  be checked, if you need to determine whether a given callable is
 
281
  deprecated at runtime. (Robert Collins)
 
282
 
 
283
* Progress bars are now nested - see
 
284
  ``bzrlib.ui.ui_factory.nested_progress_bar``.
 
285
  (Robert Collins, Robey Pointer)
 
286
 
 
287
* New API call ``get_format_description()`` for each type of format.
 
288
  (Olaf Conradi)
 
289
 
 
290
* Changed ``branch.set_parent()`` to accept None to remove parent.
 
291
  (Olaf Conradi)
 
292
 
 
293
* Deprecated BzrError AmbiguousBase.  (Olaf Conradi)
 
294
 
 
295
* WorkingTree.branch is now a read only property.  (Robert Collins)
 
296
 
 
297
* bzrlib.ui.text.TextUIFactory now accepts a ``bar_type`` parameter which
 
298
  can be None or a factory that will create a progress bar. This is
 
299
  useful for testing or for overriding the bzrlib.progress heuristic.
 
300
  (Robert Collins)
 
301
 
 
302
* New API method ``get_physical_lock_status()`` to query locks present on a
 
303
  transport.  (Olaf Conradi)
 
304
 
 
305
* Repository.reconcile now takes a thorough keyword parameter to allow
 
306
  requesting an indepth reconciliation, rather than just a data-loss
 
307
  check. (Robert Collins)
 
308
 
 
309
* ``bzrlib.ui.ui_factory protocol`` now supports ``get_boolean`` to prompt
 
310
  the user for yes/no style input. (Robert Collins)
 
311
 
 
312
Testing
 
313
*******
 
314
 
 
315
* SFTP tests now shortcut the SSH negotiation, reducing test overhead
 
316
  for testing SFTP protocol support. (Robey Pointer)
 
317
 
 
318
* Branch formats are now tested once per implementation (see ``bzrlib.
 
319
  tests.branch_implementations``. This is analagous to the transport
 
320
  interface tests, and has been followed up with working tree,
 
321
  repository and BzrDir tests. (Robert Collins)
 
322
 
 
323
* New test base class TestCaseWithTransport provides a transport aware
 
324
  test environment, useful for testing any transport-interface using
 
325
  code. The test suite option --transport controls the transport used
 
326
  by this class (when its not being used as part of implementation
 
327
  contract testing). (Robert Collins)
 
328
 
 
329
* Close logging handler on disabling the test log. This will remove the
 
330
  handler from the internal list inside python's logging module,
 
331
  preventing shutdown from closing it twice.  (Olaf Conradi)
 
332
 
 
333
* Move test case for uncommit to blackbox tests.  (Olaf Conradi)
 
334
 
 
335
* ``run_bzr`` and ``run_bzr_captured`` now accept a 'stdin="foo"'
 
336
  parameter which will provide String("foo") to the command as its stdin.
 
337
 
 
338
 
 
339
..
 
340
   vim: tw=74 ft=rst ff=unix