~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to NEWS

first cut at merge from integration.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
IN DEVELOPMENT
2
 
 
3
 
  IMPROVEMENTS:
4
 
 
5
 
   * Tests updates to ensure proper URL handling, UNICODE support, and
6
 
     proper printing when the user's terminal encoding cannot display 
7
 
     the path of a file that has been versioned.
8
 
     ``bzr branch`` can take a target URL rather than only a local directory.
9
 
     Branch.get_parent()/set_parent() now save a relative path if possible,
10
 
     and normalize the parent based on root, allowing access across
11
 
     different transports. (John Arbash Meinel, Wouter van Heyst, Martin Pool)
12
 
     (Malone #48906, #42699, #40675, #5281, #3980, #36363, #43689,
13
 
      #42517, #42514)
14
 
 
15
 
   * On Unix, detect terminal width using an ioctl not just $COLUMNS.
16
 
     Use terminal width for single-line logs from ``bzr log --line`` and
17
 
     pending-merge display.  (Robert Widhopf-Fenk, Gustavo Niemeyer)
18
 
     (Malone #3507)
19
 
 
20
 
   * On Windows, detect terminal width using GetConsoleScreenBufferInfo.
21
 
     (Alexander Belchenko)
22
 
 
23
 
   * Speedup improvement for 'date:'-revision search. (Guillaume Pinot).
24
 
 
25
 
   * Show the correct number of revisions pushed when pushing a new branch.
26
 
     (Robert Collins).
27
 
 
28
 
   * 'bzr selftest' now shows a progress bar with the number of tests, and 
29
 
     progress made. 'make check' shows tests in -v mode, to be more useful
30
 
     for the PQM status window. (Robert Collins).
31
 
 
32
 
   * 'bzr selftest --benchmark' will run a new benchmarking selftest.
33
 
     'bzr selftest --benchmark --lsprof-timed' will use lsprofile to generate
34
 
     profile data for the individual profiled calls, allowing for fine
35
 
     grained analysis of performance.
36
 
     (Robert Collins, Martin Pool).
37
 
 
38
 
   * 'bzr commit' shows a progress bar. This is useful for commits over sftp
39
 
     where commit can take an appreciable time. (Robert Collins)
40
 
 
41
 
   * 'bzr add' is now less verbose in telling you what ignore globs were
42
 
     matched by files being ignored. Instead it just tells you how many 
43
 
     were ignored (because you might reasonably be expecting none to be
44
 
     ignored). 'bzr add -v' is unchanged and will report every ignored
45
 
     file. (Robert Collins).
46
 
 
47
 
   * ftp now has a test server if medusa is installed. As part of testing,
48
 
     ftp support has been improved, including support for supplying a
49
 
     non-standard port. (John Arbash Meinel).
50
 
 
51
 
   * 'bzr log --line' shows the revision number, and uses only the
52
 
     first line of the log message (#5162, Alexander Belchenko;
53
 
     Matthieu Moy)
54
 
  
55
 
 
56
 
  BUG FIXES:
57
 
 
58
 
    * Fix shadowed definition of TestLocationConfig that caused some 
59
 
      tests not to run.  (#32587, Erik Bågfors, Michael Ellerman, 
60
 
      Martin Pool)
61
 
 
62
 
    * Fix unnecessary requirement of sign-my-commits that it be run from
63
 
      a working directory.  (Martin Pool, Robert Collins)
64
 
 
65
 
  INTERNALS:
66
 
 
67
 
    * Combine the ignore rules into a single regex rather than looping over
68
 
      them to reduce the threshold where  N^2 behaviour occurs in operations
69
 
      like status. (Jan Hudec, Robert Collins).
70
 
 
71
 
    * 'bzr push' should only push the ancestry of the current revision, not
72
 
      all of the history in the repository. This is especially important for
73
 
      shared repositories. (John Arbash Meinel)
74
 
 
75
 
    * bzrlib.delta.compare_trees now iterates in alphabetically sorted order,
76
 
      rather than randomly walking the inventories. (John Arbash Meinel)
77
 
 
78
 
    * Split ``check`` into separate methods on the branch and on the repository,
79
 
      so that it can be specialized in ways that are useful or efficient for
80
 
      different formats.  (Martin Pool, Robert Collins)
81
 
 
82
 
    * Deprecate Repository.all_revision_ids; most methods don't really need
83
 
      the global revision graph but only that part leading up to a particular
84
 
      revision.  (Martin Pool, Robert Collins)
85
 
 
86
 
bzr 0.8.2  2006-05-17
87
 
  
88
 
  BUG FIXES:
89
 
   
90
 
    * setup.py failed to install launchpad plugin.  (Martin Pool)
91
 
 
92
 
bzr 0.8.1  2006-05-16
93
 
 
94
 
  BUG FIXES:
95
 
 
96
 
    * Fix failure to commit a merge in a checkout.  (Martin Pool, 
97
 
      Robert Collins, Erik Bågfors, #43959)
98
 
 
99
 
    * Nicer messages from 'commit' in the case of renames, and correct
100
 
      messages when a merge has occured. (Robert Collins, Martin Pool)
101
 
 
102
 
    * Separate functionality from assert statements as they are skipped in
103
 
      optimized mode of python. Add the same check to pending merges.
104
 
      (#44443, Olaf Conradi)
105
 
 
106
 
  CHANGES:
107
 
 
108
 
    * Do not show the None revision in output of bzr ancestry. (Olaf Conradi)
109
 
 
110
 
    * Add info on standalone branches without a working tree.
111
 
      (#44155, Olaf Conradi)
112
 
 
113
 
    * Fix bug in knits when raising InvalidRevisionId. (#44284, Olaf Conradi)
114
 
 
115
 
  CHANGES:
116
 
 
117
 
    * Make editor invocation comply with Debian Policy. First check
118
 
      environment variables VISUAL and EDITOR, then try editor from
119
 
      alternatives system. If that all fails, fall back to the pre-defined
120
 
      list of editors. (#42904, Olaf Conradi)
121
 
 
122
 
  NEW FEATURES:
123
 
 
124
 
    * New 'register-branch' command registers a public branch into 
125
 
      Launchpad.net, where it can be associated with bugs, etc.
126
 
      (Martin Pool, Bjorn Tillenius, Robert Collins)
127
 
 
128
 
  INTERNALS:
129
 
 
130
 
    * New public api in InventoryEntry - 'describe_change(old, new)' which
131
 
      provides a human description of the changes between two old and
132
 
      new. (Robert Collins, Martin Pool)
133
 
 
134
 
  TESTING:
135
 
 
136
 
    * Fix test case for bzr info in upgrading a standalone branch to metadir,
137
 
      uses bzrlib api now. (Olaf Conradi)
138
 
 
139
 
bzr 0.8  2006-05-08
140
 
 
141
 
  NOTES WHEN UPGRADING:
142
 
 
143
 
    Release 0.8 of bzr introduces a new format for history storage, called
144
 
    'knit', as an evolution of to the 'weave' format used in 0.7.  Local 
145
 
    and remote operations are faster using knits than weaves.  Several
146
 
    operations including 'init', 'init-repo', and 'upgrade' take a 
147
 
    --format option that controls this.  Branching from an existing branch
148
 
    will keep the same format.
149
 
 
150
 
    It is possible to merge, pull and push between branches of different
151
 
    formats but this is slower than moving data between homogenous
152
 
    branches.  It is therefore recommended (but not required) that you
153
 
    upgrade all branches for a project at the same time.  Information on
154
 
    formats is shown by 'bzr info'.
155
 
 
156
 
    bzr 0.8 now allows creation of 'repositories', which hold the history 
157
 
    of files and revisions for several branches.  Previously bzr kept all
158
 
    the history for a branch within the .bzr directory at the root of the
159
 
    branch, and this is still the default.  To create a repository, use
160
 
    the new 'bzr init-repo' command.  Branches exist as directories under
161
 
    the repository and contain just a small amount of information
162
 
    indicating the current revision of the branch.
163
 
 
164
 
    bzr 0.8 also supports 'checkouts', which are similar to in cvs and
165
 
    subversion.  Checkouts are associated with a branch (optionally in a
166
 
    repository), which contains all the historical information.  The
167
 
    result is that a checkout can be deleted without losing any
168
 
    already-committed revisions.  A new 'update' command is also available. 
169
 
 
170
 
    Repositories and checkouts are not supported with the 0.7 storage
171
 
    format.  To use them you must upgrad to either knits, or to the
172
 
    'metaweave' format, which uses weaves but changes the .bzr directory
173
 
    arrangement.
174
 
    
175
 
 
176
 
  IMPROVEMENTS:
177
 
 
178
 
    * Sftp paths can now be relative, or local, according to the lftp
179
 
      convention. Paths now take the form:
180
 
      sftp://user:pass@host:port/~/relative/path
181
 
      or
182
 
      sftp://user:pass@host:port/absolute/path
183
 
 
184
 
    * The FTP transport now tries to reconnect after a temporary
185
 
      failure. ftp put is made atomic. (Matthieu Moy)
186
 
 
187
 
    * The FTP transport now maintains a pool of connections, and
188
 
      reuses them to avoid multiple connections to the same host (like
189
 
      sftp did). (Daniel Silverstone)
190
 
 
191
 
    * The bzr_man.py file has been removed. To create the man page now,
192
 
      use ./generate_docs.py man. The new program can also create other files.
193
 
      Run "python generate_docs.py --help" for usage information. (Hans
194
 
      Ulrich Niedermann & James Blackwell).
195
 
 
196
 
    * Man Page now gives full help (James Blackwell). Help also updated to 
197
 
      reflect user config now being stored in .bazaar (Hans Ulrich
198
 
      Niedermann)
199
 
 
200
 
    * It's now possible to set aliases in bazaar.conf (Erik Bågfors)
201
 
 
202
 
    * Pull now accepts a --revision argument (Erik Bågfors)
203
 
 
204
 
    * 'bzr re-sign' now allows multiple revisions to be supplied on the command
205
 
      line. You can now use the following command to sign all of your old commits.
206
 
        find .bzr/revision-store// -name my@email-* \
207
 
          | sed 's/.*\/\/..\///' \
208
 
          | xargs bzr re-sign
209
 
 
210
 
    * Upgrade can now upgrade over the network. (Robert Collins)
211
 
 
212
 
    * Two new commands 'bzr checkout' and 'bzr update' allow for CVS/SVN-alike
213
 
      behaviour.  By default they will cache history in the checkout, but
214
 
      with --lightweight almost all data is kept in the master branch.
215
 
      (Robert Collins)
216
 
 
217
 
    * 'revert' unversions newly-versioned files, instead of deleting them.
218
 
 
219
 
    * 'merge' is more robust.  Conflict messages have changed.
220
 
 
221
 
    * 'merge' and 'revert' no longer clobber existing files that end in '~' or
222
 
      '.moved'.
223
 
 
224
 
    * Default log format can be set in configuration and plugins can register
225
 
      their own formatters. (Erik Bågfors)
226
 
 
227
 
    * New 'reconcile' command will check branch consistency and repair indexes
228
 
      that can become out of sync in pre 0.8 formats. (Robert Collins,
229
 
      Daniel Silverstone)
230
 
 
231
 
    * New 'bzr init --format' and 'bzr upgrade --format' option to control 
232
 
      what storage format is created or produced.  (Robert Collins, 
233
 
      Martin Pool)
234
 
 
235
 
    * Add parent location to 'bzr info', if there is one.  (Olaf Conradi)
236
 
 
237
 
    * New developer commands 'weave-list' and 'weave-join'.  (Martin Pool)
238
 
 
239
 
    * New 'init-repository' command, plus support for repositories in 'init'
240
 
      and 'branch' (Aaron Bentley, Erik Bågfors, Robert Collins)
241
 
 
242
 
    * Improve output of 'info' command. Show all relevant locations related to
243
 
      working tree, branch and repository. Use kibibytes for binary quantities.
244
 
      Fix off-by-one error in missing revisions of working tree.  Make 'info'
245
 
      work on branches, repositories and remote locations.  Show locations
246
 
      relative to the shared repository, if applicable.  Show locking status
247
 
      of locations.  (Olaf Conradi)
248
 
 
249
 
    * Diff and merge now safely handle binary files. (Aaron Bentley)
250
 
 
251
 
    * 'pull' and 'push' now normalise the revision history, so that any two
252
 
      branches with the same tip revision will have the same output from 'log'.
253
 
      (Robert Collins)
254
 
 
255
 
    * 'merge' accepts --remember option to store parent location, like 'push'
256
 
      and 'pull'. (Olaf Conradi)
257
 
 
258
 
    * bzr status and diff when files given as arguments do not exist
259
 
      in the relevant trees.  (Martin Pool, #3619)
260
 
 
261
 
    * Add '.hg' to the default ignore list.  (Martin Pool)
262
 
 
263
 
    * 'knit' is now the default disk format. This improves disk performance and
264
 
      utilization, increases incremental pull performance, robustness with SFTP
265
 
      and allows checkouts over SFTP to perform acceptably. 
266
 
      The initial Knit code was contributed by Johan Rydberg based on a
267
 
      specification by Martin Pool.
268
 
      (Robert Collins, Aaron Bentley, Johan Rydberg, Martin Pool).
269
 
 
270
 
    * New tool to generate all-in-one html version of the manual.  (Alexander
271
 
      Belchenko)
272
 
 
273
 
    * Hitting CTRL-C while doing an SFTP push will no longer cause stale locks
274
 
      to be left in the SFTP repository. (Robert Collins, Martin Pool).
275
 
 
276
 
    * New option 'diff --prefix' to control how files are named in diff
277
 
      output, with shortcuts '-p0' and '-p1' corresponding to the options for 
278
 
      GNU patch.  (Alexander Belchenko, Goffredo Baroncelli, Martin Pool)
279
 
 
280
 
    * Add --revision option to 'annotate' command.  (Olaf Conradi)
281
 
 
282
 
    * Add --revision option to 'annotate' command.  (Olaf Conradi)
283
 
 
284
 
    * If bzr shows an unexpected revision-history after pulling (perhaps due
285
 
      to a reweave) it can now be corrected by 'bzr reconcile'.
286
 
      (Robert Collins)
287
 
 
288
 
  CHANGES:
289
 
 
290
 
    * Commit is now verbose by default, and shows changed filenames and the 
291
 
      new revision number.  (Robert Collins, Martin Pool)
292
 
 
293
 
    * Unify 'mv', 'move', 'rename'.  (#5379, Matthew Fuller)
294
 
 
295
 
    * 'bzr -h' shows help.  (#35940, Martin Pool, Ian Bicking)
296
 
 
297
 
    * Make 'pull' and 'push' remember location on failure using --remember.
298
 
      (Olaf Conradi)
299
 
 
300
 
    * For compatibility, make old format for using weaves inside metadir
301
 
      available as 'metaweave' format.  Rename format 'metadir' to 'default'.
302
 
      Clean up help for option --format in commands 'init', 'init-repo' and
303
 
      'upgrade'.  (Olaf Conradi)
 
1
bzr development version
304
2
 
305
3
  INTERNALS:
306
4
  
309
7
      management routines are now in bzrlib.lockablefiles. 
310
8
      (Aaron Bentley, Robert Collins, Martin Pool)
311
9
 
312
 
    * Transports can now raise DependencyNotPresent if they need a library
313
 
      which is not installed, and then another implementation will be 
314
 
      tried.  (Martin Pool)
315
 
 
316
 
    * Remove obsolete (and no-op) `decode` parameter to `Transport.get`.  
317
 
      (Martin Pool)
318
 
 
319
 
    * Using Tree Transform for merge, revert, tree-building
320
 
 
321
 
    * WorkingTree.create, Branch.create, WorkingTree.create_standalone,
322
 
      Branch.initialize are now deprecated. Please see BzrDir.create_* for
323
 
      replacement API's. (Robert Collins)
324
 
 
325
 
    * New BzrDir class represents the .bzr control directory and manages
326
 
      formatting issues. (Robert Collins)
327
 
 
328
 
    * New repository.InterRepository class encapsulates Repository to 
329
 
      Repository actions and allows for clean selection of optimised code
330
 
      paths. (Robert Collins)
331
 
 
332
 
    * bzrlib.fetch.fetch and bzrlib.fetch.greedy_fetch are now deprecated,
333
 
      please use 'branch.fetch' or 'repository.fetch' depending on your
334
 
      needs. (Robert Collins)
335
 
 
336
 
    * deprecated methods now have a 'is_deprecated' flag on them that can
337
 
      be checked, if you need to determine whether a given callable is 
338
 
      deprecated at runtime. (Robert Collins)
339
 
 
340
 
    * Progress bars are now nested - see
341
 
      bzrlib.ui.ui_factory.nested_progress_bar. (Robert Collins, Robey Pointer)
342
 
 
343
 
    * New API call get_format_description() for each type of format.
344
 
      (Olaf Conradi)
345
 
 
346
 
    * Changed branch.set_parent() to accept None to remove parent.
347
 
      (Olaf Conradi)
348
 
 
349
 
    * Deprecated BzrError AmbiguousBase.  (Olaf Conradi)
350
 
 
351
 
    * WorkingTree.branch is now a read only property.  (Robert Collins)
352
 
 
353
 
    * bzrlib.ui.text.TextUIFactory now accepts a bar_type parameter which
354
 
      can be None or a factory that will create a progress bar. This is
355
 
      useful for testing or for overriding the bzrlib.progress heuristic.
356
 
      (Robert Collins)
357
 
 
358
 
    * New API method get_physical_lock_status() to query locks present on a
359
 
      transport.  (Olaf Conradi)
360
 
 
361
 
    * Repository.reconcile now takes a thorough keyword parameter to allow
362
 
      requesting an indepth reconciliation, rather than just a data-loss 
363
 
      check. (Robert Collins)
364
 
 
365
 
    * bzrlib.ui.ui_factory protocol now supports 'get_boolean' to prompt
366
 
      the user for yes/no style input. (Robert Collins)
367
 
 
368
10
  TESTING:
369
11
 
370
12
    * SFTP tests now shortcut the SSH negotiation, reducing test overhead
371
13
      for testing SFTP protocol support. (Robey Pointer)
372
14
 
373
 
    * Branch formats are now tested once per implementation (see bzrlib.
374
 
      tests.branch_implementations. This is analagous to the transport
375
 
      interface tests, and has been followed up with working tree,
376
 
      repository and BzrDir tests. (Robert Collins)
377
 
 
378
 
    * New test base class TestCaseWithTransport provides a transport aware
379
 
      test environment, useful for testing any transport-interface using
380
 
      code. The test suite option --transport controls the transport used
381
 
      by this class (when its not being used as part of implementation
382
 
      contract testing). (Robert Collins)
383
 
 
384
 
    * Close logging handler on disabling the test log. This will remove the
385
 
      handler from the internal list inside python's logging module,
386
 
      preventing shutdown from closing it twice.  (Olaf Conradi)
387
 
 
388
 
    * Move test case for uncommit to blackbox tests.  (Olaf Conradi)
389
 
 
390
 
    * run_bzr and run_bzr_captured now accept a 'stdin="foo"' parameter which
391
 
      will provide String("foo") to the command as its stdin.
392
 
 
393
 
bzr 0.7 2006-01-09
 
15
bzr 0.7rc1 2006-01-09
394
16
 
395
17
  CHANGES:
396
18
 
419
41
      This gives better integration with user settings such as ProxyCommand.
420
42
      (James Henstridge)
421
43
 
 
44
    * Sftp paths can now be relative, or local, according to the lftp
 
45
      convention. Paths now take the form:
 
46
      sftp://user:pass@host:port/~/relative/path
 
47
      or
 
48
      sftp://user:pass@host:port/absolute/path
 
49
 
422
50
    * Permissions on files underneath .bzr/ are inherited from the .bzr 
423
51
      directory. So for a shared repository, simply doing 'chmod -R g+w .bzr/'
424
52
      will mean that future file will be created with group write permissions.
489
117
    * 'bzr add' now takes a --dry-run parameter which shows you what would be
490
118
      added, but doesn't actually add anything. (Michael Ellerman)
491
119
 
492
 
    * 'bzr add' now lists how many files were ignored per glob.  add --verbose
 
120
    * bzr add now lists how many files were ignored per glob.  add --verbose
493
121
      lists the specific files.  (Aaron Bentley)
494
122
 
495
 
    * 'bzr missing' now supports displaying changes in diverged trees and can
496
 
      be limited to show what either end of the comparison is missing.
497
 
      (Aaron Bently, with a little prompting from Daniel Silverstone)
498
 
 
499
123
  BUG FIXES:
500
124
 
501
125
    * SFTP can walk up to the root path without index errors. (Robert Collins)