~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to NEWS

[merge] bzr.dev 2255, resolve conflicts, update copyrights

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
  IMPROVEMENTS:
4
4
 
 
5
    * ``bzr mv`` enhanced to support already moved files.
 
6
      In the past the mv command would have failed if the source file doesn't
 
7
      exist. In this situation ``bzr mv`` would now detect that the file has
 
8
      already moved and update the repository accordingly, if the target file
 
9
      does exist.
 
10
      A new option ``--after`` has been added so that if two files already
 
11
      exist, you could notify Bazaar that you have moved a (versioned) file and
 
12
      replaced it with another. Thus in this case ``bzr move --after`` will
 
13
      only update the Bazaar identifier.
 
14
      (Steffen Eichenberg, Marius Kruger)
 
15
 
 
16
    * ``ls`` now works on treeless branches and remote branches.
 
17
      (Aaron Bentley)
 
18
 
 
19
    * ``bzr help global-options`` describes the global options.
 
20
      (Aaron Bentley)
 
21
 
 
22
  INTERNALS:
 
23
 
 
24
    * Reserved ids (any revision-id ending in a colon) are rejected by
 
25
      versionedfiles, repositories, branches, and working trees
 
26
      (Aaron Bentley)
 
27
 
 
28
    * New Branch hooks facility, with one initial hook 'set_rh' which triggers
 
29
      whenever the revision history is set. This allows triggering on e.g.
 
30
      push, pull, commit, and so on. Developed for use with the branchrss
 
31
      plugin. See bzrlib.branch.BranchHooks for more details. (Robert Collins)
 
32
 
 
33
    * New method ``Branch.push()`` which should be used when pushing from a
 
34
      branch as it makes performance and policy decisions to match the UI
 
35
      level command ``push``. (Robert Collins).
 
36
 
 
37
    * Add a new method ``Tree.revision_tree`` which allows access to cached
 
38
      trees for arbitrary revisions. This allows the in development dirstate
 
39
      tree format to provide access to the callers to cached copies of 
 
40
      inventory data which are cheaper to access than inventories from the
 
41
      repository.
 
42
      (Robert Collins, Martin Pool)
 
43
 
 
44
  BUGFIXES:
 
45
 
 
46
    * ``bzr annotate`` now uses dotted revnos from the viewpoint of the
 
47
      branch, rather than the last changed revision of the file.
 
48
      (John Arbash Meinel, #82158)
 
49
 
 
50
    * Lock operations no longer hang if they encounter a permission problem.
 
51
      (Aaron Bentley)
 
52
 
 
53
  TESTING:
 
54
 
 
55
    * New ``--first`` option to ``bzr selftest`` to run specified tests
 
56
      before the rest of the suite.  (Martin Pool)
 
57
 
 
58
 
 
59
bzr 0.14  2007-01-23
 
60
 
 
61
  IMPROVEMENTS:
 
62
 
 
63
    * ``bzr help global-options`` describes the global options. (Aaron Bentley)
 
64
 
 
65
  BUG FIXES:
 
66
    
 
67
    * Skip documentation generation tests if the tools to do so are not
 
68
      available. Fixes running selftest for installled copies of bzr. 
 
69
      (John Arbash Meinel, #80330)
 
70
 
 
71
    * Fix the code that discovers whether bzr is being run from it's
 
72
      working tree to handle the case when it isn't but the directory
 
73
      it is in is below a repository. (James Westby, #77306)
 
74
 
 
75
 
 
76
bzr 0.14rc1  2007-01-16
 
77
 
 
78
  IMPROVEMENTS:
 
79
 
 
80
    * New connection: ``bzr+http://`` which supports tunnelling the smart
 
81
      protocol over an HTTP connection. If writing is enabled on the bzr
 
82
      server, then you can write over the http connection.
 
83
      (Andrew Bennetts, John Arbash Meinel)
 
84
 
 
85
    * Aliases now support quotation marks, so they can contain whitespace
 
86
      (Marius Kruger)
 
87
 
 
88
    * PyCurlTransport now use a single curl object. By specifying explicitly
 
89
      the 'Range' header, we avoid the need to use two different curl objects
 
90
      (and two connections to the same server). (Vincent Ladeuil)
 
91
 
 
92
    * ``bzr commit`` does not prompt for a message until it is very likely to
 
93
      succeed.  (Aaron Bentley)
 
94
 
 
95
    * ``bzr conflicts`` now takes --text to list pathnames of text conflicts
 
96
      (Aaron Bentley)
 
97
 
 
98
    * Fix ``iter_lines_added_or_present_in_versions`` to use a set instead
 
99
      of a list while checking if a revision id was requested. Takes 10s
 
100
      off of the ``fileids_affected_by_revision_ids`` time, which is 10s
 
101
      of the ``bzr branch`` time. Also improve ``fileids_...`` time by
 
102
      filtering lines with a regex rather than multiple ``str.find()``
 
103
      calls. (saves another 300ms) (John Arbash Meinel)
 
104
 
 
105
    * Policy can be set for each configuration key. This allows keys to be
 
106
      inherited properly across configuration entries. For example, this
 
107
      should enable you to do::
 
108
        
 
109
        [/home/user/project]
 
110
        push_location = sftp://host/srv/project/
 
111
        push_location:policy = appendpath
 
112
 
 
113
      And then a branch like ``/home/user/project/mybranch`` should get an
 
114
      automatic push location of ``sftp://host/srv/project/mybranch``.
 
115
      (James Henstridge)
 
116
 
 
117
    * Added ``bzr status --short`` to make status report svn style flags
 
118
      for each file.  For example::
 
119
 
 
120
        $ bzr status --short
 
121
        A  foo
 
122
        A  bar
 
123
        D  baz
 
124
        ?  wooley
 
125
 
 
126
    * 'bzr selftest --clean-output' allows easily clean temporary tests 
 
127
      directories without running tests. (Alexander Belchenko)
 
128
 
 
129
    * ``bzr help hidden-commands`` lists all hidden commands. (Aaron Bentley)
 
130
 
 
131
    * ``bzr merge`` now has an option ``--pull`` to fall back to pull if
 
132
      local is fully merged into remote. (Jan Hudec)
 
133
 
 
134
    * ``bzr help formats`` describes available directory formats. (Aaron Bentley)
 
135
 
 
136
  INTERNALS:
 
137
 
 
138
    * A few tweaks directly to ``fileids_affected_by_revision_ids`` to
 
139
      help speed up processing, as well allowing to extract unannotated
 
140
      lines. Between the two ``fileids_affected_by_revision_ids`` is
 
141
      improved by approx 10%. (John Arbash Meinel)
 
142
 
 
143
    * Change Revision serialization to only write out millisecond
 
144
      resolution. Rather than expecting floating point serialization to
 
145
      preserve more resolution than we need. (Henri Weichers, Martin Pool)
 
146
 
 
147
    * Test suite ends cleanly on Windows.  (Vincent Ladeuil)
 
148
 
 
149
    * When 'encoding_type' attribute of class Command is equal to 'exact', 
 
150
      force sys.stdout to be a binary stream on Windows, and therefore
 
151
      keep exact line-endings (without LF -> CRLF conversion).
 
152
      (Alexander Belchenko)
 
153
 
 
154
    * Single-letter short options are no longer globally declared.  (Martin
 
155
      Pool)
 
156
 
 
157
    * Before using detected user/terminal encoding bzr should check
 
158
      that Python has corresponding codec. (Alexander Belchenko)
 
159
 
 
160
    * Formats for end-user selection are provided via a FormatRegistry (Aaron Bentley)
 
161
 
 
162
  BUG FIXES:
 
163
 
 
164
    * ``bzr missing --verbose`` was showing adds/removals in the wrong
 
165
      direction. (John Arbash Meinel)
 
166
 
 
167
    * ``bzr annotate`` now defaults to showing dotted revnos for merged
 
168
      revisions. It cuts them off at a depth of 12 characters, but you can
 
169
      supply ``--long`` to see the full number. You can also use
 
170
      ``--show-ids`` to display the original revision ids, rather than
 
171
      revision numbers and committer names. (John Arbash Meinel, #75637)
 
172
 
 
173
    * bzr now supports Win32 UNC path (e.g. \\HOST\path). 
 
174
      (Alexander Belchenko, #57869)
 
175
 
 
176
    * Win32-specific: output of cat, bundle and diff commands don't mangle
 
177
      line-endings (Alexander Belchenko, #55276)
 
178
 
 
179
    * Replace broken fnmatch based ignore pattern matching with custom pattern
 
180
      matcher.
 
181
      (Kent Gibson, Jan Hudec #57637)
 
182
 
 
183
    * pycurl and urllib can detect short reads at different places. Update
 
184
      the test suite to test more cases. Also detect http error code 416
 
185
      which was raised for that specific bug. Also enhance the urllib
 
186
      robustness by detecting invalid ranges (and pycurl's one by detecting
 
187
      short reads during the initial GET). (Vincent Ladeuil, #73948)
 
188
 
 
189
    * The urllib connection sharing interacts badly with urllib2
 
190
      proxy setting (the connections didn't go thru the proxy
 
191
      anymore). Defining a proper ProxyHandler solves the
 
192
      problem.  (Vincent Ladeuil, #74759)
 
193
 
 
194
    * Use urlutils to generate relative URLs, not osutils 
 
195
      (Aaron Bentley, #76229)
 
196
 
 
197
    * ``bzr status`` in a readonly directory should work without giving
 
198
      lots of errors. (John Arbash Meinel, #76299)
 
199
 
 
200
    * Mention the revisionspec topic for the revision option help.
 
201
      (Wouter van Heyst, #31663)
 
202
 
 
203
    * Allow plugins import from zip archives.
 
204
      (Alexander Belchenko, #68124)
 
205
 
 
206
 
 
207
bzr 0.13  2006-12-05
 
208
    
 
209
  No changes from 0.13rc1
 
210
    
 
211
bzr 0.13rc1  2006-11-27
 
212
 
 
213
  IMPROVEMENTS:
 
214
 
 
215
    * New command ``bzr remove-tree`` allows the removal of the working
 
216
      tree from a branch.
 
217
      (Daniel Silverstone)
 
218
 
 
219
    * urllib uses shared keep-alive connections, so http 
 
220
      operations are substantially faster.
 
221
      (Vincent Ladeuil, #53654)
 
222
 
 
223
    * ``bzr export`` allows an optional branch parameter, to export a bzr
 
224
      tree from some other url. For example:
 
225
      ``bzr export bzr.tar.gz http://bazaar-vcs.org/bzr/bzr.dev``
 
226
      (Daniel Silverstone)
 
227
 
 
228
    * Added ``bzr help topics`` to the bzr help system. This gives a
 
229
      location for general information, outside of a specific command.
 
230
      This includes updates for ``bzr help revisionspec`` the first topic
 
231
      included. (Goffredo Baroncelli, John Arbash Meinel, #42714)
 
232
 
 
233
    * WSGI-compatible HTTP smart server.  See ``doc/http_smart_server.txt``.
 
234
      (Andrew Bennetts)
 
235
 
 
236
    * Knit files will now cache full texts only when the size of the
 
237
      deltas is as large as the size of the fulltext. (Or after 200
 
238
      deltas, whichever comes first). This has the most benefit on large
 
239
      files with small changes, such as the inventory for a large project.
 
240
      (eg For a project with 2500 files, and 7500 revisions, it changes
 
241
      the size of inventory.knit from 11MB to 5.4MB) (John Arbash Meinel)
 
242
 
 
243
  INTERNALS:
 
244
 
 
245
    * New -D option given before the command line turns on debugging output
 
246
      for particular areas.  -Derror shows tracebacks on all errors.
 
247
      (Martin Pool)
 
248
 
 
249
    * Clean up ``bzr selftest --benchmark bundle`` to correct an import,
 
250
      and remove benchmarks that take longer than 10min to run.
 
251
      (John Arbash Meinel)
 
252
 
 
253
    * Use ``time.time()`` instead of ``time.clock()`` to decide on
 
254
      progress throttling. Because ``time.clock()`` is actually CPU time,
 
255
      so over a high-latency connection, too many updates get throttled.
 
256
      (John Arbash Meinel)
 
257
 
 
258
    * ``MemoryTransport.list_dir()`` would strip the first character for
 
259
      files or directories in root directory. (John Arbash Meinel)
 
260
  
 
261
    * New ``ChrootTransportDecorator``, accessible via the ``chroot+`` url
 
262
      prefix.  It disallows any access to locations above a set URL.  (Andrew
 
263
      Bennetts)
 
264
 
 
265
  BUG FIXES:
 
266
 
 
267
    * Now _KnitIndex properly decode revision ids when loading index data.
 
268
      And optimize the knit index parsing code.  (Dmitry Vasiliev, John
 
269
      Arbash Meinel)
 
270
 
 
271
    * ``bzrlib/bzrdir.py`` was directly referencing ``bzrlib.workingtree``,
 
272
      without importing it. This prevented ``bzr upgrade`` from working
 
273
      unless a plugin already imported ``bzrlib.workingtree``
 
274
      (John Arbash Meinel, #70716)
 
275
 
 
276
    * Suppress the traceback on invalid URLs (Vincent Ladeuil, #70803).
 
277
 
 
278
    * Give nicer error message when an http server returns a 403
 
279
      error code. (Vincent Ladeuil, #57644).
 
280
 
 
281
    * When a multi-range http GET request fails, try a single
 
282
      range one. If it fails too, forget about ranges. Remember that until 
 
283
      the death of the transport and propagates that to the clones.
 
284
      (Vincent Ladeuil, #62276, #62029).
 
285
 
 
286
    * Handles user/passwords supplied in url from command
 
287
      line (for the urllib implementation). Don't request already
 
288
      known passwords (Vincent Ladeuil, #42383, #44647, #48527)
 
289
 
 
290
    * _KnitIndex.add_versions() dictionary compresses revision ids as they
 
291
      are added. This fixes bug where fetching remote revisions records
 
292
      them as full references rather than integers. (John Arbash Meinel,
 
293
      #64789)
 
294
 
 
295
    * ``bzr ignore`` strips trailing slashes in patterns.
 
296
      Also ``bzr ignore`` rejects absolute paths. (Kent Gibson, #4559)
 
297
 
 
298
    * ``bzr ignore`` takes multiple arguments. (Cheuksan Edward Wang, #29488)
 
299
 
 
300
    * mv correctly handles paths that traverse symlinks. 
 
301
      (Aaron Bentley, #66964)
 
302
 
 
303
    * Give nicer looking error messages when failing to connect over ssh.
 
304
      (John Arbash Meinel, #49172)
 
305
 
 
306
    * Pushing to a remote branch does not currently update the remote working
 
307
      tree. After a remote push, ``bzr status`` and ``bzr diff`` on the remote
 
308
      machine now show that the working tree is out of date.
 
309
      (Cheuksan Edward Wang #48136)
 
310
 
 
311
    * Use patiencediff instead of difflib for determining deltas to insert
 
312
      into knits. This avoids the O(N^3) behavior of difflib. Patience
 
313
      diff should be O(N^2). (Cheuksan Edward Wang, #65714)
 
314
 
 
315
    * Running ``bzr log`` on nonexistent file gives an error instead of the
 
316
      entire log history. (Cheuksan Edward Wang #50793)
 
317
 
 
318
    * ``bzr cat`` can look up contents of removed or renamed files. If the
 
319
      pathname is ambiguous, i.e. the files in the old and new trees have
 
320
      different id's, the default is the file in the new tree. The user can
 
321
      use "--name-from-revision" to select the file in the old tree.
 
322
      (Cheuksan Edward Wang, #30190)
 
323
 
 
324
  TESTING:
 
325
 
 
326
    * TestingHTTPRequestHandler really handles the Range header
 
327
      (previously it was ignoring it and returning the whole file,).
 
328
 
 
329
bzr 0.12  2006-10-30
 
330
 
 
331
  INTERNALS:
 
332
 
 
333
    * Clean up ``bzr selftest --benchmark bundle`` to correct an import,
 
334
      and remove benchmarks that take longer than 10min to run.
 
335
      (John Arbash Meinel)
 
336
  
 
337
bzr 0.12rc1  2006-10-23
 
338
 
 
339
  IMPROVEMENTS:
 
340
 
 
341
    * ``bzr log`` now shows dotted-decimal revision numbers for all revisions,
 
342
      rather than just showing a decimal revision number for revisions on the
 
343
      mainline. These revision numbers are not yet accepted as input into bzr
 
344
      commands such as log, diff etc. (Robert Collins)
 
345
 
 
346
    * revisions can now be specified using dotted-decimal revision numbers.
 
347
      For instance, ``bzr diff -r 1.2.1..1.2.3. (Robert Collins)
 
348
 
5
349
    * ``bzr help commands`` output is now shorter (Aaron Bentley)
6
350
 
 
351
    * ``bzr`` now uses lazy importing to reduce the startup time. This has
 
352
      a moderate effect on lots of actions, especially ones that have
 
353
      little to do. For example ``bzr rocks`` time is down to 116ms from
 
354
      283ms. (John Arbash Meinel)
 
355
 
 
356
    * New Registry class to provide name-to-object registry-like support,
 
357
      for example for schemes where plugins can register new classes to
 
358
      do certain tasks (e.g. log formatters). Also provides lazy registration
 
359
      to allow modules to be loaded on request. (John Arbash Meinel, Adeodato
 
360
      Simó)
 
361
 
 
362
  API INCOMPATABILITY:
 
363
  
 
364
    * LogFormatter subclasses show now expect the 'revno' parameter to 
 
365
      show() to be a string rather than an int. (Robert Collins)
 
366
 
7
367
  INTERNALS:
8
368
 
9
369
    * ``TestCase.run_bzr``, ``run_bzr_captured``, and ``run_bzr_subprocess``
10
370
      can take a ``working_dir='foo'`` parameter, which will change directory 
11
371
      for the command. (John Arbash Meinel)
12
372
 
 
373
    * ``bzrlib.lazy_regex.lazy_compile`` can be used to create a proxy
 
374
      around a regex, which defers compilation until first use. 
 
375
      (John Arbash Meinel)
 
376
 
 
377
    * ``TestCase.run_bzr_subprocess`` defaults to supplying the
 
378
      ``--no-plugins`` parameter to ensure test reproducability, and avoid
 
379
      problems with system-wide installed plugins. (John Arbash Meinel)
 
380
 
 
381
    * Unique tree root ids are now supported. Newly created trees still
 
382
      use the common root id for compatibility with bzr versions before 0.12.
 
383
      (Aaron Bentley)
 
384
 
13
385
    * ``WorkingTree.set_root_id(None)`` is now deprecated. Please
14
386
      pass in inventory.ROOT_ID if you want the default root id value.
15
387
      (Robert Collins, John Arbash Meinel)
21
393
      ``unlock()``. ``WorkingTree.set_root_id()`` has been updated to take
22
394
      advantage of this functionality. (Robert Collins, John Arbash Meinel)
23
395
 
24
 
    * Add a new method ``Tree.revision_tree`` which allows access to cached
25
 
      trees for arbitrary revisions. This allows the in development dirstate
26
 
      tree format to provide access to the callers to cached copies of 
27
 
      inventory data which are cheaper to access than inventories from the
28
 
      repository.
29
 
      (Robert Collins, Martin Pool)
 
396
    * ``bzrlib.tsort.merge_sorted`` now accepts ``generate_revnos``. This
 
397
      parameter will cause it to add another column to its output, which
 
398
      contains the dotted-decimal revno for each revision, as a tuple.
 
399
      (Robert Collins)
 
400
 
 
401
    * ``LogFormatter.show_merge`` is deprecated in favour of
 
402
      ``LogFormatter.show_merge_revno``. (Robert Collins)
30
403
 
31
404
  BUG FIXES:
32
405
 
 
406
    * Avoid circular imports by creating a deprecated function for
 
407
      ``bzrlib.tree.RevisionTree``. Callers should have been using
 
408
      ``bzrlib.revisontree.RevisionTree`` anyway. (John Arbash Meinel,
 
409
      #63360, #66349)
 
410
 
 
411
    * Don't use ``socket.MSG_WAITALL`` as it doesn't exist on all
 
412
      platforms. (Martin Pool, #66356)
 
413
 
 
414
    * Don't require ``Content-Type`` in range responses. Assume they are a
 
415
      single range if ``Content-Type`` does not exist.
 
416
      (John Arbash Meinel, #62473)
 
417
 
33
418
    * bzr branch/pull no longer complain about progress bar cleanup when
34
419
      interrupted during fetch.  (Aaron Bentley, #54000)
35
420
 
48
433
    * Leave HttpTransportBase daughter classes decides how they
49
434
      implement cloning. (Vincent Ladeuil, #61606)
50
435
 
51
 
   * diff3 does not indicate conflicts on clean merge. (Aaron Bentley)
 
436
    * diff3 does not indicate conflicts on clean merge. (Aaron Bentley)
 
437
 
 
438
    * If a commit fails, the commit message is stored in a file at the root of
 
439
      the tree for later commit. (Cheuksan Edward Wang, Stefan Metzmacher,
 
440
      #32054)
52
441
 
53
442
  TESTING:
54
443
 
1309
1698
    * Config options have moved from bzrlib.osutils to bzrlib.config.
1310
1699
      Configuration is now done via the config.Config interface:
1311
1700
      Depending on whether you have a Branch, a Location or no information
1312
 
      available, construct a *Config, and use its signature_checking,
1313
 
      username and user_email methods. (Robert Collins)
 
1701
      available, construct a ``*Config``, and use its ``signature_checking``,
 
1702
      ``username`` and ``user_email`` methods. (Robert Collins)
1314
1703
 
1315
1704
    * Plugins are now loaded under bzrlib.plugins, not bzrlib.plugin, and
1316
1705
      they are made available for other plugins to use. You should not