~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

better unicode handling when commit message (-m) is same as unicode
 filename. (parthm, #563646)

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