~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Olaf Conradi
  • Date: 2006-03-28 23:30:02 UTC
  • mto: (1661.1.1 bzr.mbp.remember)
  • mto: This revision was merged to the branch mainline in revision 1663.
  • Revision ID: olaf@conradi.org-20060328233002-f6262df0e19c1963
Added testcases for using pull with --remember. Moved remember code to
beginning of cmd_pull. This remembers the location in case of a failure
during pull.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
UNRELEASED CHANGES
2
 
 
3
 
  IMPROVEMENTS:
 
1
bzr development version
 
2
 
 
3
 
 
4
  IMPROVEMENTS:
 
5
 
 
6
    * Sftp paths can now be relative, or local, according to the lftp
 
7
      convention. Paths now take the form:
 
8
      sftp://user:pass@host:port/~/relative/path
 
9
      or
 
10
      sftp://user:pass@host:port/absolute/path
 
11
 
 
12
    * The FTP transport now tries to reconnect after a temporary
 
13
      failure. ftp put is made atomic. (Matthieu Moy)
 
14
 
 
15
    * The FTP transport now maintains a pool of connections, and
 
16
      reuses them to avoid multiple connections to the same host (like
 
17
      sftp did). (Daniel Silverstone)
 
18
 
 
19
    * The bzr_man.py file has been removed. To create the man page now,
 
20
      use ./generate_docs.py man. The new program can also create other files.
 
21
      Run "python generate_docs.py --help" for usage information. (Hans
 
22
      Ulrich Niedermann & James Blackwell).
 
23
 
 
24
    * Man Page now gives full help (James Blackwell). Help also updated to 
 
25
      reflect user config now being stored in .bazaar (Hans Ulrich
 
26
      Niedermann)
 
27
 
 
28
    * It's now possible to set aliases in bazaar.conf (Erik Bågfors)
 
29
 
 
30
    * Pull now accepts a --revision argument (Erik Bågfors)
 
31
 
 
32
    * 'bzr re-sign' now allows multiple revisions to be supplied on the command
 
33
      line. You can now use the following command to sign all of your old commits.
 
34
        find .bzr/revision-store// -name my@email-* \
 
35
          | sed 's/.*\/\/..\///' \
 
36
          | xargs bzr re-sign
 
37
 
 
38
    * Upgrade can now upgrade over the network. (Robert Collins)
 
39
 
 
40
    * Two new commands 'bzr checkout' and 'bzr update' allow for CVS/SVN-alike
 
41
      behaviour. They use the existing serverless-mode and store no data
 
42
      locally. As such they are not suitable for use except in high bandwidth
 
43
      low latency environments like LAN's or local disk. (Robert Collins)
 
44
 
 
45
    * 'revert' unversions newly-versioned files, instead of deleting them.
 
46
 
 
47
    * 'merge' is more robust.  Conflict messages have changed.
 
48
 
 
49
    * 'merge' and 'revert' no longer clobber existing files that end in '~' or
 
50
      '.moved'.
 
51
 
 
52
    * Default log format can be set in configuration and plugins can register
 
53
      their own formatters. (Erik Bågfors)
 
54
 
 
55
    * New 'reconcile' command will check branch consistency and repair indexes
 
56
      that can become out of sync in pre 0.8 formats. (Robert Collins,
 
57
      Aaron Bentley)
 
58
 
 
59
    * New 'bzr init --format' and 'bzr upgrade --format' option to control 
 
60
      what storage format is created or produced.  (Robert Collins, 
 
61
      Martin Pool)
 
62
 
 
63
    * Add parent location to 'bzr info', if there is one.  (Olaf Conradi)
 
64
 
 
65
    * 'merge' accepts --remember option to store parent location. (Olaf
 
66
      Conradi)
 
67
 
 
68
  INTERNALS:
 
69
  
 
70
    * The internal storage of history, and logical branch identity have now
 
71
      been split into Branch, and Repository. The common locking and file 
 
72
      management routines are now in bzrlib.lockablefiles. 
 
73
      (Aaron Bentley, Robert Collins, Martin Pool)
 
74
 
 
75
    * Transports can now raise DependencyNotPresent if they need a library
 
76
      which is not installed, and then another implementation will be 
 
77
      tried.  (Martin Pool)
 
78
 
 
79
    * Remove obsolete (and no-op) `decode` parameter to `Transport.get`.  
 
80
      (Martin Pool)
 
81
 
 
82
    * Using Tree Transform for merge, revert, tree-building
 
83
 
 
84
    * WorkingTree.create, Branch.create, WorkingTree.create_standalone,
 
85
      Branch.initialize are now deprecated. Please see BzrDir.create_* for
 
86
      replacement API's. (Robert Collins)
 
87
 
 
88
    * New BzrDir class represents the .bzr control directory and manages
 
89
      formatting issues. (Robert Collins)
 
90
 
 
91
    * New repository.InterRepository class encapsulates Repository to 
 
92
      Repository actions and allows for clean selection of optimised code
 
93
      paths. (Robert Collins)
 
94
 
 
95
    * bzrlib.fetch.fetch and bzrlib.fetch.greedy_fetch are now deprecated,
 
96
      please use 'branch.fetch' or 'repository.fetch' depending on your
 
97
      needs. (Robert Collins)
 
98
 
 
99
    * deprecated methods now have a 'is_deprecated' flag on them that can
 
100
      be checked, if you need to determine whether a given callable is 
 
101
      deprecated at runtime. (Robert Collins)
 
102
 
 
103
    * Progress bars are now nested - see
 
104
      bzrlib.ui.ui_factory.nested_progress_bar. (Robert Collins, Robey Pointer)
 
105
 
 
106
  TESTING:
 
107
 
 
108
    * SFTP tests now shortcut the SSH negotiation, reducing test overhead
 
109
      for testing SFTP protocol support. (Robey Pointer)
 
110
 
 
111
    * Branch formats are now tested once per implementation (see bzrlib.
 
112
      tests.branch_implementations. This is analagous to the transport
 
113
      interface tests, and has been followed up with working tree,
 
114
      repository and BzrDir tests. (Robert Collins)
 
115
 
 
116
    * New test base class TestCaseWithTransport provides a transport aware
 
117
      test environment, useful for testing any transport-interface using
 
118
      code. The test suite option --transport controls the transport used
 
119
      by this class (when its not being used as part of implementation
 
120
      contract testing). (Robert Collins)
 
121
 
 
122
 
 
123
bzr 0.7rc1 2006-01-09
 
124
 
 
125
  CHANGES:
 
126
 
 
127
    * .bzrignore is excluded from exports, on the grounds that it's a bzr 
 
128
      internal-use file and may not be wanted.  (Jamie Wilkinson)
 
129
 
 
130
    * The "bzr directories" command were removed in favor of the new
 
131
      --kind option to the "bzr inventory" command.  To list all 
 
132
      versioned directories, now use "bzr inventory --kind directory".  
 
133
      (Johan Rydberg)
 
134
 
 
135
    * Under Windows configuration directory is now %APPDATA%\bazaar\2.0
 
136
      by default. (John Arbash Meinel)
 
137
 
 
138
    * The parent of Bzr configuration directory can be set by BZR_HOME
 
139
      environment variable. Now the path for it is searched in BZR_HOME, then
 
140
      in HOME. Under Windows the order is: BZR_HOME, APPDATA (usually
 
141
      points to C:\Documents and Settings\User Name\Application Data), HOME.
 
142
      (John Arbash Meinel)
 
143
 
 
144
    * Plugins with the same name in different directories in the bzr plugin
 
145
      path are no longer loaded: only the first successfully loaded one is
 
146
      used. (Robert Collins)
 
147
 
 
148
    * Use systems' external ssh command to open connections if possible.  
 
149
      This gives better integration with user settings such as ProxyCommand.
 
150
      (James Henstridge)
 
151
 
 
152
    * Permissions on files underneath .bzr/ are inherited from the .bzr 
 
153
      directory. So for a shared repository, simply doing 'chmod -R g+w .bzr/'
 
154
      will mean that future file will be created with group write permissions.
 
155
 
 
156
    * configure.in and config.guess are no longer in the builtin default 
 
157
      ignore list.
 
158
 
 
159
    * '.sw[nop]' pattern ignored, to ignore vim swap files for nameless
 
160
      files.  (John Arbash Meinel, Martin Pool)
 
161
 
 
162
  IMPROVEMENTS:
 
163
 
 
164
    * "bzr INIT dir" now initializes the specified directory, and creates 
 
165
      it if it does not exist.  (John Arbash Meinel)
 
166
 
 
167
    * New remerge command (Aaron Bentley)
 
168
 
 
169
    * Better zsh completion script.  (Steve Borho)
 
170
 
 
171
    * 'bzr diff' now returns 1 when there are changes in the working 
 
172
      tree. (Robert Collins)
 
173
 
 
174
    * 'bzr push' now exists and can push changes to a remote location. 
 
175
      This uses the transport infrastructure, and can store the remote
 
176
      location in the ~/.bazaar/branches.conf configuration file.
 
177
      (Robert Collins)
 
178
 
 
179
    * Test directories are only kept if the test fails and the user requests
 
180
      that they be kept.
 
181
 
 
182
    * Tweaks to short log printing
 
183
 
 
184
    * Added branch nicks, new nick command, printing them in log output. 
 
185
      (Aaron Bentley)
 
186
 
 
187
    * If $BZR_PDB is set, pop into the debugger when an uncaught exception 
 
188
      occurs.  (Martin Pool)
 
189
 
 
190
    * Accept 'bzr resolved' (an alias for 'bzr resolve'), as this is
 
191
      the same as Subversion.  (Martin Pool)
 
192
 
 
193
    * New ftp transport support (on ftplib), for ftp:// and aftp:// 
 
194
      URLs.  (Daniel Silverstone)
 
195
 
 
196
    * Commit editor temporary files now start with 'bzr_log.', to allow 
 
197
      text editors to match the file name and set up appropriate modes or 
 
198
      settings.  (Magnus Therning)
 
199
 
 
200
    * Improved performance when integrating changes from a remote weave.  
 
201
      (Goffredo Baroncelli)
 
202
 
 
203
    * Sftp will attempt to cache the connection, so it is more likely that
 
204
      a connection will be reused, rather than requiring multiple password
 
205
      requests.
 
206
 
 
207
    * bzr revno now takes an optional argument indicating the branch whose
 
208
      revno should be printed.  (Michael Ellerman)
 
209
 
 
210
    * bzr cat defaults to printing the last version of the file.  
 
211
      (#3632, Matthieu Moy)
 
212
 
 
213
    * New global option 'bzr --lsprof COMMAND' runs bzr under the lsprof 
 
214
      profiler.  (Denys Duchier)
 
215
 
 
216
    * Faster commits by reading only the headers of affected weave files. 
 
217
      (Denys Duchier)
 
218
 
 
219
    * 'bzr add' now takes a --dry-run parameter which shows you what would be
 
220
      added, but doesn't actually add anything. (Michael Ellerman)
 
221
 
 
222
    * 'bzr add' now lists how many files were ignored per glob.  add --verbose
 
223
      lists the specific files.  (Aaron Bentley)
 
224
 
 
225
    * 'bzr missing' now supports displaying changes in diverged trees and can
 
226
      be limited to show what either end of the comparison is missing.
 
227
      (Aaron Bently, with a little prompting from Daniel Silverstone)
 
228
 
 
229
  BUG FIXES:
 
230
 
 
231
    * SFTP can walk up to the root path without index errors. (Robert Collins)
 
232
 
 
233
    * Fix bugs in running bzr with 'python -O'.  (Martin Pool)
 
234
 
 
235
    * Error when run with -OO
 
236
 
 
237
    * Fix bug in reporting http errors that don't have an http error code.
 
238
      (Martin Pool)
 
239
 
 
240
    * Handle more cases of pipe errors in display commands
 
241
 
 
242
    * Change status to 3 for all errors
 
243
 
 
244
    * Files that are added and unlinked before committing are completely
 
245
      ignored by diff and status
 
246
 
 
247
    * Stores with some compressed texts and some uncompressed texts are now
 
248
      able to be used. (John A Meinel)
 
249
 
 
250
    * Fix for bzr pull failing sometimes under windows
 
251
 
 
252
    * Fix for sftp transport under windows when using interactive auth
 
253
 
 
254
    * Show files which are both renamed and modified as such in 'bzr 
 
255
      status' output.  (#4503, Daniel Silverstone)
 
256
 
 
257
    * Make annotate cope better with revisions committed without a valid 
 
258
      email address.  (Marien Zwart)
 
259
 
 
260
    * Fix representation of tab characters in commit messages.  (Harald 
 
261
      Meland)
 
262
 
 
263
    * List of plugin directories in BZR_PLUGIN_PATH environment variable is
 
264
      now parsed properly under Windows. (Alexander Belchenko)
 
265
 
 
266
    * Show number of revisions pushed/pulled/merged. (Robey Pointer)
 
267
 
 
268
    * Keep a cached copy of the basis inventory to speed up operations 
 
269
      that need to refer to it.  (Johan Rydberg, Martin Pool)
 
270
 
 
271
    * Fix bugs in bzr status display of non-ascii characters.  (Martin 
 
272
      Pool)
 
273
 
 
274
    * Remove Makefile.in from default ignore list.  (#6413, Tollef Fog 
 
275
      Heen, Martin Pool)
 
276
 
 
277
    * Fix failure in 'bzr added'.  (Nathan McCallum, Martin Pool)
 
278
 
 
279
  TESTING:
 
280
 
 
281
    * Fix selftest asking for passwords when there are no SFTP keys.  
 
282
      (Robey Pointer, Jelmer Vernooij) 
 
283
 
 
284
    * Fix selftest run with 'python -O'.  (Martin Pool)
 
285
 
 
286
    * Fix HTTP tests under Windows. (John Arbash Meinel)
 
287
 
 
288
    * Make tests work even if HOME is not set (Aaron Bentley)
 
289
 
 
290
    * Updated build_tree to use fixed line-endings for tests which read 
 
291
      the file cotents and compare. Make some tests use this to pass under
 
292
      Windows. (John Arbash Meinel)
 
293
 
 
294
    * Skip stat and symlink tests under Windows. (Alexander Belchenko)
 
295
 
 
296
    * Delay in selftest/testhashcash is now issued under win32 and Cygwin.
 
297
      (John Arbash Meinel)
 
298
 
 
299
    * Use terminal width to align verbose test output.  (Martin Pool)
 
300
 
 
301
    * Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
 
302
      If adding a new test script please add that to
 
303
      bzrlib.tests.blackbox.__init__. (Robert Collins)
 
304
 
 
305
    * Much better error message if one of the test suites can't be 
 
306
      imported.  (Martin Pool)
 
307
 
 
308
    * Make check now runs the test suite twice - once with the default locale,
 
309
      and once with all locales forced to C, to expose bugs. This is not 
 
310
      trivially done within python, so for now its only triggered by running
 
311
      Make check. Integrators and packagers who wish to check for full 
 
312
      platform support should run 'make check' to test the source.
 
313
      (Robert Collins)
 
314
 
 
315
    * Tests can now run TestSkipped if they can't execute for any reason.
 
316
      (Martin Pool) (NB: TestSkipped should only be raised for correctable
 
317
      reasons - see the wiki spec ImprovingBzrTestSuite).
 
318
 
 
319
    * Test sftp with relative, absolute-in-homedir and absolute-not-in-homedir
 
320
      paths for the transport tests. Introduce blackbox remote sftp tests that
 
321
      test the same permutations. (Robert Collins, Robey Pointer)
 
322
 
 
323
    * Transport implementation tests are now independent of the local file
 
324
      system, which allows tests for esoteric transports, and for features
 
325
      not available in the local file system. They also repeat for variations
 
326
      on the URL scheme that can introduce issues in the transport code,
 
327
      see bzrlib.transport.TransportTestProviderAdapter() for this.
 
328
      (Robert Collins).
 
329
 
 
330
    * TestCase.build_tree uses the transport interface to build trees, pass
 
331
      in a transport parameter to give it an existing connection.
 
332
      (Robert Collins).
 
333
 
 
334
  INTERNALS:
 
335
 
 
336
    * WorkingTree.pull has been split across Branch and WorkingTree,
 
337
      to allow Branch only pulls. (Robert Collins)
 
338
 
 
339
    * commands.display_command now returns the result of the decorated 
 
340
      function. (Robert Collins)
 
341
 
 
342
    * LocationConfig now has a set_user_option(key, value) call to save
 
343
      a setting in its matching location section (a new one is created
 
344
      if needed). (Robert Collins)
 
345
 
 
346
    * Branch has two new methods, get_push_location and set_push_location
 
347
      to respectively, get and set the push location. (Robert Collins)
 
348
 
 
349
    * commands.register_command now takes an optional flag to signal that
 
350
      the registrant is planning to decorate an existing command. When 
 
351
      given multiple plugins registering a command is not an error, and
 
352
      the original command class (whether built in or a plugin based one) is
 
353
      returned to the caller. There is a new error 'MustUseDecorated' for
 
354
      signalling when a wrapping command should switch to the original
 
355
      version. (Robert Collins)
 
356
 
 
357
    * Some option parsing errors will raise 'BzrOptionError', allowing 
 
358
      granular detection for decorating commands. (Robert Collins).
 
359
 
 
360
    * Branch.read_working_inventory has moved to
 
361
      WorkingTree.read_working_inventory. This necessitated changes to
 
362
      Branch.get_root_id, and a move of Branch.set_inventory to WorkingTree
 
363
      as well. To make it clear that a WorkingTree cannot always be obtained
 
364
      Branch.working_tree() will raise 'errors.NoWorkingTree' if one cannot
 
365
      be obtained. (Robert Collins)
 
366
 
 
367
    * All pending merges operations from Branch are now on WorkingTree.
 
368
      (Robert Collins)
 
369
 
 
370
    * The follow operations from Branch have moved to WorkingTree:
 
371
      add()
 
372
      commit()
 
373
      move()
 
374
      rename_one()
 
375
      unknowns()
 
376
      (Robert Collins)
 
377
 
 
378
    * bzrlib.add.smart_add_branch is now smart_add_tree. (Robert Collins)
 
379
 
 
380
    * New "rio" serialization format, similar to rfc-822. (Martin Pool)
 
381
 
 
382
    * Rename selftests to `bzrlib.tests.test_foo`.  (John A Meinel, Martin 
 
383
      Pool)
 
384
 
 
385
    * bzrlib.plugin.all_plugins has been changed from an attribute to a 
 
386
      query method. (Robert Collins)
 
387
 
 
388
    * New options to read only the table-of-contents of a weave.  
 
389
      (Denys Duchier)
 
390
 
 
391
    * Raise NoSuchFile when someone tries to add a non-existant file.
 
392
      (Michael Ellerman)
 
393
 
 
394
    * Simplify handling of DivergedBranches in cmd_pull().
 
395
      (Michael Ellerman)
 
396
                   
 
397
   
 
398
    * Branch.controlfile* logic has moved to lockablefiles.LockableFiles, which
 
399
      is exposed as Branch().control_files. Also this has been altered with the
 
400
      controlfile pre/suffix replaced by simple method names like 'get' and
 
401
      'put'. (Aaron Bentley, Robert Collins).
 
402
 
 
403
    * Deprecated functions and methods can now be marked as such using the 
 
404
      bzrlib.symbol_versioning module. Marked method have their docstring
 
405
      updated and will issue a DeprecationWarning using the warnings module
 
406
      when they are used. (Robert Collins)
 
407
 
 
408
    * bzrlib.osutils.safe_unicode now exists to provide parameter coercion
 
409
      for functions that need unicode strings. (Robert Collins)
 
410
 
 
411
bzr 0.6 2005-10-28
 
412
 
 
413
  IMPROVEMENTS:
 
414
  
 
415
    * pull now takes --verbose to show you what revisions are added or removed
 
416
      (John A Meinel)
 
417
 
 
418
    * merge now takes a --show-base option to include the base text in
 
419
      conflicts.
 
420
      (Aaron Bentley)
 
421
 
 
422
    * The config files are now read using ConfigObj, so '=' should be used as
 
423
      a separator, not ':'.
 
424
      (Aaron Bentley)
4
425
 
5
426
    * New 'bzr commit --strict' option refuses to commit if there are 
6
427
      any unknown files in the tree.  To commit, make sure all files are 
38
459
    * Just give a quieter warning if a plugin can't be loaded, and 
39
460
      put the details in .bzr.log.  (Martin Pool)
40
461
 
 
462
    * 'bzr branch' will now set the branch-name to the last component of the
 
463
      output directory, if one was supplied.
 
464
 
 
465
    * If the option 'post_commit' is set to one (or more) python function
 
466
      names (must be in the bzrlib namespace), then they will be invoked
 
467
      after the commit has completed, with the branch and revision_id as
 
468
      parameters. (Robert Collins)
 
469
 
 
470
    * Merge now has a retcode of 1 when conflicts occur. (Robert Collins)
 
471
 
 
472
    * --merge-type weave is now supported for file contents.  Tree-shape
 
473
      changes are still three-way based.  (Martin Pool, Aaron Bentley)
 
474
 
 
475
    * 'bzr check' allows the first revision on revision-history to have
 
476
      parents - something that is expected for cheap checkouts, and occurs
 
477
      when conversions from baz do not have all history.  (Robert Collins).
 
478
 
 
479
   * 'bzr merge' can now graft unrelated trees together, if your specify
 
480
     0 as a base. (Aaron Bentley)
 
481
 
 
482
   * 'bzr commit branch' and 'bzr commit branch/file1 branch/file2' now work
 
483
     (Aaron Bentley)
 
484
 
 
485
    * Add '.sconsign*' to default ignore list.  (Alexander Belchenko)
 
486
 
 
487
   * 'bzr merge --reprocess' minimizes conflicts
 
488
 
41
489
  TESTING:
42
490
 
43
491
    * The 'bzr selftest --pattern' option for has been removed, now 
48
496
      complete, which will aid in analysing performance regressions and
49
497
      related questions. (Robert Collins)
50
498
 
51
 
    * 'bzr selftest' runs all tests, even if one feels, unless '--one'
 
499
    * 'bzr selftest' runs all tests, even if one fails, unless '--one'
52
500
      is given. (Martin Pool)
53
501
 
54
502
    * There is a new method for TestCaseInTempDir, assertFileEqual, which
55
503
      will check that a given content is equal to the content of the named
56
504
      file. (Robert Collins)
57
505
 
 
506
    * Fix test suite's habit of leaving many temporary log files in $TMPDIR.
 
507
      (Martin Pool)
 
508
 
58
509
  INTERNALS:
59
510
 
60
511
    * New 'testament' command and concept for making gpg-signatures 
137
588
      to apis like 'put', 'get' and 'has'. This is to provide consistent
138
589
      behaviour - it operates on url's only. (Robert Collins)
139
590
 
 
591
    * Transports can register using register_lazy_transport, and they 
 
592
      will be loaded when first used.  (Martin Pool)
 
593
 
 
594
    * 'merge_flex' no longer calls conflict_handler.finalize(), instead that
 
595
      is called by merge_inner. This is so that the conflict count can be 
 
596
      retrieved (and potentially manipulated) before returning to the caller
 
597
      of merge_inner. Likewise 'merge' now returns the conflict count to the
 
598
      caller. (Robert Collins)
 
599
 
 
600
    * 'revision.revision_graph can handle having only partial history for
 
601
      a revision - that is no revisions in the graph with no parents.
 
602
      (Robert Collins).
 
603
 
 
604
    * New builtins.branch_files uses the standard file_list rules to produce
 
605
      a branch and a list of paths, relative to that branch (Aaron Bentley)
 
606
 
 
607
    * New TestCase.addCleanup facility.
 
608
 
 
609
    * New bzrlib.version_info tuple (similar to sys.version_info), which can
 
610
      be used by programs importing bzrlib.
 
611
 
140
612
  BUG FIXES:
141
613
 
142
614
    * Better handling of branches in directories with non-ascii names. 
143
615
      (Joel Rosdahl, Panagiotis Papadakos)
144
616
 
 
617
    * Upgrades of trees with no commits will not fail due to accessing
 
618
      [-1] in the revision-history. (Andres Salomon)
 
619
 
 
620
 
145
621
bzr 0.1.1 2005-10-12
146
622
 
147
623
  BUG FIXES: