29
29
like bundles can. (Aaron Bentley)
31
31
* Sending the SIGQUIT signal to bzr, which can be done on Unix by
32
pressing Control-Backslash, drops bzr into a debugger. Type `c`
32
pressing Control-Backslash, drops bzr into a debugger. Type ``'c'``
33
33
to continue. This can be disabled by setting the environment variable
34
BZR_SIGQUIT_PDB=0. (Martin Pool)
34
``BZR_SIGQUIT_PDB=0``. (Martin Pool)
36
36
* selftest now supports --list-only to list tests instead of running
37
37
them. (Ian Clatworthy)
72
72
(Erik Bågfors, Alexander Belchenko)
74
74
* ``bzr help`` provides a clearer message when a help topic cannot be
75
found (fixes bug 107656). (Robert Collins)
75
found. (Robert Collins, #107656)
77
77
* ``bzr help`` now accepts optional prefixes for command help. The help
78
78
for all commands can now be found at ``bzr help commands/COMMANDNAME``
83
83
* ``bzr help PLUGINNAME`` will now return the module docstring from the
84
plugin PLUGINNAME fixing bug 50408. (Robert Collins)
84
plugin PLUGINNAME. (Robert Collins, #50408)
86
86
* New help topic ``urlspec`` which lists the availables transports.
87
87
(Goffredo Baroncelli)
89
* doc/server.txt updated to document the default bzr:// port (fixes
90
#107125) and also update the blurb about the hpss' current status.
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).
93
93
* ``bzr serve`` now listens on interface 0.0.0.0 by default, making it
94
94
serve out to the local LAN (and anyone in the world that can reach the
104
104
handling. (Robert Collins, Martin Pool, Andrew Bennetts)
106
106
* The smart protocol over HTTP client has been changed to always post to the
107
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
108
108
HTTP servers to only have to pass URLs ending in .bzr/smart to the smart
109
server handler, and not arbitrary .bzr/*/smart URLs. (Andrew Bennetts)
109
server handler, and not arbitrary ``.bzr/*/smart`` URLs. (Andrew Bennetts)
111
111
* digest authentication is now supported for proxies and HTTP by the urllib
112
112
based http implementation. Tested against Apache 2.0.55 and Squid
130
130
requires an explicit action using a ChrootServer.
131
131
(Robert Collins, Andrew Bennetts)
133
* 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,
134
134
rather than fixing bug #96847. (Aaron Bentley)
136
* WorkingTree.apply_inventory_delta provides a better alternative to
137
WorkingTree._write_inventory. (Aaron Bentley)
136
* ``WorkingTree.apply_inventory_delta`` provides a better alternative to
137
``WorkingTree._write_inventory``. (Aaron Bentley)
139
* Convenience method TestCase.expectFailure ensures that known failures
139
* Convenience method ``TestCase.expectFailure`` ensures that known failures
140
140
do not silently pass. (Aaron Bentley)
142
* Transport.local_abspath now raises NotLocalUrl rather than
143
TransportNotPossible. (Martin Pool, Ian Clatworthy)
142
* ``Transport.local_abspath`` now raises ``NotLocalUrl`` rather than
143
``TransportNotPossible``. (Martin Pool, Ian Clatworthy)
145
145
* New SmartServer hooks facility. There are two initial hooks documented
146
in bzrlib.transport.smart.SmartServerHooks. The two initial hooks allow
146
in ``bzrlib.transport.smart.SmartServerHooks``. The two initial hooks allow
147
147
plugins to execute code upon server startup and shutdown.
148
148
(Robert Collins).
170
170
* Renamed SmartTransport (and subclasses like SmartTCPTransport) to
171
171
RemoteTransport (and subclasses to RemoteTCPTransport, etc). This is more
172
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
173
173
it's not really a "smart" transport, just one that does file operations
174
174
via remote procedure calls. (Andrew Bennetts)
178
178
instances of those objects can share a lock if it has the right token.
179
179
(Andrew Bennetts, Robert Collins)
181
* New method 'get_branch_reference' on 'BzrDir' allows the detection of
181
* New method ``get_branch_reference`` on ``BzrDir`` allows the detection of
182
182
branch references - which the smart server component needs.
184
184
* The Repository API ``make_working_trees`` is now permitted to return
194
194
* ``bzrlib.help`` now delegates to the Command class for Command specific
195
195
help. (Robert Collins)
197
* New class 'TransportListRegistry', derived from the Registry class, which
197
* New class ``TransportListRegistry``, derived from the Registry class, which
198
198
simplifies tracking the available Transports. (Goffredo Baroncelli)
200
200
* New function ``Branch.get_revision_id_to_revno_map`` which will
209
209
str() of 'foo' but a repr of 'KeyError('foo')' which is much more
210
210
useful. (Robert Collins)
212
* urlutils.normalize_url now unescapes unreserved characters, such as "~".
212
* ``urlutils.normalize_url`` now unescapes unreserved characters, such as "~".
213
213
(Andrew Bennetts)
217
217
* Don't fail bundle selftest if email has 'two' embedded.
218
(#98510, Ian Clatworthy)
218
(Ian Clatworthy, #98510)
220
220
* Remove ``--verbose`` from ``bzr bundle``. It didn't work anyway.
221
221
(Robert Widhopf-Fenk, #98591)
223
223
* Remove ``--basis`` from the checkout/branch commands - it didn't work
224
properly and is no longer beneficial. Fixes #53675 and #43486.
224
properly and is no longer beneficial.
225
(Robert Collins, #53675, #43486)
227
227
* Don't produce encoding error when adding duplicate files.
281
281
* New test method ``reduceLockdirTimeout`` to drop the default (ui-centric)
282
282
default time down to one suitable for tests. (Andrew Bennetts)
284
* Add new vfs_transport_factory attribute on tests which provides the
284
* Add new ``vfs_transport_factory`` attribute on tests which provides the
285
285
common vfs backing for both the readonly and readwrite transports.
286
286
This allows the RemoteObject tests to back onto local disk or memory,
287
and use the existing transport_server attribute all tests know about
287
and use the existing ``transport_server`` attribute all tests know about
288
288
to be the smart server transport. This in turn allows tests to
289
289
differentiate between 'transport to access the branch', and
290
290
'transport which is a VFS' - which matters in Remote* tests.
291
291
(Robert Collins, Andrew Bennetts)
293
293
* The ``make_branch_and_tree`` method for tests will now create a
294
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
295
295
a LocalURLServer. (Robert Collins, Andrew Bennetts)
297
297
* Branch implementation tests have been audited to ensure that all urls
303
303
(Robert Collins, Andrew Bennetts)
305
305
* Mark bzrlib.tests and bzrlib.tests.TestUtil as providing assertFOO helper
306
functions by adding a __unittest global attribute. (Robert Collins,
306
functions by adding a ``__unittest`` global attribute. (Robert Collins,
307
307
Andrew Bennetts, Martin Pool, Jonathan Lange)
309
309
* Refactored proxy and authentication handling to simplify the
338
338
performances. The http redirections are not followed anymore by
339
339
default, instead a RedirectRequested exception is raised. For bzrlib
340
340
users needing to follow http redirections anyway,
341
bzrlib.transport.do_catching_redirections provide an easy transition
341
``bzrlib.transport.do_catching_redirections`` provide an easy transition
347
347
lock to an OS write lock. Linux can do this without unlocking, Win32
348
348
needs to unlock in between. (John Arbash Meinel)
350
* New parameter ``recommend_upgrade`` to BzrDir.open_workingtree
350
* New parameter ``recommend_upgrade`` to ``BzrDir.open_workingtree``
351
351
to silence (when false) warnings about opening old formats.
382
382
* ``bzr commit`` with a kind change was failing to update the
383
383
last-changed-revision for directories. The
384
InventoryDirectory._unchanged only looked at the parent_id and name,
384
InventoryDirectory._unchanged only looked at the ``parent_id`` and name,
385
385
ignoring the fact that the kind could have changed, too.
386
386
(John Arbash Meinel, #90111)
456
455
* For users of bzrlib: Two major changes have been made to the working tree
457
456
api in bzrlib. The first is that many methods and attributes, including
458
457
the inventory attribute, are no longer valid for use until one of
459
lock_read/lock_write/lock_tree_write has been called, and become invalid
460
again after unlock is called. This has been done to improve performance
461
and correctness as part of the dirstate development. (Robert Collins,
462
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
462
(Robert Collins, John A Meinel, Martin Pool, and others).
464
464
* For users of bzrlib: The attribute 'tree.inventory' should be considered
465
465
readonly. Previously it was possible to directly alter this attribute, or
509
509
directory. (Martin Pool)
511
511
* Branch format 6: smaller, and potentially faster than format 5. Supports
512
"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,
513
513
except by being added to. Stores policy settings in
514
514
".bzr/branch/branch.conf".
516
* 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
517
517
view and revnos are always consistent. Either create the branch using
518
518
"bzr init --append-revisions-only" or edit the config file as descriped
519
519
in docs/configuration.txt.
529
529
upgrade, run ``bzr upgrade --dirstate-tags`` in your branch and
530
530
repositories. (Martin Pool)
532
* The bzr:// transport now has a well-known port number, 4155, which it will
533
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)
535
535
* Bazaar now looks for user-installed plugins before looking for site-wide
536
536
plugins. (Jonathan Lange)
556
556
(John Arbash Meinel)
558
558
* New easier to use Branch hooks facility. There are five initial hooks,
559
all documented in bzrlib.branch.BranchHooks.__init__ - 'set_rh',
560
'post_push', 'post_pull', 'post_commit', 'post_uncommit'. These hooks
561
fire after the matching operation on a branch has taken place, and were
562
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)
564
565
* New method ``Branch.push()`` which should be used when pushing from a
565
566
branch as it makes performance and policy decisions to match the UI
573
574
(Robert Collins, Martin Pool)
575
* 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
576
577
optimization of requests for both the number of revisions and the last
577
578
revision of a branch with smartservers and potentially future branch
578
579
formats. (Wouter van Heyst, Robert Collins)
580
* Allow 'import bzrlib.plugins.NAME' to work when the plugin NAME has not
581
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
582
583
other for code reuse without requiring users to perform file-renaming
583
584
gymnastics. (Robert Collins)
585
* New Repository method 'gather_stats' for statistic data collection.
586
* New Repository method ``'gather_stats'`` for statistic data collection.
586
587
This is expected to grow to cover a number of related uses mainly
587
588
related to bzr info. (Robert Collins)
639
640
* Fix problem with UNC paths on Windows 98. (Alexander Belchenko, #84728)
641
* Searching location of CA bundle for PyCurl in env variable (CURL_CA_BUNDLE),
642
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)
644
646
* ``bzr init`` works with unicode argument LOCATION.
645
647
(Alexander Belchenko, #85599)
647
* Raise DependencyNotPresent if pycurl do not support https. (Vincent
649
* Raise ``DependencyNotPresent`` if pycurl do not support https.
650
(Vincent Ladeuil, #85305)
650
652
* Invalid proxy env variables should not cause a traceback.
651
653
(Vincent Ladeuil, #87765)
755
757
* Test suite ends cleanly on Windows. (Vincent Ladeuil)
757
* When 'encoding_type' attribute of class Command is equal to 'exact',
759
* When ``encoding_type`` attribute of class Command is equal to 'exact',
758
760
force sys.stdout to be a binary stream on Windows, and therefore
759
761
keep exact line-endings (without LF -> CRLF conversion).
760
762
(Alexander Belchenko)
778
780
``--show-ids`` to display the original revision ids, rather than
779
781
revision numbers and committer names. (John Arbash Meinel, #75637)
781
* bzr now supports Win32 UNC path (e.g. \\HOST\path).
783
* bzr now supports Win32 UNC path (e.g. ``\HOST\path``.
782
784
(Alexander Belchenko, #57869)
784
786
* Win32-specific: output of cat, bundle and diff commands don't mangle
866
868
* ``MemoryTransport.list_dir()`` would strip the first character for
867
869
files or directories in root directory. (John Arbash Meinel)
869
* New method 'get_branch_reference' on 'BzrDir' allows the detection of
871
* New method ``get_branch_reference`` on 'BzrDir' allows the detection of
870
872
branch references - which the smart server component needs.
872
874
* New ``ChrootTransportDecorator``, accessible via the ``chroot+`` url
878
* Now _KnitIndex properly decode revision ids when loading index data.
879
And optimize the knit index parsing code. (Dmitry Vasiliev, John
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)
882
884
* ``bzrlib/bzrdir.py`` was directly referencing ``bzrlib.workingtree``,
883
885
without importing it. This prevented ``bzr upgrade`` from working
898
900
line (for the urllib implementation). Don't request already
899
901
known passwords (Vincent Ladeuil, #42383, #44647, #48527)
901
* _KnitIndex.add_versions() dictionary compresses revision ids as they
903
* ``_KnitIndex.add_versions()`` dictionary compresses revision ids as they
902
904
are added. This fixes bug where fetching remote revisions records
903
them as full references rather than integers. (John Arbash Meinel,
905
them as full references rather than integers.
906
(John Arbash Meinel, #64789)
906
908
* ``bzr ignore`` strips trailing slashes in patterns.
907
909
Also ``bzr ignore`` rejects absolute paths. (Kent Gibson, #4559)
967
969
* New Registry class to provide name-to-object registry-like support,
968
970
for example for schemes where plugins can register new classes to
969
971
do certain tasks (e.g. log formatters). Also provides lazy registration
970
to allow modules to be loaded on request. (John Arbash Meinel, Adeodato
972
to allow modules to be loaded on request.
973
(John Arbash Meinel, Adeodato Simó)
973
975
API INCOMPATABILITY:
996
998
* ``WorkingTree.set_root_id(None)`` is now deprecated. Please
997
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.
998
1000
(Robert Collins, John Arbash Meinel)
1000
1002
* New method ``WorkingTree.flush()`` which will write the current memory
1001
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
1002
1004
no longer trash the current tree inventory if it has been modified within
1003
1005
the current lock, and the tree will now ``flush()`` automatically on
1004
1006
``unlock()``. ``WorkingTree.set_root_id()`` has been updated to take
1105
1107
modules will not actually be imported if they are not used.
1106
1108
(John Arbash Meinel)
1108
* 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
1109
1111
transport which will be used with the upcoming high-performance smart
1110
1112
server. The new command ``bzr serve`` will invoke bzr in server mode,
1111
1113
which processes these requests. (Andrew Bennetts, Robert Collins, Martin
1150
1152
* Handle when LANG is not recognized by python. Emit a warning, but
1151
1153
just revert to using 'ascii'. (John Arbash Meinel, #35392)
1153
* 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.
1154
1156
(John Arbash Meinel)
1156
1158
* Skip specific tests when the dependencies aren't met. This includes
1182
1184
than having HOME set to the same location as the working directory.
1183
1185
(John Arbash Meinel)
1185
* run_bzr_subprocess() can take an optional 'env_changes={}' parameter,
1187
* ``run_bzr_subprocess()`` can take an optional ``env_changes={}`` parameter,
1186
1188
which will update os.environ inside the spawned child. It also can
1187
take a 'universal_newlines=True', which helps when checking the output
1189
take a ``universal_newlines=True``, which helps when checking the output
1188
1190
of the command. (John Arbash Meinel)
1190
1192
* Refactor SFTP vendors to allow easier re-use when ssh is used.
1191
1193
(Andrew Bennetts)
1193
* Transport.list_dir() and Transport.iter_files_recursive() should always
1195
* ``Transport.list_dir()`` and ``Transport.iter_files_recursive()`` should always
1194
1196
return urlescaped paths. This is now tested (there were bugs in a few
1195
1197
of the transports) (Andrew Bennetts, David Allouche, John Arbash Meinel)
1197
* New utility function symbol_versioning.deprecation_string. Returns the
1199
* New utility function ``symbol_versioning.deprecation_string``. Returns the
1198
1200
formatted string for a callable, deprecation format pair. (Robert Collins)
1200
1202
* New TestCase helper applyDeprecated. This allows you to call a callable
1202
1204
the deprecation format string issued for it. (Robert Collins)
1204
1206
* Transport.append and Transport.put have been deprecated in favor of
1205
.append_bytes, .append_file, .put_bytes, and .put_file. This removes the
1206
ambiguity in what type of object the functions take.
1207
Transport.non_atomic_put_{bytes,file} has also been added. Which works
1208
similarly to Transport.append() except for SFTP, it doesn't have a round
1209
trip when opening the file. Also, it provides functionality for creating
1210
a parent directory when trying to create a file, rather than raise
1211
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.
1212
1215
(John Arbash Meinel)
1214
1217
* WorkingTree has a new api ``unversion`` which allow the unversioning of
1215
1218
entries by their file id. (Robert Collins)
1217
* WorkingTree.pending_merges is deprecated. Please use the get_parent_ids
1218
(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)
1220
* 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
1221
1224
read rather than write. This is appropriate for actions which only need
1222
1225
the branch data for reference rather than mutation. A new decorator
1223
needs_tree_write_lock is provided in the workingtree module. Like the
1224
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
1225
1228
declaration of the locking requirements of a function to ensure that
1226
1229
a lock is taken out for casual scripts. (Robert Collins, #54107)
1242
1245
* WorkingTree has a new parent class MutableTree which represents the
1243
1246
specialisations of Tree which are able to be altered. (Robert Collins)
1245
* 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
1246
1249
mutate the tree and its contents. (Robert Collins)
1248
1251
* Transport behaviour at the root of the URL is now defined and tested.
1253
1256
* New test helper classs MemoryTree. This is typically accessed via
1254
1257
``self.make_branch_and_memory_tree()`` in test cases. (Robert Collins)
1256
* Add start_bzr_subprocess and stop_bzr_subprocess to allow test code to
1257
continue running concurrently with a subprocess of bzr. (Andrew Bennetts,
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)
1260
1263
* Add a new method ``Transport.get_smart_client()``. This is provided to
1261
1264
allow upgrades to a richer interface than the VFS one provided by
1270
1273
* 'bzr add --file-ids-from' can be used to specify another path to use
1271
1274
for creating file ids, rather than generating all new ones. Internally,
1272
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
1273
1276
will be used, rather than having bzrlib generate new ones.
1274
1277
(John Arbash Meinel, #55781)
1289
1292
* Help diffutils 2.8.4 get along with binary tests (Marien Zwart: #57614)
1291
1294
* Change LockDir so that if the lock directory doesn't exist when
1292
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.
1293
1296
(John Arbash Meinel, #56974)
1295
1298
* ``bzr uncommit`` preserves pending merges. (John Arbash Meinel, #57660)
1310
1313
* Handle TZ=UTC properly when reading/writing revisions.
1311
1314
(John Arbash Meinel, #55783, #56290)
1313
* 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,
1314
1317
(passing text to sign in on stdin). (John Arbash Meinel, #54468)
1316
1319
* External diff does the right thing for binaries even in foreign
1317
1320
languages. (John Arbash Meinel, #56307)
1319
1322
* Testament handles more cases when content is unicode. Specific bug was
1320
in handling of revision properties. (John Arbash Meinel, Holger Krekel,
1323
in handling of revision properties.
1324
(John Arbash Meinel, Holger Krekel, #54723)
1323
1326
* The bzr selftest was failing on installed versions due to a bug in a new
1324
1327
test helper. (John Arbash Meinel, Robert Collins, #58057)
1342
1345
* The hard-coded built-in ignore rules have been removed. There are
1343
1346
now two rulesets which are enforced. A user global one in
1344
~/.bazaar/ignore which will apply to every tree, and the tree
1347
``~/.bazaar/ignore`` which will apply to every tree, and the tree
1345
1348
specific one '.bzrignore'.
1346
~/.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
1347
1350
a more conservative list than the old default.
1348
1351
This fixes bugs with default rules being enforced no matter what.
1349
1352
The old list of ignore rules from bzr is available by
1365
1368
proper printing when the user's terminal encoding cannot display
1366
1369
the path of a file that has been versioned.
1367
1370
``bzr branch`` can take a target URL rather than only a local directory.
1368
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,
1369
1372
and normalize the parent based on root, allowing access across
1370
1373
different transports. (John Arbash Meinel, Wouter van Heyst, Martin Pool)
1371
1374
(Malone #48906, #42699, #40675, #5281, #3980, #36363, #43689,
1436
1439
Also updates things like 'http+pycurl://' if pycurl is not present.
1437
1440
(John Arbash Meinel) (Malone #47821, #52204)
1439
* 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.
1440
1443
Can be set to 'none' or 'dummy' to disable the progress bar, 'dots' or
1441
1444
'tty' to create the respective type. (John Arbash Meinel, #42197, #51107)
1470
1473
* Fix shadowed definition of TestLocationConfig that caused some
1471
tests not to run. (#32587, Erik Bågfors, Michael Ellerman,
1475
(Erik Bågfors, Michael Ellerman, Martin Pool, #32587)
1474
1477
* Fix unnecessary requirement of sign-my-commits that it be run from
1475
1478
a working directory. (Martin Pool, Robert Collins)
1477
1480
* 'bzr push location' will only remember the push location if it succeeds
1478
in connecting to the remote location. (#49742, John Arbash Meinel)
1481
in connecting to the remote location. (John Arbash Meinel, #49742)
1480
1483
* 'bzr revert' no longer toggles the executable bit on win32
1481
(#45010, John Arbash Meinel)
1484
(John Arbash Meinel, #45010)
1483
1486
* Handle broken pipe under win32 correctly. (John Arbash Meinel)
1495
1498
* File-ids containing single- or double-quotes are handled correctly by
1496
push. (#52227, Aaron Bentley)
1499
push. (Aaron Bentley, #52227)
1498
1501
* Normalize unicode filenames to ensure cross-platform consistency.
1499
1502
(John Arbash Meinel, #43689)
1506
1509
* Bundles can properly read binary files with a plain '\r' in them.
1507
1510
(John Arbash Meinel, #51927)
1509
* Tuning iter_entries() to be more efficient (John Arbash Meinel, #5444)
1512
* Tuning ``iter_entries()`` to be more efficient (John Arbash Meinel, #5444)
1511
1514
* Lots of win32 fixes (the test suite passes again).
1512
1515
(John Arbash Meinel, #50155)
1559
1562
them to reduce the threshold where N^2 behaviour occurs in operations
1560
1563
like status. (Jan Hudec, Robert Collins).
1562
* Appending to bzrlib.DEFAULT_IGNORE is now deprecated. Instead, use
1565
* Appending to ``bzrlib.DEFAULT_IGNORE`` is now deprecated. Instead, use
1563
1566
one of the add functions in bzrlib.ignores. (John Arbash Meinel)
1565
1568
* 'bzr push' should only push the ancestry of the current revision, not
1566
1569
all of the history in the repository. This is especially important for
1567
1570
shared repositories. (John Arbash Meinel)
1569
* bzrlib.delta.compare_trees now iterates in alphabetically sorted order,
1572
* ``bzrlib.delta.compare_trees`` now iterates in alphabetically sorted order,
1570
1573
rather than randomly walking the inventories. (John Arbash Meinel)
1572
1575
* Doctests are now run in temporary directories which are cleaned up when
1577
1580
so that it can be specialized in ways that are useful or efficient for
1578
1581
different formats. (Martin Pool, Robert Collins)
1580
* Deprecate Repository.all_revision_ids; most methods don't really need
1583
* Deprecate ``Repository.all_revision_ids``; most methods don't really need
1581
1584
the global revision graph but only that part leading up to a particular
1582
1585
revision. (Martin Pool, Robert Collins)
1584
* Add a BzrDirFormat control_formats list which allows for control formats
1587
* Add a BzrDirFormat ``control_formats`` list which allows for control formats
1585
1588
that do not use '.bzr' to store their data - i.e. '.svn', '.hg' etc.
1586
1589
(Robert Collins, Jelmer Vernooij).
1588
* 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.
1589
1592
Uses subprocess instead of spawnvp.
1590
(#4047, #48914, James Henstridge, John Arbash Meinel)
1593
(James Henstridge, John Arbash Meinel, #4047, #48914)
1592
1595
* New command line option '--profile-imports', which will install a custom
1593
1596
importer to log time to import modules and regex compilation time to
1594
1597
sys.stderr (John Arbash Meinel)
1596
* 'EmptyTree' is now deprecated, please use repository.revision_tree(None)
1599
* 'EmptyTree' is now deprecated, please use ``repository.revision_tree(None)``
1597
1600
instead. (Robert Collins)
1599
1602
* "RevisionTree" is now in bzrlib/revisiontree.py. (Robert Collins)
1617
1620
* Separate functionality from assert statements as they are skipped in
1618
1621
optimized mode of python. Add the same check to pending merges.
1619
(#44443, Olaf Conradi)
1622
(Olaf Conradi, #44443)
1623
1626
* Do not show the None revision in output of bzr ancestry. (Olaf Conradi)
1625
1628
* Add info on standalone branches without a working tree.
1626
(#44155, Olaf Conradi)
1629
(Olaf Conradi, #44155)
1628
* Fix bug in knits when raising InvalidRevisionId. (#44284, Olaf Conradi)
1631
* Fix bug in knits when raising InvalidRevisionId. (Olaf Conradi, #44284)
1632
1635
* Make editor invocation comply with Debian Policy. First check
1633
1636
environment variables VISUAL and EDITOR, then try editor from
1634
1637
alternatives system. If that all fails, fall back to the pre-defined
1635
list of editors. (#42904, Olaf Conradi)
1638
list of editors. (Olaf Conradi, #42904)
1693
1696
* Sftp paths can now be relative, or local, according to the lftp
1694
convention. Paths now take the form:
1695
sftp://user:pass@host:port/~/relative/path
1697
sftp://user:pass@host:port/absolute/path
1697
convention. Paths now take the form::
1699
sftp://user:pass@host:port/~/relative/path
1701
sftp://user:pass@host:port/absolute/path
1699
1703
* The FTP transport now tries to reconnect after a temporary
1700
1704
failure. ftp put is made atomic. (Matthieu Moy)
1703
1707
reuses them to avoid multiple connections to the same host (like
1704
1708
sftp did). (Daniel Silverstone)
1706
* The bzr_man.py file has been removed. To create the man page now,
1707
use ./generate_docs.py man. The new program can also create other files.
1708
Run "python generate_docs.py --help" for usage information. (Hans
1709
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).
1711
* Man Page now gives full help (James Blackwell). Help also updated to
1712
reflect user config now being stored in .bazaar (Hans Ulrich
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)
1715
1719
* It's now possible to set aliases in bazaar.conf (Erik Bågfors)
1717
1721
* Pull now accepts a --revision argument (Erik Bågfors)
1719
* '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
1720
1724
line. You can now use the following command to sign all of your old
1805
1809
* Commit is now verbose by default, and shows changed filenames and the
1806
1810
new revision number. (Robert Collins, Martin Pool)
1808
* Unify 'mv', 'move', 'rename'. (#5379, Matthew Fuller)
1812
* Unify 'mv', 'move', 'rename'. (Matthew Fuller, #5379)
1810
* 'bzr -h' shows help. (#35940, Martin Pool, Ian Bicking)
1814
* 'bzr -h' shows help. (Martin Pool, Ian Bicking, #35940)
1812
1816
* Make 'pull' and 'push' remember location on failure using --remember.
1834
1838
* Using Tree Transform for merge, revert, tree-building
1836
* WorkingTree.create, Branch.create, WorkingTree.create_standalone,
1837
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
1838
1842
replacement API's. (Robert Collins)
1840
1844
* New BzrDir class represents the .bzr control directory and manages
1844
1848
Repository actions and allows for clean selection of optimised code
1845
1849
paths. (Robert Collins)
1847
* bzrlib.fetch.fetch and bzrlib.fetch.greedy_fetch are now deprecated,
1848
please use 'branch.fetch' or 'repository.fetch' depending on your
1849
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)
1851
* 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
1852
1856
be checked, if you need to determine whether a given callable is
1853
1857
deprecated at runtime. (Robert Collins)
1855
1859
* Progress bars are now nested - see
1856
bzrlib.ui.ui_factory.nested_progress_bar. (Robert Collins, Robey Pointer)
1860
``bzrlib.ui.ui_factory.nested_progress_bar``.
1861
(Robert Collins, Robey Pointer)
1858
* New API call get_format_description() for each type of format.
1863
* New API call ``get_format_description()`` for each type of format.
1861
* Changed branch.set_parent() to accept None to remove parent.
1866
* Changed ``branch.set_parent()`` to accept None to remove parent.
1864
1869
* Deprecated BzrError AmbiguousBase. (Olaf Conradi)
1866
1871
* WorkingTree.branch is now a read only property. (Robert Collins)
1868
* bzrlib.ui.text.TextUIFactory now accepts a bar_type parameter which
1873
* bzrlib.ui.text.TextUIFactory now accepts a ``bar_type`` parameter which
1869
1874
can be None or a factory that will create a progress bar. This is
1870
1875
useful for testing or for overriding the bzrlib.progress heuristic.
1871
1876
(Robert Collins)
1873
* 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
1874
1879
transport. (Olaf Conradi)
1876
1881
* Repository.reconcile now takes a thorough keyword parameter to allow
1877
1882
requesting an indepth reconciliation, rather than just a data-loss
1878
1883
check. (Robert Collins)
1880
* bzrlib.ui.ui_factory protocol now supports 'get_boolean' to prompt
1885
* ``bzrlib.ui.ui_factory protocol`` now supports ``get_boolean`` to prompt
1881
1886
the user for yes/no style input. (Robert Collins)
1885
1890
* SFTP tests now shortcut the SSH negotiation, reducing test overhead
1886
1891
for testing SFTP protocol support. (Robey Pointer)
1888
* Branch formats are now tested once per implementation (see bzrlib.
1889
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
1890
1895
interface tests, and has been followed up with working tree,
1891
1896
repository and BzrDir tests. (Robert Collins)
1917
1922
versioned directories, now use "bzr inventory --kind directory".
1918
1923
(Johan Rydberg)
1920
* Under Windows configuration directory is now %APPDATA%\bazaar\2.0
1925
* Under Windows configuration directory is now ``%APPDATA%\bazaar\2.0``
1921
1926
by default. (John Arbash Meinel)
1923
* The parent of Bzr configuration directory can be set by BZR_HOME
1924
environment variable. Now the path for it is searched in BZR_HOME, then
1925
in HOME. Under Windows the order is: BZR_HOME, APPDATA (usually
1926
points to C:\Documents and Settings\User Name\Application Data), HOME.
1927
(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)
1929
1934
* Plugins with the same name in different directories in the bzr plugin
1930
1935
path are no longer loaded: only the first successfully loaded one is
1969
1974
* Added branch nicks, new nick command, printing them in log output.
1970
1975
(Aaron Bentley)
1972
* 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
1973
1978
occurs. (Martin Pool)
1975
1980
* Accept 'bzr resolved' (an alias for 'bzr resolve'), as this is
1978
1983
* New ftp transport support (on ftplib), for ftp:// and aftp://
1979
1984
URLs. (Daniel Silverstone)
1981
* Commit editor temporary files now start with 'bzr_log.', to allow
1986
* Commit editor temporary files now start with ``bzr_log.``, to allow
1982
1987
text editors to match the file name and set up appropriate modes or
1983
1988
settings. (Magnus Therning)
2037
2042
* Fix for sftp transport under windows when using interactive auth
2039
2044
* Show files which are both renamed and modified as such in 'bzr
2040
status' output. (#4503, Daniel Silverstone)
2045
status' output. (Daniel Silverstone, #4503)
2042
2047
* Make annotate cope better with revisions committed without a valid
2043
2048
email address. (Marien Zwart)
2045
* Fix representation of tab characters in commit messages. (Harald
2050
* Fix representation of tab characters in commit messages.
2048
* List of plugin directories in BZR_PLUGIN_PATH environment variable is
2053
* List of plugin directories in ``BZR_PLUGIN_PATH`` environment variable is
2049
2054
now parsed properly under Windows. (Alexander Belchenko)
2051
2056
* Show number of revisions pushed/pulled/merged. (Robey Pointer)
2053
2058
* Keep a cached copy of the basis inventory to speed up operations
2054
2059
that need to refer to it. (Johan Rydberg, Martin Pool)
2056
* Fix bugs in bzr status display of non-ascii characters. (Martin
2061
* Fix bugs in bzr status display of non-ascii characters.
2059
* Remove Makefile.in from default ignore list. (#6413, Tollef Fog
2064
* Remove Makefile.in from default ignore list.
2065
(Tollef Fog Heen, Martin Pool, #6413)
2062
2067
* Fix failure in 'bzr added'. (Nathan McCallum, Martin Pool)
2112
2117
see bzrlib.transport.TransportTestProviderAdapter() for this.
2113
2118
(Robert Collins).
2115
* TestCase.build_tree uses the transport interface to build trees, pass
2116
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.
2117
2122
(Robert Collins).
2121
2126
* WorkingTree.pull has been split across Branch and WorkingTree,
2122
2127
to allow Branch only pulls. (Robert Collins)
2124
* commands.display_command now returns the result of the decorated
2129
* ``commands.display_command`` now returns the result of the decorated
2125
2130
function. (Robert Collins)
2127
* 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
2128
2133
a setting in its matching location section (a new one is created
2129
2134
if needed). (Robert Collins)
2131
* Branch has two new methods, get_push_location and set_push_location
2132
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.
2134
* commands.register_command now takes an optional flag to signal that
2140
* ``commands.register_command`` now takes an optional flag to signal that
2135
2141
the registrant is planning to decorate an existing command. When
2136
2142
given multiple plugins registering a command is not an error, and
2137
2143
the original command class (whether built in or a plugin based one) is
2142
2148
* Some option parsing errors will raise 'BzrOptionError', allowing
2143
2149
granular detection for decorating commands. (Robert Collins).
2145
* Branch.read_working_inventory has moved to
2146
WorkingTree.read_working_inventory. This necessitated changes to
2147
Branch.get_root_id, and a move of Branch.set_inventory to WorkingTree
2148
as well. To make it clear that a WorkingTree cannot always be obtained
2149
Branch.working_tree() will raise 'errors.NoWorkingTree' if one cannot
2150
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)
2152
2158
* All pending merges operations from Branch are now on WorkingTree.
2153
2159
(Robert Collins)
2155
* The follow operations from Branch have moved to WorkingTree:
2161
* The follow operations from Branch have moved to WorkingTree::
2161
2169
(Robert Collins)
2163
* 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)
2165
2173
* New "rio" serialization format, similar to rfc-822. (Martin Pool)
2167
* Rename selftests to `bzrlib.tests.test_foo`. (John A Meinel, Martin
2175
* Rename selftests to ``bzrlib.tests.test_foo``. (John A Meinel, Martin
2170
* 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
2171
2179
query method. (Robert Collins)
2173
2181
* New options to read only the table-of-contents of a weave.
2176
2184
* Raise NoSuchFile when someone tries to add a non-existant file.
2177
2185
(Michael Ellerman)
2179
* Simplify handling of DivergedBranches in cmd_pull().
2187
* Simplify handling of DivergedBranches in ``cmd_pull()``.
2180
2188
(Michael Ellerman)
2182
2190
* Branch.controlfile* logic has moved to lockablefiles.LockableFiles, which
2183
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
2184
2192
controlfile pre/suffix replaced by simple method names like 'get' and
2185
2193
'put'. (Aaron Bentley, Robert Collins).
2187
2195
* Deprecated functions and methods can now be marked as such using the
2188
bzrlib.symbol_versioning module. Marked method have their docstring
2196
``bzrlib.symbol_versioning`` module. Marked method have their docstring
2189
2197
updated and will issue a DeprecationWarning using the warnings module
2190
2198
when they are used. (Robert Collins)
2192
* bzrlib.osutils.safe_unicode now exists to provide parameter coercion
2200
* ``bzrlib.osutils.safe_unicode`` now exists to provide parameter coercion
2193
2201
for functions that need unicode strings. (Robert Collins)
2195
2203
bzr 0.6 2005-10-28
2230
2238
* New command 're-sign' which will regenerate the gpg signature for
2231
2239
a revision. (Robert Collins)
2233
* If you set check_signatures=require for a path in
2234
~/.bazaar/branches.conf then bzr will invoke your
2235
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
2236
2244
of your commit. (Robert Collins)
2238
2246
* New sftp transport, based on Paramiko. (Robey Pointer)
2246
2254
* 'bzr branch' will now set the branch-name to the last component of the
2247
2255
output directory, if one was supplied.
2249
* 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
2250
2258
names (must be in the bzrlib namespace), then they will be invoked
2251
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
2252
2260
parameters. (Robert Collins)
2254
2262
* Merge now has a retcode of 1 when conflicts occur. (Robert Collins)
2316
2324
* Plugins are now loaded under bzrlib.plugins, not bzrlib.plugin, and
2317
2325
they are made available for other plugins to use. You should not
2318
import other plugins during the __init__ of your plugin though, as
2326
import other plugins during the ``__init__`` of your plugin though, as
2319
2327
no ordering is guaranteed, and the plugins directory is not on the
2320
2328
python path. (Robert Collins)
2328
2336
Scott James Remnant. (Martin Pool)
2330
2338
* Branch.remove has been moved to WorkingTree, which has also gained
2331
lock_read, lock_write and unlock methods for convenience. (Robert
2339
``lock_read``, ``lock_write`` and ``unlock`` methods for convenience.
2334
* Two decorators, needs_read_lock and needs_write_lock have been added
2335
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
2336
2344
read or write lock respectively. (Robert Collins)
2338
* Branch.open_containing now returns a tuple (Branch, relative-path),
2346
* ``Branch.open_containing`` now returns a tuple (Branch, relative-path),
2339
2347
which allows direct access to the common case of 'get me this file
2340
2348
from its branch'. (Robert Collins)
2342
* Transports can register using register_lazy_transport, and they
2350
* Transports can register using ``register_lazy_transport``, and they
2343
2351
will be loaded when first used. (Martin Pool)
2345
* 'pull' has been factored out of the command as WorkingTree.pull().
2353
* 'pull' has been factored out of the command as ``WorkingTree.pull()``.
2346
2354
A new option to WorkingTree.pull has been added, clobber, which will
2347
2355
ignore diverged history and pull anyway.
2348
2356
(Robert Collins)
2350
* 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.
2351
2359
This will be looked up in branches.conf and bazaar.conf as normal.
2352
2360
It is intended that this be used by plugins to support options -
2353
2361
options of built in programs should have specific methods on the config.
2354
2362
(Robert Collins)
2356
* merge.merge_inner now has tempdir as an optional parameter. (Robert
2364
* ``merge.merge_inner`` now has tempdir as an optional parameter.
2359
2367
* Tree.kind is not recorded at the top level of the hierarchy, as it was
2360
2368
missing on EmptyTree, leading to a bug with merge on EmptyTrees.
2361
2369
(Robert Collins)
2363
* WorkingTree.__del__ has been removed, it was non deterministic and not
2364
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
2365
2373
about future directions. (Robert Collins/Martin Pool)
2367
2375
* bzrlib.transport.http has been modified so that only 404 urllib errors
2372
2380
to apis like 'put', 'get' and 'has'. This is to provide consistent
2373
2381
behaviour - it operates on url's only. (Robert Collins)
2375
* Transports can register using register_lazy_transport, and they
2383
* Transports can register using ``register_lazy_transport``, and they
2376
2384
will be loaded when first used. (Martin Pool)
2378
* 'merge_flex' no longer calls conflict_handler.finalize(), instead that
2379
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
2380
2388
retrieved (and potentially manipulated) before returning to the caller
2381
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
2382
2390
caller. (Robert Collins)
2384
* 'revision.revision_graph can handle having only partial history for
2392
* ``revision.revision_graph`` can handle having only partial history for
2385
2393
a revision - that is no revisions in the graph with no parents.
2386
2394
(Robert Collins).
2388
* New builtins.branch_files uses the standard file_list rules to produce
2389
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
2391
2400
* New TestCase.addCleanup facility.
2393
* New bzrlib.version_info tuple (similar to sys.version_info), which can
2394
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.
2513
2522
bzr branch it cannot understand. This allows for precise
2514
2523
handling of such circumstances.
2516
* Remove RevisionReference class; Revision.parent_ids is now simply a
2517
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
2518
2527
sha1s (for old branches only at the moment.)
2520
2529
* New method-object style interface for Commit() and Fetch().
2522
* Renamed Branch.last_patch() to Branch.last_revision(), since
2531
* Renamed ``Branch.last_patch()`` to ``Branch.last_revision()``, since
2523
2532
we call them revisions not patches.
2525
* Move copy_branch to bzrlib.clone.copy_branch. The destination
2534
* Move ``copy_branch`` to ``bzrlib.clone.copy_branch``. The destination
2526
2535
directory is created if it doesn't exist.
2528
2537
* Inventories now identify the files which were present by
2589
2598
get added when you add a file in the directory. Contributed by
2590
2599
Michael Ellerman.
2592
* Ignore .DS_Store (contains Mac metadata) by default. Patch from
2601
* Ignore ``.DS_Store`` (contains Mac metadata) by default.
2595
* 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
2596
2605
preference to EDITOR and the config file for the interactive commit
2597
2606
editing program. Related to this is a bugfix where a missing program
2598
2607
set in EDITOR would cause editing to fail, now the fallback program
2717
2726
* Moved plugins directory to bzrlib/, so that there's a standard
2718
2727
plugin directory which is not only installed with bzr itself but
2719
2728
is also available when using bzr from the development tree.
2720
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
2721
2730
standard plugins directory.
2723
2732
* When exporting to a tarball with ``bzr export --format tgz``, put
2870
2879
* Better help messages for many commands.
2872
* Expose bzrlib.open_tracefile() to start the tracefile; until
2881
* Expose ``bzrlib.open_tracefile()`` to start the tracefile; until
2873
2882
this is called trace messages are just discarded.
2875
* New internal function find_touching_revisions() and hidden
2884
* New internal function ``find_touching_revisions()`` and hidden
2876
2885
command touching-revisions trace the changes to a given file.
2878
* Simpler and faster compare_inventories() function.
2887
* Simpler and faster ``compare_inventories()`` function.
2880
* bzrlib.open_tracefile() takes a tracefilename parameter.
2889
* ``bzrlib.open_tracefile()`` takes a tracefilename parameter.
2882
2891
* New AtomicFile class.