~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2007-04-26 18:19:28 UTC
  • mfrom: (2464.1.2 jam-integration)
  • Revision ID: pqm@pqm.ubuntu.com-20070426181928-ot99t6eyhjjfj5h3
(John Arbash Meinel, trivial) Clean up NEWS to conform to reST syntax

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
IN DEVELOPMENT
2
2
 
 
3
  BUGFIXES:
 
4
 
 
5
    * Handle the case when you delete a file, and then rename another file
 
6
      on top of it. Also handle the case of ``bzr rm --keep foo``. ``bzr
 
7
      status`` should show the removed file and an unknown file in its
 
8
      place. (John Arbash Meinel, #109993)
 
9
 
 
10
 
 
11
bzr 0.16rc1  2007-04-26
 
12
 
3
13
  NOTES WHEN UPGRADING:
4
14
 
5
15
    * ``bzr remove`` and ``bzr rm`` will now remove the working file, if
19
29
      like bundles can.  (Aaron Bentley)
20
30
 
21
31
    * Sending the SIGQUIT signal to bzr, which can be done on Unix by
22
 
      pressing Control-Backslash, drops bzr into a debugger.  Type `c`
 
32
      pressing Control-Backslash, drops bzr into a debugger.  Type ``'c'``
23
33
      to continue.  This can be disabled by setting the environment variable
24
 
      BZR_SIGQUIT_PDB=0.  (Martin Pool)
 
34
      ``BZR_SIGQUIT_PDB=0``.  (Martin Pool)
25
35
 
26
36
    * selftest now supports --list-only to list tests instead of running
27
37
      them. (Ian Clatworthy)
62
72
      (Erik Bågfors, Alexander Belchenko)
63
73
 
64
74
    * ``bzr help`` provides a clearer message when a help topic cannot be
65
 
      found (fixes bug 107656). (Robert Collins)
 
75
      found. (Robert Collins, #107656)
66
76
 
67
77
    * ``bzr help`` now accepts optional prefixes for command help. The help
68
78
      for all commands can now be found at ``bzr help commands/COMMANDNAME``
71
81
      (Robert Collins)
72
82
 
73
83
    * ``bzr help PLUGINNAME`` will now return the module docstring from the
74
 
      plugin PLUGINNAME fixing bug 50408. (Robert Collins)
 
84
      plugin PLUGINNAME. (Robert Collins, #50408)
75
85
 
76
86
    * New help topic ``urlspec`` which lists the availables transports.
77
87
      (Goffredo Baroncelli)
78
88
 
79
 
    * doc/server.txt updated to document the default bzr:// port (fixes
80
 
      #107125) and also update the blurb about the hpss' current status.
81
 
      (Robert Collins).
 
89
    * doc/server.txt updated to document the default bzr:// port
 
90
      and also update the blurb about the hpss' current status.
 
91
      (Robert Collins, #107125).
82
92
 
83
93
    * ``bzr serve`` now listens on interface 0.0.0.0 by default, making it
84
94
      serve out to the local LAN (and anyone in the world that can reach the
94
104
      handling. (Robert Collins, Martin Pool, Andrew Bennetts)
95
105
 
96
106
    * The smart protocol over HTTP client has been changed to always post to the
97
 
      same .bzr/smart URL under the original location when it can.  This allows
 
107
      same ``.bzr/smart`` URL under the original location when it can.  This allows
98
108
      HTTP servers to only have to pass URLs ending in .bzr/smart to the smart
99
 
      server handler, and not arbitrary .bzr/*/smart URLs.  (Andrew Bennetts)
 
109
      server handler, and not arbitrary ``.bzr/*/smart`` URLs.  (Andrew Bennetts)
100
110
 
101
111
    * digest authentication is now supported for proxies and HTTP by the urllib
102
112
      based http implementation. Tested against Apache 2.0.55 and Squid
120
130
      requires an explicit action using a ChrootServer.
121
131
      (Robert Collins, Andrew Bennetts)
122
132
 
123
 
    * Deprecate Branch.get_root_id() because branches don't have root ids,
 
133
    * Deprecate ``Branch.get_root_id()`` because branches don't have root ids,
124
134
      rather than fixing bug #96847.  (Aaron Bentley)
125
135
 
126
 
    * WorkingTree.apply_inventory_delta provides a better alternative to
127
 
      WorkingTree._write_inventory.  (Aaron Bentley)
 
136
    * ``WorkingTree.apply_inventory_delta`` provides a better alternative to
 
137
      ``WorkingTree._write_inventory``.  (Aaron Bentley)
128
138
 
129
 
    * Convenience method TestCase.expectFailure ensures that known failures
 
139
    * Convenience method ``TestCase.expectFailure`` ensures that known failures
130
140
      do not silently pass.  (Aaron Bentley)
131
141
 
132
 
    * Transport.local_abspath now raises NotLocalUrl rather than 
133
 
      TransportNotPossible. (Martin Pool, Ian Clatworthy)
 
142
    * ``Transport.local_abspath`` now raises ``NotLocalUrl`` rather than 
 
143
      ``TransportNotPossible``. (Martin Pool, Ian Clatworthy)
134
144
 
135
145
    * New SmartServer hooks facility. There are two initial hooks documented
136
 
      in bzrlib.transport.smart.SmartServerHooks. The two initial hooks allow
 
146
      in ``bzrlib.transport.smart.SmartServerHooks``. The two initial hooks allow
137
147
      plugins to execute code upon server startup and shutdown.
138
148
      (Robert Collins).
139
149
 
159
169
 
160
170
    * Renamed SmartTransport (and subclasses like SmartTCPTransport) to
161
171
      RemoteTransport (and subclasses to RemoteTCPTransport, etc).  This is more
162
 
      consistent with its new home in bzrlib/transport/remote.py, and because
 
172
      consistent with its new home in ``bzrlib/transport/remote.py``, and because
163
173
      it's not really a "smart" transport, just one that does file operations
164
174
      via remote procedure calls.  (Andrew Bennetts)
165
175
 
168
178
      instances of those objects can share a lock if it has the right token.
169
179
      (Andrew Bennetts, Robert Collins)
170
180
 
171
 
    * New method 'get_branch_reference' on 'BzrDir' allows the detection of
 
181
    * New method ``get_branch_reference`` on ``BzrDir`` allows the detection of
172
182
      branch references - which the smart server component needs.
173
183
 
174
184
    * The Repository API ``make_working_trees`` is now permitted to return
184
194
    * ``bzrlib.help`` now delegates to the Command class for Command specific
185
195
      help. (Robert Collins)
186
196
 
187
 
    * New class 'TransportListRegistry', derived from the Registry class, which 
 
197
    * New class ``TransportListRegistry``, derived from the Registry class, which 
188
198
      simplifies tracking the available Transports. (Goffredo Baroncelli)
189
199
 
190
200
    * New function ``Branch.get_revision_id_to_revno_map`` which will
199
209
      str() of 'foo' but a repr of 'KeyError('foo')' which is much more
200
210
      useful. (Robert Collins)
201
211
 
202
 
    * urlutils.normalize_url now unescapes unreserved characters, such as "~".
 
212
    * ``urlutils.normalize_url`` now unescapes unreserved characters, such as "~".
203
213
      (Andrew Bennetts)
204
214
 
205
215
  BUGFIXES:
206
216
 
207
217
    * Don't fail bundle selftest if email has 'two' embedded.  
208
 
      (#98510, Ian Clatworthy)
 
218
      (Ian Clatworthy, #98510)
209
219
 
210
220
    * Remove ``--verbose`` from ``bzr bundle``. It didn't work anyway.
211
221
      (Robert Widhopf-Fenk, #98591)
212
222
 
213
223
    * Remove ``--basis`` from the checkout/branch commands - it didn't work
214
 
      properly and is no longer beneficial. Fixes #53675 and #43486.
215
 
      (Robert Collins)
 
224
      properly and is no longer beneficial.
 
225
      (Robert Collins, #53675, #43486)
216
226
 
217
227
    * Don't produce encoding error when adding duplicate files.
218
228
      (Aaron Bentley)
252
262
    * Handle moving a directory when children have been added, removed,
253
263
      and renamed. (John Arbash Meinel, #105479)
254
264
 
255
 
    * Handle the case when you delete a file, and then rename another file
256
 
      on top of it. Also handle the case of ``bzr rm --keep foo``. ``bzr
257
 
      status`` should show the removed file and an unknown file in its
258
 
      place. (John Arbash Meinel, #109993)
259
 
 
260
265
    * Don't preventively use basic authentication for proxy before receiving a
261
266
      407 error. Otherwise people willing to use other authentication schemes
262
267
      may expose their password in the clear (or nearly). This add one
276
281
    * New test method ``reduceLockdirTimeout`` to drop the default (ui-centric)
277
282
      default time down to one suitable for tests. (Andrew Bennetts)
278
283
 
279
 
    * Add new vfs_transport_factory attribute on tests which provides the 
 
284
    * Add new ``vfs_transport_factory`` attribute on tests which provides the 
280
285
      common vfs backing for both the readonly and readwrite transports.
281
286
      This allows the RemoteObject tests to back onto local disk or memory,
282
 
      and use the existing transport_server attribute all tests know about
 
287
      and use the existing ``transport_server`` attribute all tests know about
283
288
      to be the smart server transport. This in turn allows tests to 
284
289
      differentiate between 'transport to access the branch', and 
285
290
      'transport which is a VFS' - which matters in Remote* tests.
286
291
      (Robert Collins, Andrew Bennetts)
287
292
 
288
293
    * The ``make_branch_and_tree`` method for tests will now create a 
289
 
      lightweight checkout for the tree if the vfs_transport_factory is not
 
294
      lightweight checkout for the tree if the ``vfs_transport_factory`` is not
290
295
      a LocalURLServer. (Robert Collins, Andrew Bennetts)
291
296
 
292
297
    * Branch implementation tests have been audited to ensure that all urls 
298
303
      (Robert Collins, Andrew Bennetts)
299
304
 
300
305
    * Mark bzrlib.tests and bzrlib.tests.TestUtil as providing assertFOO helper
301
 
      functions by adding a __unittest global attribute. (Robert Collins,
 
306
      functions by adding a ``__unittest`` global attribute. (Robert Collins,
302
307
      Andrew Bennetts, Martin Pool, Jonathan Lange)
303
308
 
304
309
    * Refactored proxy and authentication handling to simplify the
333
338
      performances. The http redirections are not followed anymore by
334
339
      default, instead a RedirectRequested exception is raised. For bzrlib
335
340
      users needing to follow http redirections anyway,
336
 
      bzrlib.transport.do_catching_redirections provide an easy transition
 
341
      ``bzrlib.transport.do_catching_redirections`` provide an easy transition
337
342
      path.  (vila)
338
343
 
339
344
  INTERNALS:
342
347
      lock to an OS write lock. Linux can do this without unlocking, Win32
343
348
      needs to unlock in between. (John Arbash Meinel)
344
349
 
345
 
    * New parameter ``recommend_upgrade`` to BzrDir.open_workingtree 
 
350
    * New parameter ``recommend_upgrade`` to ``BzrDir.open_workingtree``
346
351
      to silence (when false) warnings about opening old formats.
347
352
      (Martin Pool)
348
353
 
358
363
 
359
364
  BUGFIXES:
360
365
 
361
 
    * Take smtp_server from user config into account.
 
366
    * Take ``smtp_server`` from user config into account.
362
367
      (vila, #92195)
363
368
 
364
369
    * Restore Unicode filename handling for versioned and unversioned files.
376
381
 
377
382
    * ``bzr commit`` with a kind change was failing to update the
378
383
      last-changed-revision for directories.  The
379
 
      InventoryDirectory._unchanged only looked at the parent_id and name,
 
384
      InventoryDirectory._unchanged only looked at the ``parent_id`` and name,
380
385
      ignoring the fact that the kind could have changed, too.
381
386
      (John Arbash Meinel, #90111)
382
387
 
385
390
      etc. (John Arbash Meinel, #94037)
386
391
 
387
392
    * Correctly handles mutiple permanent http redirections.
388
 
     (vila, #88780)
389
 
 
 
393
      (vila, #88780)
390
394
 
391
395
bzr 0.15rc2  2007-03-14
392
396
 
451
455
    * For users of bzrlib: Two major changes have been made to the working tree
452
456
      api in bzrlib. The first is that many methods and attributes, including
453
457
      the inventory attribute, are no longer valid for use until one of
454
 
      lock_read/lock_write/lock_tree_write has been called, and become invalid
455
 
      again after unlock is called. This has been done to improve performance
456
 
      and correctness as part of the dirstate development. (Robert Collins,
457
 
      John A Meinel, Martin Pool, and others).
 
458
      ``lock_read``/``lock_write``/``lock_tree_write`` has been called,
 
459
      and become invalid again after unlock is called. This has been done
 
460
      to improve performance and correctness as part of the dirstate
 
461
      development.
 
462
      (Robert Collins, John A Meinel, Martin Pool, and others).
458
463
 
459
464
    * For users of bzrlib: The attribute 'tree.inventory' should be considered
460
465
      readonly. Previously it was possible to directly alter this attribute, or
504
509
      directory.  (Martin Pool)
505
510
 
506
511
    * Branch format 6: smaller, and potentially faster than format 5.  Supports
507
 
      "append_history_only" mode, where the log view and revnos do not change,
 
512
      ``append_history_only`` mode, where the log view and revnos do not change,
508
513
      except by being added to.  Stores policy settings in
509
514
      ".bzr/branch/branch.conf".
510
515
 
511
 
    * append_only branches:  Format 6 branches may be configured so that log
 
516
    * ``append_only`` branches:  Format 6 branches may be configured so that log
512
517
      view and revnos are always consistent.  Either create the branch using
513
518
      "bzr init --append-revisions-only" or edit the config file as descriped
514
519
      in docs/configuration.txt.
524
529
      upgrade, run ``bzr upgrade --dirstate-tags`` in your branch and
525
530
      repositories. (Martin Pool)
526
531
 
527
 
    * The bzr:// transport now has a well-known port number, 4155, which it will
528
 
      use by default.  (Andrew Bennetts, Martin Pool)
 
532
    * The ``bzr://`` transport now has a well-known port number, 4155,
 
533
      which it will use by default.  (Andrew Bennetts, Martin Pool)
529
534
 
530
535
    * Bazaar now looks for user-installed plugins before looking for site-wide
531
536
      plugins. (Jonathan Lange)
551
556
      (John Arbash Meinel)
552
557
 
553
558
    * New easier to use Branch hooks facility. There are five initial hooks,
554
 
      all documented in bzrlib.branch.BranchHooks.__init__ - 'set_rh',
555
 
      'post_push', 'post_pull', 'post_commit', 'post_uncommit'. These hooks
556
 
      fire after the matching operation on a branch has taken place, and were
557
 
      originally added for the branchrss plugin. (Robert Collins)
 
559
      all documented in bzrlib.branch.BranchHooks.__init__ - ``'set_rh'``,
 
560
      ``'post_push'``, ``'post_pull'``, ``'post_commit'``,
 
561
      ``'post_uncommit'``. These hooks fire after the matching operation
 
562
      on a branch has taken place, and were originally added for the
 
563
      branchrss plugin. (Robert Collins)
558
564
 
559
565
    * New method ``Branch.push()`` which should be used when pushing from a
560
566
      branch as it makes performance and policy decisions to match the UI
567
573
      repository.
568
574
      (Robert Collins, Martin Pool)
569
575
 
570
 
    * New Branch.last_revision_info method, this is being done to allow
 
576
    * New ``Branch.last_revision_info`` method, this is being done to allow
571
577
      optimization of requests for both the number of revisions and the last
572
578
      revision of a branch with smartservers and potentially future branch
573
579
      formats. (Wouter van Heyst, Robert Collins)
574
580
 
575
 
    * Allow 'import bzrlib.plugins.NAME' to work when the plugin NAME has not
576
 
      yet been loaded by load_plugins(). This allows plugins to depend on each
 
581
    * Allow ``'import bzrlib.plugins.NAME'`` to work when the plugin NAME has not
 
582
      yet been loaded by ``load_plugins()``. This allows plugins to depend on each
577
583
      other for code reuse without requiring users to perform file-renaming
578
584
      gymnastics. (Robert Collins)
579
585
 
580
 
    * New Repository method 'gather_stats' for statistic data collection.
 
586
    * New Repository method ``'gather_stats'`` for statistic data collection.
581
587
      This is expected to grow to cover a number of related uses mainly
582
588
      related to bzr info. (Robert Collins)
583
589
 
633
639
 
634
640
    * Fix problem with UNC paths on Windows 98. (Alexander Belchenko, #84728)
635
641
 
636
 
    * Searching location of CA bundle for PyCurl in env variable (CURL_CA_BUNDLE),
637
 
      and on win32 along the PATH. (Alexander Belchenko, #82086)
 
642
    * Searching location of CA bundle for PyCurl in env variable
 
643
      (``CURL_CA_BUNDLE``), and on win32 along the PATH.
 
644
      (Alexander Belchenko, #82086)
638
645
 
639
646
    * ``bzr init`` works with unicode argument LOCATION.
640
647
      (Alexander Belchenko, #85599)
641
648
 
642
 
    * Raise DependencyNotPresent if pycurl do not support https. (Vincent
643
 
      Ladeuil, #85305)
 
649
    * Raise ``DependencyNotPresent`` if pycurl do not support https. 
 
650
      (Vincent Ladeuil, #85305)
644
651
 
645
652
    * Invalid proxy env variables should not cause a traceback.
646
653
      (Vincent Ladeuil, #87765)
749
756
 
750
757
    * Test suite ends cleanly on Windows.  (Vincent Ladeuil)
751
758
 
752
 
    * When 'encoding_type' attribute of class Command is equal to 'exact', 
 
759
    * When ``encoding_type`` attribute of class Command is equal to 'exact', 
753
760
      force sys.stdout to be a binary stream on Windows, and therefore
754
761
      keep exact line-endings (without LF -> CRLF conversion).
755
762
      (Alexander Belchenko)
773
780
      ``--show-ids`` to display the original revision ids, rather than
774
781
      revision numbers and committer names. (John Arbash Meinel, #75637)
775
782
 
776
 
    * bzr now supports Win32 UNC path (e.g. \\HOST\path). 
 
783
    * bzr now supports Win32 UNC path (e.g. ``\HOST\path``. 
777
784
      (Alexander Belchenko, #57869)
778
785
 
779
786
    * Win32-specific: output of cat, bundle and diff commands don't mangle
861
868
    * ``MemoryTransport.list_dir()`` would strip the first character for
862
869
      files or directories in root directory. (John Arbash Meinel)
863
870
 
864
 
    * New method 'get_branch_reference' on 'BzrDir' allows the detection of 
 
871
    * New method ``get_branch_reference`` on 'BzrDir' allows the detection of 
865
872
      branch references - which the smart server component needs.
866
873
  
867
874
    * New ``ChrootTransportDecorator``, accessible via the ``chroot+`` url
870
877
 
871
878
  BUG FIXES:
872
879
 
873
 
    * Now _KnitIndex properly decode revision ids when loading index data.
874
 
      And optimize the knit index parsing code.  (Dmitry Vasiliev, John
875
 
      Arbash Meinel)
 
880
    * Now ``_KnitIndex`` properly decode revision ids when loading index data.
 
881
      And optimize the knit index parsing code. 
 
882
      (Dmitry Vasiliev, John Arbash Meinel)
876
883
 
877
884
    * ``bzrlib/bzrdir.py`` was directly referencing ``bzrlib.workingtree``,
878
885
      without importing it. This prevented ``bzr upgrade`` from working
893
900
      line (for the urllib implementation). Don't request already
894
901
      known passwords (Vincent Ladeuil, #42383, #44647, #48527)
895
902
 
896
 
    * _KnitIndex.add_versions() dictionary compresses revision ids as they
 
903
    * ``_KnitIndex.add_versions()`` dictionary compresses revision ids as they
897
904
      are added. This fixes bug where fetching remote revisions records
898
 
      them as full references rather than integers. (John Arbash Meinel,
899
 
      #64789)
 
905
      them as full references rather than integers.
 
906
      (John Arbash Meinel, #64789)
900
907
 
901
908
    * ``bzr ignore`` strips trailing slashes in patterns.
902
909
      Also ``bzr ignore`` rejects absolute paths. (Kent Gibson, #4559)
962
969
    * New Registry class to provide name-to-object registry-like support,
963
970
      for example for schemes where plugins can register new classes to
964
971
      do certain tasks (e.g. log formatters). Also provides lazy registration
965
 
      to allow modules to be loaded on request. (John Arbash Meinel, Adeodato
966
 
      Simó)
 
972
      to allow modules to be loaded on request.
 
973
      (John Arbash Meinel, Adeodato Simó)
967
974
 
968
975
  API INCOMPATABILITY:
969
976
  
989
996
      (Aaron Bentley)
990
997
 
991
998
    * ``WorkingTree.set_root_id(None)`` is now deprecated. Please
992
 
      pass in inventory.ROOT_ID if you want the default root id value.
 
999
      pass in ``inventory.ROOT_ID`` if you want the default root id value.
993
1000
      (Robert Collins, John Arbash Meinel)
994
1001
 
995
1002
    * New method ``WorkingTree.flush()`` which will write the current memory
996
 
      inventory out to disk. At the same time, read_working_inventory will
 
1003
      inventory out to disk. At the same time, ``read_working_inventory`` will
997
1004
      no longer trash the current tree inventory if it has been modified within
998
1005
      the current lock, and the tree will now ``flush()`` automatically on
999
1006
      ``unlock()``. ``WorkingTree.set_root_id()`` has been updated to take
1100
1107
      modules will not actually be imported if they are not used.
1101
1108
      (John Arbash Meinel)
1102
1109
 
1103
 
    * Support bzr:// and bzr+ssh:// urls to work with the new RPC-based
 
1110
    * Support ``bzr://`` and ``bzr+ssh://`` urls to work with the new RPC-based
1104
1111
      transport which will be used with the upcoming high-performance smart
1105
1112
      server. The new command ``bzr serve`` will invoke bzr in server mode,
1106
1113
      which processes these requests. (Andrew Bennetts, Robert Collins, Martin
1113
1120
 
1114
1121
  BUG FIXES:
1115
1122
 
1116
 
    * 'bzr inventory [FILE...]' allows restricting the file list to a
 
1123
    * ``'bzr inventory [FILE...]'`` allows restricting the file list to a
1117
1124
      specific set of files. (John Arbash Meinel, #3631)
1118
1125
 
1119
1126
    * Don't abort when annotating empty files (John Arbash Meinel, #56814)
1145
1152
    * Handle when LANG is not recognized by python. Emit a warning, but
1146
1153
      just revert to using 'ascii'. (John Arbash Meinel, #35392)
1147
1154
 
1148
 
    * Don't use preexec_fn on win32, as it is not supported by subprocess.
 
1155
    * Don't use ``preexec_fn`` on win32, as it is not supported by subprocess.
1149
1156
      (John Arbash Meinel)
1150
1157
 
1151
1158
    * Skip specific tests when the dependencies aren't met. This includes
1177
1184
      than having HOME set to the same location as the working directory.
1178
1185
      (John Arbash Meinel)
1179
1186
 
1180
 
    * run_bzr_subprocess() can take an optional 'env_changes={}' parameter,
 
1187
    * ``run_bzr_subprocess()`` can take an optional ``env_changes={}`` parameter,
1181
1188
      which will update os.environ inside the spawned child. It also can
1182
 
      take a 'universal_newlines=True', which helps when checking the output
 
1189
      take a ``universal_newlines=True``, which helps when checking the output
1183
1190
      of the command. (John Arbash Meinel)
1184
1191
 
1185
1192
    * Refactor SFTP vendors to allow easier re-use when ssh is used. 
1186
1193
      (Andrew Bennetts)
1187
1194
 
1188
 
    * Transport.list_dir() and Transport.iter_files_recursive() should always
 
1195
    * ``Transport.list_dir()`` and ``Transport.iter_files_recursive()`` should always
1189
1196
      return urlescaped paths. This is now tested (there were bugs in a few
1190
1197
      of the transports) (Andrew Bennetts, David Allouche, John Arbash Meinel)
1191
1198
 
1192
 
    * New utility function symbol_versioning.deprecation_string. Returns the
 
1199
    * New utility function ``symbol_versioning.deprecation_string``. Returns the
1193
1200
      formatted string for a callable, deprecation format pair. (Robert Collins)
1194
1201
 
1195
1202
    * New TestCase helper applyDeprecated. This allows you to call a callable
1197
1204
      the deprecation format string issued for it. (Robert Collins)
1198
1205
 
1199
1206
    * Transport.append and Transport.put have been deprecated in favor of
1200
 
      .append_bytes, .append_file, .put_bytes, and .put_file. This removes the
1201
 
      ambiguity in what type of object the functions take.
1202
 
      Transport.non_atomic_put_{bytes,file} has also been added. Which works
1203
 
      similarly to Transport.append() except for SFTP, it doesn't have a round
1204
 
      trip when opening the file. Also, it provides functionality for creating
1205
 
      a parent directory when trying to create a file, rather than raise
1206
 
      NoSuchFile and forcing the caller to repeat their request.
 
1207
      ``.append_bytes``, ``.append_file``, ``.put_bytes``, and
 
1208
      ``.put_file``. This removes the ambiguity in what type of object the
 
1209
      functions take.  ``Transport.non_atomic_put_{bytes,file}`` has also
 
1210
      been added. Which works similarly to ``Transport.append()`` except for
 
1211
      SFTP, it doesn't have a round trip when opening the file. Also, it
 
1212
      provides functionality for creating a parent directory when trying
 
1213
      to create a file, rather than raise NoSuchFile and forcing the
 
1214
      caller to repeat their request.
1207
1215
      (John Arbash Meinel)
1208
1216
 
1209
1217
    * WorkingTree has a new api ``unversion`` which allow the unversioning of
1210
1218
      entries by their file id. (Robert Collins)
1211
1219
 
1212
 
    * WorkingTree.pending_merges is deprecated.  Please use the get_parent_ids
1213
 
      (introduced in 0.10) method instead. (Robert Collins)
 
1220
    * ``WorkingTree.pending_merges`` is deprecated.  Please use the
 
1221
      ``get_parent_ids`` (introduced in 0.10) method instead. (Robert Collins)
1214
1222
 
1215
 
    * WorkingTree has a new lock_tree_write method which locks the branch for
 
1223
    * WorkingTree has a new ``lock_tree_write`` method which locks the branch for
1216
1224
      read rather than write. This is appropriate for actions which only need
1217
1225
      the branch data for reference rather than mutation. A new decorator
1218
 
      needs_tree_write_lock is provided in the workingtree module. Like the
1219
 
      needs_read_lock and needs_write_lock decorators this allows static 
 
1226
      ``needs_tree_write_lock`` is provided in the workingtree module. Like the
 
1227
      ``needs_read_lock`` and ``needs_write_lock`` decorators this allows static 
1220
1228
      declaration of the locking requirements of a function to ensure that
1221
1229
      a lock is taken out for casual scripts. (Robert Collins, #54107)
1222
1230
 
1237
1245
    * WorkingTree has a new parent class MutableTree which represents the 
1238
1246
      specialisations of Tree which are able to be altered. (Robert Collins)
1239
1247
 
1240
 
    * New methods mkdir and put_file_bytes_non_atomic on MutableTree that
 
1248
    * New methods mkdir and ``put_file_bytes_non_atomic`` on MutableTree that
1241
1249
      mutate the tree and its contents. (Robert Collins)
1242
1250
 
1243
1251
    * Transport behaviour at the root of the URL is now defined and tested.
1248
1256
    * New test helper classs MemoryTree. This is typically accessed via
1249
1257
      ``self.make_branch_and_memory_tree()`` in test cases. (Robert Collins)
1250
1258
      
1251
 
    * Add start_bzr_subprocess and stop_bzr_subprocess to allow test code to
1252
 
      continue running concurrently with a subprocess of bzr. (Andrew Bennetts,
1253
 
      Robert Collins)
 
1259
    * Add ``start_bzr_subprocess`` and ``stop_bzr_subprocess`` to allow test
 
1260
      code to continue running concurrently with a subprocess of bzr.
 
1261
      (Andrew Bennetts, Robert Collins)
1254
1262
 
1255
1263
    * Add a new method ``Transport.get_smart_client()``. This is provided to
1256
1264
      allow upgrades to a richer interface than the VFS one provided by
1264
1272
  
1265
1273
    * 'bzr add --file-ids-from' can be used to specify another path to use
1266
1274
      for creating file ids, rather than generating all new ones. Internally,
1267
 
      the 'action' passed to smart_add_tree() can return file_ids that
 
1275
      the 'action' passed to ``smart_add_tree()`` can return ``file_ids`` that
1268
1276
      will be used, rather than having bzrlib generate new ones.
1269
1277
      (John Arbash Meinel, #55781)
1270
1278
 
1284
1292
    * Help diffutils 2.8.4 get along with binary tests (Marien Zwart: #57614)
1285
1293
 
1286
1294
    * Change LockDir so that if the lock directory doesn't exist when
1287
 
      lock_write() is called, an attempt will be made to create it.
 
1295
      ``lock_write()`` is called, an attempt will be made to create it.
1288
1296
      (John Arbash Meinel, #56974)
1289
1297
 
1290
1298
    * ``bzr uncommit`` preserves pending merges. (John Arbash Meinel, #57660)
1305
1313
    * Handle TZ=UTC properly when reading/writing revisions.
1306
1314
      (John Arbash Meinel, #55783, #56290)
1307
1315
 
1308
 
    * Use GPG_TTY to allow gpg --cl to work with gpg-agent in a pipeline,
 
1316
    * Use ``GPG_TTY`` to allow gpg --cl to work with gpg-agent in a pipeline,
1309
1317
      (passing text to sign in on stdin). (John Arbash Meinel, #54468)
1310
1318
 
1311
1319
    * External diff does the right thing for binaries even in foreign 
1312
1320
      languages. (John Arbash Meinel, #56307)
1313
1321
 
1314
1322
    * Testament handles more cases when content is unicode. Specific bug was
1315
 
      in handling of revision properties. (John Arbash Meinel, Holger Krekel,
1316
 
      #54723)
 
1323
      in handling of revision properties.
 
1324
      (John Arbash Meinel, Holger Krekel, #54723)
1317
1325
 
1318
1326
    * The bzr selftest was failing on installed versions due to a bug in a new
1319
1327
      test helper. (John Arbash Meinel, Robert Collins, #58057)
1336
1344
 
1337
1345
   * The hard-coded built-in ignore rules have been removed. There are
1338
1346
     now two rulesets which are enforced. A user global one in 
1339
 
     ~/.bazaar/ignore which will apply to every tree, and the tree
 
1347
     ``~/.bazaar/ignore`` which will apply to every tree, and the tree
1340
1348
     specific one '.bzrignore'.
1341
 
     ~/.bazaar/ignore will be created if it does not exist, but with
 
1349
     ``~/.bazaar/ignore`` will be created if it does not exist, but with
1342
1350
     a more conservative list than the old default.
1343
1351
     This fixes bugs with default rules being enforced no matter what. 
1344
1352
     The old list of ignore rules from bzr is available by
1360
1368
     proper printing when the user's terminal encoding cannot display 
1361
1369
     the path of a file that has been versioned.
1362
1370
     ``bzr branch`` can take a target URL rather than only a local directory.
1363
 
     Branch.get_parent()/set_parent() now save a relative path if possible,
 
1371
     ``Branch.get_parent()/set_parent()`` now save a relative path if possible,
1364
1372
     and normalize the parent based on root, allowing access across
1365
1373
     different transports. (John Arbash Meinel, Wouter van Heyst, Martin Pool)
1366
1374
     (Malone #48906, #42699, #40675, #5281, #3980, #36363, #43689,
1431
1439
     Also updates things like 'http+pycurl://' if pycurl is not present.
1432
1440
     (John Arbash Meinel) (Malone #47821, #52204)
1433
1441
 
1434
 
   * New env variable BZR_PROGRESS_BAR, sets the default progress bar type.
 
1442
   * New env variable ``BZR_PROGRESS_BAR``, sets the default progress bar type.
1435
1443
     Can be set to 'none' or 'dummy' to disable the progress bar, 'dots' or 
1436
1444
     'tty' to create the respective type. (John Arbash Meinel, #42197, #51107)
1437
1445
 
1463
1471
  BUG FIXES:
1464
1472
 
1465
1473
    * Fix shadowed definition of TestLocationConfig that caused some 
1466
 
      tests not to run.  (#32587, Erik Bågfors, Michael Ellerman, 
1467
 
      Martin Pool)
 
1474
      tests not to run.
 
1475
      (Erik Bågfors, Michael Ellerman, Martin Pool, #32587)
1468
1476
 
1469
1477
    * Fix unnecessary requirement of sign-my-commits that it be run from
1470
1478
      a working directory.  (Martin Pool, Robert Collins)
1471
1479
 
1472
1480
    * 'bzr push location' will only remember the push location if it succeeds
1473
 
      in connecting to the remote location. (#49742, John Arbash Meinel)
 
1481
      in connecting to the remote location. (John Arbash Meinel, #49742)
1474
1482
 
1475
1483
    * 'bzr revert' no longer toggles the executable bit on win32
1476
 
      (#45010, John Arbash Meinel)
 
1484
      (John Arbash Meinel, #45010)
1477
1485
 
1478
1486
    * Handle broken pipe under win32 correctly. (John Arbash Meinel)
1479
1487
    
1488
1496
      and y.
1489
1497
 
1490
1498
    * File-ids containing single- or double-quotes are handled correctly by
1491
 
      push.  (#52227, Aaron Bentley)
 
1499
      push. (Aaron Bentley, #52227)
1492
1500
 
1493
1501
    * Normalize unicode filenames to ensure cross-platform consistency.
1494
1502
      (John Arbash Meinel, #43689)
1501
1509
    * Bundles can properly read binary files with a plain '\r' in them.
1502
1510
      (John Arbash Meinel, #51927)
1503
1511
 
1504
 
    * Tuning iter_entries() to be more efficient (John Arbash Meinel, #5444)
 
1512
    * Tuning ``iter_entries()`` to be more efficient (John Arbash Meinel, #5444)
1505
1513
 
1506
1514
    * Lots of win32 fixes (the test suite passes again).
1507
1515
      (John Arbash Meinel, #50155)
1545
1553
 
1546
1554
    * Use the right suffixes for loading plugins (John Arbash Meinel, #51810)
1547
1555
 
1548
 
    * Fix Branch.get_parent() to handle the case when the parent is not 
 
1556
    * Fix ``Branch.get_parent()`` to handle the case when the parent is not 
1549
1557
      accessible (John Arbash Meinel, #52976)
1550
1558
 
1551
1559
  INTERNALS:
1554
1562
      them to reduce the threshold where  N^2 behaviour occurs in operations
1555
1563
      like status. (Jan Hudec, Robert Collins).
1556
1564
 
1557
 
    * Appending to bzrlib.DEFAULT_IGNORE is now deprecated. Instead, use
 
1565
    * Appending to ``bzrlib.DEFAULT_IGNORE`` is now deprecated. Instead, use
1558
1566
      one of the add functions in bzrlib.ignores. (John Arbash Meinel)
1559
1567
 
1560
1568
    * 'bzr push' should only push the ancestry of the current revision, not
1561
1569
      all of the history in the repository. This is especially important for
1562
1570
      shared repositories. (John Arbash Meinel)
1563
1571
 
1564
 
    * bzrlib.delta.compare_trees now iterates in alphabetically sorted order,
 
1572
    * ``bzrlib.delta.compare_trees`` now iterates in alphabetically sorted order,
1565
1573
      rather than randomly walking the inventories. (John Arbash Meinel)
1566
1574
 
1567
1575
    * Doctests are now run in temporary directories which are cleaned up when
1572
1580
      so that it can be specialized in ways that are useful or efficient for
1573
1581
      different formats.  (Martin Pool, Robert Collins)
1574
1582
 
1575
 
    * Deprecate Repository.all_revision_ids; most methods don't really need
 
1583
    * Deprecate ``Repository.all_revision_ids``; most methods don't really need
1576
1584
      the global revision graph but only that part leading up to a particular
1577
1585
      revision.  (Martin Pool, Robert Collins)
1578
1586
 
1579
 
    * Add a BzrDirFormat control_formats list which allows for control formats
 
1587
    * Add a BzrDirFormat ``control_formats`` list which allows for control formats
1580
1588
      that do not use '.bzr' to store their data - i.e. '.svn', '.hg' etc.
1581
1589
      (Robert Collins, Jelmer Vernooij).
1582
1590
 
1583
 
    * bzrlib.diff.external_diff can be redirected to any file-like object.
 
1591
    * ``bzrlib.diff.external_diff`` can be redirected to any file-like object.
1584
1592
      Uses subprocess instead of spawnvp.
1585
 
      (#4047, #48914, James Henstridge, John Arbash Meinel)
 
1593
      (James Henstridge, John Arbash Meinel, #4047, #48914)
1586
1594
 
1587
1595
    * New command line option '--profile-imports', which will install a custom
1588
1596
      importer to log time to import modules and regex compilation time to 
1589
1597
      sys.stderr (John Arbash Meinel)
1590
1598
 
1591
 
    * 'EmptyTree' is now deprecated, please use repository.revision_tree(None)
 
1599
    * 'EmptyTree' is now deprecated, please use ``repository.revision_tree(None)``
1592
1600
      instead. (Robert Collins)
1593
1601
 
1594
1602
    * "RevisionTree" is now in bzrlib/revisiontree.py. (Robert Collins)
1611
1619
 
1612
1620
    * Separate functionality from assert statements as they are skipped in
1613
1621
      optimized mode of python. Add the same check to pending merges.
1614
 
      (#44443, Olaf Conradi)
 
1622
      (Olaf Conradi, #44443)
1615
1623
 
1616
1624
  CHANGES:
1617
1625
 
1618
1626
    * Do not show the None revision in output of bzr ancestry. (Olaf Conradi)
1619
1627
 
1620
1628
    * Add info on standalone branches without a working tree.
1621
 
      (#44155, Olaf Conradi)
 
1629
      (Olaf Conradi, #44155)
1622
1630
 
1623
 
    * Fix bug in knits when raising InvalidRevisionId. (#44284, Olaf Conradi)
 
1631
    * Fix bug in knits when raising InvalidRevisionId. (Olaf Conradi, #44284)
1624
1632
 
1625
1633
  CHANGES:
1626
1634
 
1627
1635
    * Make editor invocation comply with Debian Policy. First check
1628
1636
      environment variables VISUAL and EDITOR, then try editor from
1629
1637
      alternatives system. If that all fails, fall back to the pre-defined
1630
 
      list of editors. (#42904, Olaf Conradi)
 
1638
      list of editors. (Olaf Conradi, #42904)
1631
1639
 
1632
1640
  NEW FEATURES:
1633
1641
 
1637
1645
 
1638
1646
  INTERNALS:
1639
1647
 
1640
 
    * New public api in InventoryEntry - 'describe_change(old, new)' which
 
1648
    * New public api in InventoryEntry - ``describe_change(old, new)`` which
1641
1649
      provides a human description of the changes between two old and
1642
1650
      new. (Robert Collins, Martin Pool)
1643
1651
 
1686
1694
  IMPROVEMENTS:
1687
1695
 
1688
1696
    * Sftp paths can now be relative, or local, according to the lftp
1689
 
      convention. Paths now take the form:
1690
 
      sftp://user:pass@host:port/~/relative/path
1691
 
      or
1692
 
      sftp://user:pass@host:port/absolute/path
 
1697
      convention. Paths now take the form::
 
1698
 
 
1699
          sftp://user:pass@host:port/~/relative/path
 
1700
          or
 
1701
          sftp://user:pass@host:port/absolute/path
1693
1702
 
1694
1703
    * The FTP transport now tries to reconnect after a temporary
1695
1704
      failure. ftp put is made atomic. (Matthieu Moy)
1698
1707
      reuses them to avoid multiple connections to the same host (like
1699
1708
      sftp did). (Daniel Silverstone)
1700
1709
 
1701
 
    * The bzr_man.py file has been removed. To create the man page now,
1702
 
      use ./generate_docs.py man. The new program can also create other files.
1703
 
      Run "python generate_docs.py --help" for usage information. (Hans
1704
 
      Ulrich Niedermann & James Blackwell).
 
1710
    * The ``bzr_man.py`` file has been removed. To create the man page now,
 
1711
      use ``./generate_docs.py man``. The new program can also create other files.
 
1712
      Run ``python generate_docs.py --help`` for usage information.
 
1713
      (Hans Ulrich Niedermann & James Blackwell).
1705
1714
 
1706
 
    * Man Page now gives full help (James Blackwell). Help also updated to 
1707
 
      reflect user config now being stored in .bazaar (Hans Ulrich
1708
 
      Niedermann)
 
1715
    * Man Page now gives full help (James Blackwell).
 
1716
      Help also updated to reflect user config now being stored in .bazaar
 
1717
      (Hans Ulrich Niedermann)
1709
1718
 
1710
1719
    * It's now possible to set aliases in bazaar.conf (Erik Bågfors)
1711
1720
 
1712
1721
    * Pull now accepts a --revision argument (Erik Bågfors)
1713
1722
 
1714
 
    * 'bzr re-sign' now allows multiple revisions to be supplied on the command
 
1723
    * ``bzr re-sign`` now allows multiple revisions to be supplied on the command
1715
1724
      line. You can now use the following command to sign all of your old
1716
1725
      commits::
1717
1726
 
1800
1809
    * Commit is now verbose by default, and shows changed filenames and the 
1801
1810
      new revision number.  (Robert Collins, Martin Pool)
1802
1811
 
1803
 
    * Unify 'mv', 'move', 'rename'.  (#5379, Matthew Fuller)
 
1812
    * Unify 'mv', 'move', 'rename'.  (Matthew Fuller, #5379)
1804
1813
 
1805
 
    * 'bzr -h' shows help.  (#35940, Martin Pool, Ian Bicking)
 
1814
    * 'bzr -h' shows help.  (Martin Pool, Ian Bicking, #35940)
1806
1815
 
1807
1816
    * Make 'pull' and 'push' remember location on failure using --remember.
1808
1817
      (Olaf Conradi)
1828
1837
 
1829
1838
    * Using Tree Transform for merge, revert, tree-building
1830
1839
 
1831
 
    * WorkingTree.create, Branch.create, WorkingTree.create_standalone,
1832
 
      Branch.initialize are now deprecated. Please see BzrDir.create_* for
 
1840
    * WorkingTree.create, Branch.create, ``WorkingTree.create_standalone``,
 
1841
      Branch.initialize are now deprecated. Please see ``BzrDir.create_*`` for
1833
1842
      replacement API's. (Robert Collins)
1834
1843
 
1835
1844
    * New BzrDir class represents the .bzr control directory and manages
1839
1848
      Repository actions and allows for clean selection of optimised code
1840
1849
      paths. (Robert Collins)
1841
1850
 
1842
 
    * bzrlib.fetch.fetch and bzrlib.fetch.greedy_fetch are now deprecated,
1843
 
      please use 'branch.fetch' or 'repository.fetch' depending on your
1844
 
      needs. (Robert Collins)
 
1851
    * ``bzrlib.fetch.fetch`` and ``bzrlib.fetch.greedy_fetch`` are now
 
1852
      deprecated, please use ``branch.fetch`` or ``repository.fetch``
 
1853
      depending on your needs. (Robert Collins)
1845
1854
 
1846
 
    * deprecated methods now have a 'is_deprecated' flag on them that can
 
1855
    * deprecated methods now have a ``is_deprecated`` flag on them that can
1847
1856
      be checked, if you need to determine whether a given callable is 
1848
1857
      deprecated at runtime. (Robert Collins)
1849
1858
 
1850
1859
    * Progress bars are now nested - see
1851
 
      bzrlib.ui.ui_factory.nested_progress_bar. (Robert Collins, Robey Pointer)
 
1860
      ``bzrlib.ui.ui_factory.nested_progress_bar``.
 
1861
      (Robert Collins, Robey Pointer)
1852
1862
 
1853
 
    * New API call get_format_description() for each type of format.
 
1863
    * New API call ``get_format_description()`` for each type of format.
1854
1864
      (Olaf Conradi)
1855
1865
 
1856
 
    * Changed branch.set_parent() to accept None to remove parent.
 
1866
    * Changed ``branch.set_parent()`` to accept None to remove parent.
1857
1867
      (Olaf Conradi)
1858
1868
 
1859
1869
    * Deprecated BzrError AmbiguousBase.  (Olaf Conradi)
1860
1870
 
1861
1871
    * WorkingTree.branch is now a read only property.  (Robert Collins)
1862
1872
 
1863
 
    * bzrlib.ui.text.TextUIFactory now accepts a bar_type parameter which
 
1873
    * bzrlib.ui.text.TextUIFactory now accepts a ``bar_type`` parameter which
1864
1874
      can be None or a factory that will create a progress bar. This is
1865
1875
      useful for testing or for overriding the bzrlib.progress heuristic.
1866
1876
      (Robert Collins)
1867
1877
 
1868
 
    * New API method get_physical_lock_status() to query locks present on a
 
1878
    * New API method ``get_physical_lock_status()`` to query locks present on a
1869
1879
      transport.  (Olaf Conradi)
1870
1880
 
1871
1881
    * Repository.reconcile now takes a thorough keyword parameter to allow
1872
1882
      requesting an indepth reconciliation, rather than just a data-loss 
1873
1883
      check. (Robert Collins)
1874
1884
 
1875
 
    * bzrlib.ui.ui_factory protocol now supports 'get_boolean' to prompt
 
1885
    * ``bzrlib.ui.ui_factory protocol`` now supports ``get_boolean`` to prompt
1876
1886
      the user for yes/no style input. (Robert Collins)
1877
1887
 
1878
1888
  TESTING:
1880
1890
    * SFTP tests now shortcut the SSH negotiation, reducing test overhead
1881
1891
      for testing SFTP protocol support. (Robey Pointer)
1882
1892
 
1883
 
    * Branch formats are now tested once per implementation (see bzrlib.
1884
 
      tests.branch_implementations. This is analagous to the transport
 
1893
    * Branch formats are now tested once per implementation (see ``bzrlib.
 
1894
      tests.branch_implementations``. This is analagous to the transport
1885
1895
      interface tests, and has been followed up with working tree,
1886
1896
      repository and BzrDir tests. (Robert Collins)
1887
1897
 
1897
1907
 
1898
1908
    * Move test case for uncommit to blackbox tests.  (Olaf Conradi)
1899
1909
 
1900
 
    * run_bzr and run_bzr_captured now accept a 'stdin="foo"' parameter which
1901
 
      will provide String("foo") to the command as its stdin.
 
1910
    * ``run_bzr`` and ``run_bzr_captured`` now accept a 'stdin="foo"'
 
1911
      parameter which will provide String("foo") to the command as its stdin.
1902
1912
 
1903
1913
bzr 0.7 2006-01-09
1904
1914
 
1912
1922
      versioned directories, now use "bzr inventory --kind directory".  
1913
1923
      (Johan Rydberg)
1914
1924
 
1915
 
    * Under Windows configuration directory is now %APPDATA%\bazaar\2.0
 
1925
    * Under Windows configuration directory is now ``%APPDATA%\bazaar\2.0``
1916
1926
      by default. (John Arbash Meinel)
1917
1927
 
1918
 
    * The parent of Bzr configuration directory can be set by BZR_HOME
1919
 
      environment variable. Now the path for it is searched in BZR_HOME, then
1920
 
      in HOME. Under Windows the order is: BZR_HOME, APPDATA (usually
1921
 
      points to C:\Documents and Settings\User Name\Application Data), HOME.
1922
 
      (John Arbash Meinel)
 
1928
    * The parent of Bzr configuration directory can be set by ``BZR_HOME``
 
1929
      environment variable. Now the path for it is searched in ``BZR_HOME``,
 
1930
      then in HOME. Under Windows the order is: ``BZR_HOME``, ``APPDATA``
 
1931
      (usually points to ``C:\Documents and Settings\User Name\Application Data``),
 
1932
      ``HOME``. (John Arbash Meinel)
1923
1933
 
1924
1934
    * Plugins with the same name in different directories in the bzr plugin
1925
1935
      path are no longer loaded: only the first successfully loaded one is
1964
1974
    * Added branch nicks, new nick command, printing them in log output. 
1965
1975
      (Aaron Bentley)
1966
1976
 
1967
 
    * If $BZR_PDB is set, pop into the debugger when an uncaught exception 
 
1977
    * If ``$BZR_PDB`` is set, pop into the debugger when an uncaught exception 
1968
1978
      occurs.  (Martin Pool)
1969
1979
 
1970
1980
    * Accept 'bzr resolved' (an alias for 'bzr resolve'), as this is
1973
1983
    * New ftp transport support (on ftplib), for ftp:// and aftp:// 
1974
1984
      URLs.  (Daniel Silverstone)
1975
1985
 
1976
 
    * Commit editor temporary files now start with 'bzr_log.', to allow 
 
1986
    * Commit editor temporary files now start with ``bzr_log.``, to allow 
1977
1987
      text editors to match the file name and set up appropriate modes or 
1978
1988
      settings.  (Magnus Therning)
1979
1989
 
1988
1998
      revno should be printed.  (Michael Ellerman)
1989
1999
 
1990
2000
    * bzr cat defaults to printing the last version of the file.  
1991
 
      (#3632, Matthieu Moy)
 
2001
      (Matthieu Moy, #3632)
1992
2002
 
1993
2003
    * New global option 'bzr --lsprof COMMAND' runs bzr under the lsprof 
1994
2004
      profiler.  (Denys Duchier)
2032
2042
    * Fix for sftp transport under windows when using interactive auth
2033
2043
 
2034
2044
    * Show files which are both renamed and modified as such in 'bzr 
2035
 
      status' output.  (#4503, Daniel Silverstone)
 
2045
      status' output.  (Daniel Silverstone, #4503)
2036
2046
 
2037
2047
    * Make annotate cope better with revisions committed without a valid 
2038
2048
      email address.  (Marien Zwart)
2039
2049
 
2040
 
    * Fix representation of tab characters in commit messages.  (Harald 
2041
 
      Meland)
 
2050
    * Fix representation of tab characters in commit messages.
 
2051
      (Harald Meland)
2042
2052
 
2043
 
    * List of plugin directories in BZR_PLUGIN_PATH environment variable is
 
2053
    * List of plugin directories in ``BZR_PLUGIN_PATH`` environment variable is
2044
2054
      now parsed properly under Windows. (Alexander Belchenko)
2045
2055
 
2046
2056
    * Show number of revisions pushed/pulled/merged. (Robey Pointer)
2048
2058
    * Keep a cached copy of the basis inventory to speed up operations 
2049
2059
      that need to refer to it.  (Johan Rydberg, Martin Pool)
2050
2060
 
2051
 
    * Fix bugs in bzr status display of non-ascii characters.  (Martin 
2052
 
      Pool)
 
2061
    * Fix bugs in bzr status display of non-ascii characters.
 
2062
      (Martin Pool)
2053
2063
 
2054
 
    * Remove Makefile.in from default ignore list.  (#6413, Tollef Fog 
2055
 
      Heen, Martin Pool)
 
2064
    * Remove Makefile.in from default ignore list.
 
2065
      (Tollef Fog Heen, Martin Pool, #6413)
2056
2066
 
2057
2067
    * Fix failure in 'bzr added'.  (Nathan McCallum, Martin Pool)
2058
2068
 
2067
2077
 
2068
2078
    * Make tests work even if HOME is not set (Aaron Bentley)
2069
2079
 
2070
 
    * Updated build_tree to use fixed line-endings for tests which read 
 
2080
    * Updated ``build_tree`` to use fixed line-endings for tests which read 
2071
2081
      the file cotents and compare. Make some tests use this to pass under
2072
2082
      Windows. (John Arbash Meinel)
2073
2083
 
2080
2090
 
2081
2091
    * Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
2082
2092
      If adding a new test script please add that to
2083
 
      bzrlib.tests.blackbox.__init__. (Robert Collins)
 
2093
      ``bzrlib.tests.blackbox.__init__``. (Robert Collins)
2084
2094
 
2085
2095
    * Much better error message if one of the test suites can't be 
2086
2096
      imported.  (Martin Pool)
2107
2117
      see bzrlib.transport.TransportTestProviderAdapter() for this.
2108
2118
      (Robert Collins).
2109
2119
 
2110
 
    * TestCase.build_tree uses the transport interface to build trees, pass
2111
 
      in a transport parameter to give it an existing connection.
 
2120
    * ``TestCase.build_tree`` uses the transport interface to build trees,
 
2121
      pass in a transport parameter to give it an existing connection.
2112
2122
      (Robert Collins).
2113
2123
 
2114
2124
  INTERNALS:
2116
2126
    * WorkingTree.pull has been split across Branch and WorkingTree,
2117
2127
      to allow Branch only pulls. (Robert Collins)
2118
2128
 
2119
 
    * commands.display_command now returns the result of the decorated 
 
2129
    * ``commands.display_command`` now returns the result of the decorated 
2120
2130
      function. (Robert Collins)
2121
2131
 
2122
 
    * LocationConfig now has a set_user_option(key, value) call to save
 
2132
    * LocationConfig now has a ``set_user_option(key, value)`` call to save
2123
2133
      a setting in its matching location section (a new one is created
2124
2134
      if needed). (Robert Collins)
2125
2135
 
2126
 
    * Branch has two new methods, get_push_location and set_push_location
2127
 
      to respectively, get and set the push location. (Robert Collins)
 
2136
    * Branch has two new methods, ``get_push_location`` and
 
2137
      ``set_push_location`` to respectively, get and set the push location.
 
2138
      (Robert Collins)
2128
2139
 
2129
 
    * commands.register_command now takes an optional flag to signal that
 
2140
    * ``commands.register_command`` now takes an optional flag to signal that
2130
2141
      the registrant is planning to decorate an existing command. When 
2131
2142
      given multiple plugins registering a command is not an error, and
2132
2143
      the original command class (whether built in or a plugin based one) is
2137
2148
    * Some option parsing errors will raise 'BzrOptionError', allowing 
2138
2149
      granular detection for decorating commands. (Robert Collins).
2139
2150
 
2140
 
    * Branch.read_working_inventory has moved to
2141
 
      WorkingTree.read_working_inventory. This necessitated changes to
2142
 
      Branch.get_root_id, and a move of Branch.set_inventory to WorkingTree
2143
 
      as well. To make it clear that a WorkingTree cannot always be obtained
2144
 
      Branch.working_tree() will raise 'errors.NoWorkingTree' if one cannot
2145
 
      be obtained. (Robert Collins)
 
2151
    * ``Branch.read_working_inventory`` has moved to
 
2152
      ``WorkingTree.read_working_inventory``. This necessitated changes to
 
2153
      ``Branch.get_root_id``, and a move of ``Branch.set_inventory`` to
 
2154
      WorkingTree as well. To make it clear that a WorkingTree cannot always
 
2155
      be obtained ``Branch.working_tree()`` will raise
 
2156
      ``errors.NoWorkingTree`` if one cannot be obtained. (Robert Collins)
2146
2157
 
2147
2158
    * All pending merges operations from Branch are now on WorkingTree.
2148
2159
      (Robert Collins)
2149
2160
 
2150
 
    * The follow operations from Branch have moved to WorkingTree:
2151
 
      add()
2152
 
      commit()
2153
 
      move()
2154
 
      rename_one()
2155
 
      unknowns()
 
2161
    * The follow operations from Branch have moved to WorkingTree::
 
2162
 
 
2163
          add()
 
2164
          commit()
 
2165
          move()
 
2166
          rename_one()
 
2167
          unknowns()
 
2168
 
2156
2169
      (Robert Collins)
2157
2170
 
2158
 
    * bzrlib.add.smart_add_branch is now smart_add_tree. (Robert Collins)
 
2171
    * ``bzrlib.add.smart_add_branch`` is now ``smart_add_tree``. (Robert Collins)
2159
2172
 
2160
2173
    * New "rio" serialization format, similar to rfc-822. (Martin Pool)
2161
2174
 
2162
 
    * Rename selftests to `bzrlib.tests.test_foo`.  (John A Meinel, Martin 
 
2175
    * Rename selftests to ``bzrlib.tests.test_foo``.  (John A Meinel, Martin 
2163
2176
      Pool)
2164
2177
 
2165
 
    * bzrlib.plugin.all_plugins has been changed from an attribute to a 
 
2178
    * ``bzrlib.plugin.all_plugins`` has been changed from an attribute to a 
2166
2179
      query method. (Robert Collins)
2167
2180
 
2168
2181
    * New options to read only the table-of-contents of a weave.  
2171
2184
    * Raise NoSuchFile when someone tries to add a non-existant file.
2172
2185
      (Michael Ellerman)
2173
2186
 
2174
 
    * Simplify handling of DivergedBranches in cmd_pull().
 
2187
    * Simplify handling of DivergedBranches in ``cmd_pull()``.
2175
2188
      (Michael Ellerman)
2176
2189
   
2177
2190
    * Branch.controlfile* logic has moved to lockablefiles.LockableFiles, which
2178
 
      is exposed as Branch().control_files. Also this has been altered with the
 
2191
      is exposed as ``Branch().control_files``. Also this has been altered with the
2179
2192
      controlfile pre/suffix replaced by simple method names like 'get' and
2180
2193
      'put'. (Aaron Bentley, Robert Collins).
2181
2194
 
2182
2195
    * Deprecated functions and methods can now be marked as such using the 
2183
 
      bzrlib.symbol_versioning module. Marked method have their docstring
 
2196
      ``bzrlib.symbol_versioning`` module. Marked method have their docstring
2184
2197
      updated and will issue a DeprecationWarning using the warnings module
2185
2198
      when they are used. (Robert Collins)
2186
2199
 
2187
 
    * bzrlib.osutils.safe_unicode now exists to provide parameter coercion
 
2200
    * ``bzrlib.osutils.safe_unicode`` now exists to provide parameter coercion
2188
2201
      for functions that need unicode strings. (Robert Collins)
2189
2202
 
2190
2203
bzr 0.6 2005-10-28
2225
2238
    * New command 're-sign' which will regenerate the gpg signature for 
2226
2239
      a revision. (Robert Collins)
2227
2240
 
2228
 
    * If you set check_signatures=require for a path in 
2229
 
      ~/.bazaar/branches.conf then bzr will invoke your
2230
 
      gpg_signing_command (defaults to gpg) and record a digital signature
 
2241
    * If you set ``check_signatures=require`` for a path in 
 
2242
      ``~/.bazaar/branches.conf`` then bzr will invoke your
 
2243
      ``gpg_signing_command`` (defaults to gpg) and record a digital signature
2231
2244
      of your commit. (Robert Collins)
2232
2245
 
2233
2246
    * New sftp transport, based on Paramiko.  (Robey Pointer)
2241
2254
    * 'bzr branch' will now set the branch-name to the last component of the
2242
2255
      output directory, if one was supplied.
2243
2256
 
2244
 
    * If the option 'post_commit' is set to one (or more) python function
 
2257
    * If the option ``post_commit`` is set to one (or more) python function
2245
2258
      names (must be in the bzrlib namespace), then they will be invoked
2246
 
      after the commit has completed, with the branch and revision_id as
 
2259
      after the commit has completed, with the branch and ``revision_id`` as
2247
2260
      parameters. (Robert Collins)
2248
2261
 
2249
2262
    * Merge now has a retcode of 1 when conflicts occur. (Robert Collins)
2310
2323
 
2311
2324
    * Plugins are now loaded under bzrlib.plugins, not bzrlib.plugin, and
2312
2325
      they are made available for other plugins to use. You should not 
2313
 
      import other plugins during the __init__ of your plugin though, as 
 
2326
      import other plugins during the ``__init__`` of your plugin though, as 
2314
2327
      no ordering is guaranteed, and the plugins directory is not on the
2315
2328
      python path. (Robert Collins)
2316
2329
 
2323
2336
      Scott James Remnant.  (Martin Pool)
2324
2337
 
2325
2338
    * Branch.remove has been moved to WorkingTree, which has also gained
2326
 
      lock_read, lock_write and unlock methods for convenience. (Robert
2327
 
      Collins)
 
2339
      ``lock_read``, ``lock_write`` and ``unlock`` methods for convenience.
 
2340
      (Robert Collins)
2328
2341
 
2329
 
    * Two decorators, needs_read_lock and needs_write_lock have been added
2330
 
      to the branch module. Use these to cause a function to run in a
 
2342
    * Two decorators, ``needs_read_lock`` and ``needs_write_lock`` have been
 
2343
      added to the branch module. Use these to cause a function to run in a
2331
2344
      read or write lock respectively. (Robert Collins)
2332
2345
 
2333
 
    * Branch.open_containing now returns a tuple (Branch, relative-path),
 
2346
    * ``Branch.open_containing`` now returns a tuple (Branch, relative-path),
2334
2347
      which allows direct access to the common case of 'get me this file
2335
2348
      from its branch'. (Robert Collins)
2336
2349
 
2337
 
    * Transports can register using register_lazy_transport, and they 
 
2350
    * Transports can register using ``register_lazy_transport``, and they 
2338
2351
      will be loaded when first used.  (Martin Pool)
2339
2352
 
2340
 
    * 'pull' has been factored out of the command as WorkingTree.pull().
 
2353
    * 'pull' has been factored out of the command as ``WorkingTree.pull()``.
2341
2354
      A new option to WorkingTree.pull has been added, clobber, which will
2342
2355
      ignore diverged history and pull anyway.
2343
2356
      (Robert Collins)
2344
2357
 
2345
 
    * config.Config has a 'get_user_option' call that accepts an option name.
 
2358
    * config.Config has a ``get_user_option`` call that accepts an option name.
2346
2359
      This will be looked up in branches.conf and bazaar.conf as normal.
2347
2360
      It is intended that this be used by plugins to support options - 
2348
2361
      options of built in programs should have specific methods on the config.
2349
2362
      (Robert Collins)
2350
2363
 
2351
 
    * merge.merge_inner now has tempdir as an optional parameter. (Robert
2352
 
      Collins)
 
2364
    * ``merge.merge_inner`` now has tempdir as an optional parameter.
 
2365
      (Robert Collins)
2353
2366
 
2354
2367
    * Tree.kind is not recorded at the top level of the hierarchy, as it was
2355
2368
      missing on EmptyTree, leading to a bug with merge on EmptyTrees.
2356
2369
      (Robert Collins)
2357
2370
 
2358
 
    * WorkingTree.__del__ has been removed, it was non deterministic and not 
2359
 
      doing what it was intended to. See WorkingTree.__init__ for a comment
 
2371
    * ``WorkingTree.__del__`` has been removed, it was non deterministic and not 
 
2372
      doing what it was intended to. See ``WorkingTree.__init__`` for a comment
2360
2373
      about future directions. (Robert Collins/Martin Pool)
2361
2374
 
2362
2375
    * bzrlib.transport.http has been modified so that only 404 urllib errors
2367
2380
      to apis like 'put', 'get' and 'has'. This is to provide consistent
2368
2381
      behaviour - it operates on url's only. (Robert Collins)
2369
2382
 
2370
 
    * Transports can register using register_lazy_transport, and they 
 
2383
    * Transports can register using ``register_lazy_transport``, and they 
2371
2384
      will be loaded when first used.  (Martin Pool)
2372
2385
 
2373
 
    * 'merge_flex' no longer calls conflict_handler.finalize(), instead that
2374
 
      is called by merge_inner. This is so that the conflict count can be 
 
2386
    * ``merge_flex`` no longer calls ``conflict_handler.finalize()``, instead that
 
2387
      is called by ``merge_inner``. This is so that the conflict count can be 
2375
2388
      retrieved (and potentially manipulated) before returning to the caller
2376
 
      of merge_inner. Likewise 'merge' now returns the conflict count to the
 
2389
      of ``merge_inner``. Likewise 'merge' now returns the conflict count to the
2377
2390
      caller. (Robert Collins)
2378
2391
 
2379
 
    * 'revision.revision_graph can handle having only partial history for
 
2392
    * ``revision.revision_graph`` can handle having only partial history for
2380
2393
      a revision - that is no revisions in the graph with no parents.
2381
2394
      (Robert Collins).
2382
2395
 
2383
 
    * New builtins.branch_files uses the standard file_list rules to produce
2384
 
      a branch and a list of paths, relative to that branch (Aaron Bentley)
 
2396
    * New ``builtins.branch_files`` uses the standard ``file_list`` rules to
 
2397
      produce a branch and a list of paths, relative to that branch
 
2398
      (Aaron Bentley)
2385
2399
 
2386
2400
    * New TestCase.addCleanup facility.
2387
2401
 
2388
 
    * New bzrlib.version_info tuple (similar to sys.version_info), which can
2389
 
      be used by programs importing bzrlib.
 
2402
    * New ``bzrlib.version_info`` tuple (similar to ``sys.version_info``),
 
2403
      which can be used by programs importing bzrlib.
2390
2404
 
2391
2405
  BUG FIXES:
2392
2406
 
2449
2463
      bzr will correct this when it encounters it. Fixed by
2450
2464
      Robert Collins
2451
2465
 
2452
 
    * HTTP tests now force off the use of http_proxy for the duration.
 
2466
    * HTTP tests now force off the use of ``http_proxy`` for the duration.
2453
2467
      Contributed by Gustavo Niemeyer.
2454
2468
 
2455
2469
    * Fix problems in merging weave-based branches that have 
2508
2522
      bzr branch it cannot understand. This allows for precise
2509
2523
      handling of such circumstances.
2510
2524
 
2511
 
    * Remove RevisionReference class; Revision.parent_ids is now simply a
2512
 
      list of their ids and parent_sha1s is a list of their corresponding
 
2525
    * Remove RevisionReference class; ``Revision.parent_ids`` is now simply a
 
2526
      list of their ids and ``parent_sha1s`` is a list of their corresponding
2513
2527
      sha1s (for old branches only at the moment.)
2514
2528
 
2515
2529
    * New method-object style interface for Commit() and Fetch().
2516
2530
 
2517
 
    * Renamed Branch.last_patch() to Branch.last_revision(), since
 
2531
    * Renamed ``Branch.last_patch()`` to ``Branch.last_revision()``, since
2518
2532
      we call them revisions not patches.
2519
2533
 
2520
 
    * Move copy_branch to bzrlib.clone.copy_branch.  The destination
 
2534
    * Move ``copy_branch`` to ``bzrlib.clone.copy_branch``.  The destination
2521
2535
      directory is created if it doesn't exist.
2522
2536
 
2523
2537
    * Inventories now identify the files which were present by 
2533
2547
      bzr installed by 'bzr selftest'.
2534
2548
 
2535
2549
    * 'bzr selftest' command-line arguments can now be partial ids
2536
 
      of tests to run, e.g. 'bzr selftest test_weave'
 
2550
      of tests to run, e.g. ``bzr selftest test_weave``
2537
2551
 
2538
2552
      
2539
2553
bzr 0.0.9 2005-09-23
2584
2598
      get added when you add a file in the directory.  Contributed by
2585
2599
      Michael Ellerman.
2586
2600
 
2587
 
    * Ignore .DS_Store (contains Mac metadata) by default.  Patch from
2588
 
      Nir Soffer.
 
2601
    * Ignore ``.DS_Store`` (contains Mac metadata) by default.
 
2602
      (Nir Soffer)
2589
2603
 
2590
 
    * If you set BZR_EDITOR in the environment, it is checked in
 
2604
    * If you set ``BZR_EDITOR`` in the environment, it is checked in
2591
2605
      preference to EDITOR and the config file for the interactive commit
2592
2606
      editing program. Related to this is a bugfix where a missing program
2593
2607
      set in EDITOR would cause editing to fail, now the fallback program
2674
2688
  NEW FEATURES:
2675
2689
 
2676
2690
    * Python plugins, automatically loaded from the directories on
2677
 
      BZR_PLUGIN_PATH or ~/.bzr.conf/plugins by default.
 
2691
      ``BZR_PLUGIN_PATH`` or ``~/.bzr.conf/plugins`` by default.
2678
2692
 
2679
2693
    * New 'bzr mkdir' command.
2680
2694
 
2712
2726
    * Moved plugins directory to bzrlib/, so that there's a standard
2713
2727
      plugin directory which is not only installed with bzr itself but
2714
2728
      is also available when using bzr from the development tree.
2715
 
      BZR_PLUGIN_PATH and DEFAULT_PLUGIN_PATH are then added to the
 
2729
      ``BZR_PLUGIN_PATH`` and ``DEFAULT_PLUGIN_PATH`` are then added to the
2716
2730
      standard plugins directory.
2717
2731
 
2718
2732
    * When exporting to a tarball with ``bzr export --format tgz``, put 
2864
2878
 
2865
2879
    * Better help messages for many commands.
2866
2880
 
2867
 
    * Expose bzrlib.open_tracefile() to start the tracefile; until
 
2881
    * Expose ``bzrlib.open_tracefile()`` to start the tracefile; until
2868
2882
      this is called trace messages are just discarded.
2869
2883
 
2870
 
    * New internal function find_touching_revisions() and hidden
 
2884
    * New internal function ``find_touching_revisions()`` and hidden
2871
2885
      command touching-revisions trace the changes to a given file.
2872
2886
 
2873
 
    * Simpler and faster compare_inventories() function.
 
2887
    * Simpler and faster ``compare_inventories()`` function.
2874
2888
 
2875
 
    * bzrlib.open_tracefile() takes a tracefilename parameter.
 
2889
    * ``bzrlib.open_tracefile()`` takes a tracefilename parameter.
2876
2890
 
2877
2891
    * New AtomicFile class.
2878
2892
 
2922
2936
 
2923
2937
    * Some Unicode/locale fixes.
2924
2938
 
2925
 
    * Partial workaround for difflib.unified_diff not handling
 
2939
    * Partial workaround for ``difflib.unified_diff`` not handling
2926
2940
      trailing newlines properly.
2927
2941
 
2928
2942