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)
10
* Bundles properly read and write revision properties that have an
11
empty value. And when the value is not ASCII.
12
(John Arbash Meinel, #109613)
15
bzr 0.16rc1 2007-04-26
19
* ``bzr remove`` and ``bzr rm`` will now remove the working file, if
20
it could be recovered again.
21
This has been done for consistency with svn and the unix rm command.
22
The old ``remove`` behaviour has been retained in the new option
23
``bzr remove --keep``, which will just stop versioning the file,
25
``bzr remove --force`` have been added which will always delete the
27
``bzr remove`` is also more verbose.
28
(Marius Kruger, #82602)
5
32
* Merge directives can now be supplied as input to `merge` and `pull`,
6
33
like bundles can. (Aaron Bentley)
35
* Sending the SIGQUIT signal to bzr, which can be done on Unix by
36
pressing Control-Backslash, drops bzr into a debugger. Type ``'c'``
37
to continue. This can be disabled by setting the environment variable
38
``BZR_SIGQUIT_PDB=0``. (Martin Pool)
40
* selftest now supports --list-only to list tests instead of running
41
them. (Ian Clatworthy)
43
* selftest now supports --exclude PATTERN (or -x PATTERN) to exclude
44
tests with names that match that regular expression.
45
(Ian Clatworthy, #102679)
47
* selftest now supports --randomize SEED to run tests in a random order.
48
SEED is typically the value 'now' meaning 'use the current time'.
49
(Ian Clatworthy, #102686)
51
* New option ``--fixes`` to commit, which stores bug fixing annotations as
52
revision properties. Built-in support for Launchpad, Debian, Trac and
53
Bugzilla bug trackers. (Jonathan Lange, James Henstridge, Robert Collins)
55
* New API, ``bzrlib.bugtracker.tracker_registry``, for adding support for
56
other bug trackers to ``fixes``. (Jonathan Lange, James Henstridge,
59
* ``selftest`` has new short options ``-f`` and ``-1``. (Martin
62
* ``bzrlib.tsort.MergeSorter`` optimizations. Change the inner loop
63
into using local variables instead of going through ``self._var``.
64
Improves the time to ``merge_sort`` a 10k revision graph by
65
approximately 40% (~700->400ms). (John Arbash Meinel)
67
* ``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388.
70
* ``bzr help`` now provides cross references to other help topics using
71
the _see_also facility on command classes. Likewise the bzr_man
72
documentation, and the bzr.1 man page also include this information.
75
* Tags are now included in logs, that use the long log formatter.
76
(Erik Bågfors, Alexander Belchenko)
78
* ``bzr help`` provides a clearer message when a help topic cannot be
79
found. (Robert Collins, #107656)
81
* ``bzr help`` now accepts optional prefixes for command help. The help
82
for all commands can now be found at ``bzr help commands/COMMANDNAME``
83
as well as ``bzr help COMMANDNAME`` (which only works for commands
84
where the name is not the same as a more general help topic).
87
* ``bzr help PLUGINNAME`` will now return the module docstring from the
88
plugin PLUGINNAME. (Robert Collins, #50408)
90
* New help topic ``urlspec`` which lists the availables transports.
93
* doc/server.txt updated to document the default bzr:// port
94
and also update the blurb about the hpss' current status.
95
(Robert Collins, #107125).
97
* ``bzr serve`` now listens on interface 0.0.0.0 by default, making it
98
serve out to the local LAN (and anyone in the world that can reach the
99
machine running ``bzr serve``. (Robert Collins, #98918)
101
* A new smart server protocol version has been added. It prefixes requests
102
and responses with an explicit version identifier so that future protocol
103
revisions can be dealt with gracefully. (Andrew Bennetts, Robert Collins)
105
* The bzr protocol version 2 indicates success or failure in every response
106
without depending on particular commands encoding that consistently,
107
allowing future client refactorings to be much more robust about error
108
handling. (Robert Collins, Martin Pool, Andrew Bennetts)
110
* The smart protocol over HTTP client has been changed to always post to the
111
same ``.bzr/smart`` URL under the original location when it can. This allows
112
HTTP servers to only have to pass URLs ending in .bzr/smart to the smart
113
server handler, and not arbitrary ``.bzr/*/smart`` URLs. (Andrew Bennetts)
115
* digest authentication is now supported for proxies and HTTP by the urllib
116
based http implementation. Tested against Apache 2.0.55 and Squid
117
2.6.5. Basic and digest authentication are handled coherently for HTTP
118
and proxy: if the user is provided in the url (bzr command line for HTTP,
119
proxy environment variables for proxies), the password is prompted for
120
(only once). If the password is provided, it is taken into account. Once
121
the first authentication is successful, all further authentication
122
roundtrips are avoided by preventively setting the right authentication
10
128
* bzrlib API compatability with 0.8 has been dropped, cleaning up some
16
134
requires an explicit action using a ChrootServer.
17
135
(Robert Collins, Andrew Bennetts)
19
* Deprecate Branch.get_root_id() because branches don't have root ids,
137
* Deprecate ``Branch.get_root_id()`` because branches don't have root ids,
20
138
rather than fixing bug #96847. (Aaron Bentley)
22
* WorkingTree.apply_inventory_delta provides a better alternative to
23
WorkingTree._write_inventory. (Aaron Bentley)
140
* ``WorkingTree.apply_inventory_delta`` provides a better alternative to
141
``WorkingTree._write_inventory``. (Aaron Bentley)
25
* Convenience method TestCase.expectFailure ensures that known failures
143
* Convenience method ``TestCase.expectFailure`` ensures that known failures
26
144
do not silently pass. (Aaron Bentley)
146
* ``Transport.local_abspath`` now raises ``NotLocalUrl`` rather than
147
``TransportNotPossible``. (Martin Pool, Ian Clatworthy)
28
149
* New SmartServer hooks facility. There are two initial hooks documented
29
in bzrlib.transport.smart.SmartServerHooks. The two initial hooks allow
150
in ``bzrlib.transport.smart.SmartServerHooks``. The two initial hooks allow
30
151
plugins to execute code upon server startup and shutdown.
40
161
* Move most SmartServer code into a new package, bzrlib/smart.
41
162
bzrlib/transport/remote.py contains just the Transport classes that used
42
163
to be in bzrlib/transport/smart.py. (Andrew Bennetts)
165
* urllib http implementation avoid roundtrips associated with
166
401 (and 407) errors once the authentication succeeds.
169
* urlib http now supports querying the user for a proxy password if
170
needed. Realm is shown in the prompt for both HTTP and proxy
171
authentication when the user is required to type a password.
174
* Renamed SmartTransport (and subclasses like SmartTCPTransport) to
175
RemoteTransport (and subclasses to RemoteTCPTransport, etc). This is more
176
consistent with its new home in ``bzrlib/transport/remote.py``, and because
177
it's not really a "smart" transport, just one that does file operations
178
via remote procedure calls. (Andrew Bennetts)
180
* The ``lock_write`` method of ``LockableFiles``, ``Repository`` and
181
``Branch`` now accept a ``token`` keyword argument, so that separate
182
instances of those objects can share a lock if it has the right token.
183
(Andrew Bennetts, Robert Collins)
185
* New method ``get_branch_reference`` on ``BzrDir`` allows the detection of
186
branch references - which the smart server component needs.
188
* The Repository API ``make_working_trees`` is now permitted to return
189
False when ``set_make_working_trees`` is not implemented - previously
190
an unimplemented ``set_make_working_trees`` implied the result True
191
from ``make_working_trees``. This has been changed to accomodate the
192
smart server, where it does not make sense (at this point) to ever
193
make working trees by default. (Robert Collins)
195
* Command objects can now declare related help topics by having _see_also
196
set to a list of related topic. (Robert Collins)
198
* ``bzrlib.help`` now delegates to the Command class for Command specific
199
help. (Robert Collins)
201
* New class ``TransportListRegistry``, derived from the Registry class, which
202
simplifies tracking the available Transports. (Goffredo Baroncelli)
204
* New function ``Branch.get_revision_id_to_revno_map`` which will
205
return a dictionary mapping revision ids to dotted revnos. Since
206
dotted revnos are defined in the context of the branch tip, it makes
207
sense to generate them from a ``Branch`` object.
210
* Fix the 'Unprintable error' message display to use the repr of the
211
exception that prevented printing the error because the str value
212
for it is often not useful in debugging (e.g. KeyError('foo') has a
213
str() of 'foo' but a repr of 'KeyError('foo')' which is much more
214
useful. (Robert Collins)
216
* ``urlutils.normalize_url`` now unescapes unreserved characters, such as "~".
46
221
* Don't fail bundle selftest if email has 'two' embedded.
47
(#98510, Ian Clatworthy)
222
(Ian Clatworthy, #98510)
49
224
* Remove ``--verbose`` from ``bzr bundle``. It didn't work anyway.
50
225
(Robert Widhopf-Fenk, #98591)
52
227
* Remove ``--basis`` from the checkout/branch commands - it didn't work
53
properly and is no longer beneficial. Fixes #53675 and #43486.
228
properly and is no longer beneficial.
229
(Robert Collins, #53675, #43486)
56
231
* Don't produce encoding error when adding duplicate files.
234
* Fix ``bzr log <file>`` so it only logs the revisions that changed
235
the file, and does it faster.
236
(Kent Gibson, John Arbash Meinel, #51980, #69477)
238
* Fix ``InterDirstateTre._iter_changes`` to handle when we come across
239
an empty versioned directory, which now has files in it.
240
(John Arbash Meinel, #104257)
59
242
* Teach ``common_ancestor`` to shortcut when the tip of one branch is
60
243
inside the ancestry of the other. Saves a lot of graph processing
61
244
(with an ancestry of 16k revisions, ``bzr merge ../already-merged``
66
249
in this versus base, but it isn't marked as a rename).
67
250
(John Arbash Meinel, #103870)
252
* FTP now works even when the FTP server does not support atomic rename.
253
(Aaron Bentley, #89436)
255
* Correct handling in bundles and merge directives of timezones with
256
that are not an integer number of hours offset from UTC. Always
257
represent the epoch time in UTC to avoid problems with formatting
258
earlier times on win32. (Martin Pool, Alexander Belchenko, John
261
* Typo in the help for ``register-branch`` fixed. (Robert Collins, #96770)
263
* "dirstate" and "dirstate-tags" formats now produce branches compatible
264
with old versions of bzr. (Aaron Bentley, #107168))
266
* Handle moving a directory when children have been added, removed,
267
and renamed. (John Arbash Meinel, #105479)
269
* Don't preventively use basic authentication for proxy before receiving a
270
407 error. Otherwise people willing to use other authentication schemes
271
may expose their password in the clear (or nearly). This add one
272
roundtrip in case basic authentication should be used, but plug the
276
* Handle http and proxy digest authentication.
277
(Vincent Ladeuil, #94034).
71
281
* Added ``bzrlib.strace.strace`` which will strace a single callable and
75
285
* New test method ``reduceLockdirTimeout`` to drop the default (ui-centric)
76
286
default time down to one suitable for tests. (Andrew Bennetts)
78
* Add new vfs_transport_factory attribute on tests which provides the
288
* Add new ``vfs_transport_factory`` attribute on tests which provides the
79
289
common vfs backing for both the readonly and readwrite transports.
80
290
This allows the RemoteObject tests to back onto local disk or memory,
81
and use the existing transport_server attribute all tests know about
291
and use the existing ``transport_server`` attribute all tests know about
82
292
to be the smart server transport. This in turn allows tests to
83
293
differentiate between 'transport to access the branch', and
84
294
'transport which is a VFS' - which matters in Remote* tests.
85
295
(Robert Collins, Andrew Bennetts)
87
297
* The ``make_branch_and_tree`` method for tests will now create a
88
lightweight checkout for the tree if the vfs_transport_factory is not
298
lightweight checkout for the tree if the ``vfs_transport_factory`` is not
89
299
a LocalURLServer. (Robert Collins, Andrew Bennetts)
91
301
* Branch implementation tests have been audited to ensure that all urls
243
459
* For users of bzrlib: Two major changes have been made to the working tree
244
460
api in bzrlib. The first is that many methods and attributes, including
245
461
the inventory attribute, are no longer valid for use until one of
246
lock_read/lock_write/lock_tree_write has been called, and become invalid
247
again after unlock is called. This has been done to improve performance
248
and correctness as part of the dirstate development. (Robert Collins,
249
John A Meinel, Martin Pool, and others).
462
``lock_read``/``lock_write``/``lock_tree_write`` has been called,
463
and become invalid again after unlock is called. This has been done
464
to improve performance and correctness as part of the dirstate
466
(Robert Collins, John A Meinel, Martin Pool, and others).
251
468
* For users of bzrlib: The attribute 'tree.inventory' should be considered
252
469
readonly. Previously it was possible to directly alter this attribute, or
343
560
(John Arbash Meinel)
345
562
* New easier to use Branch hooks facility. There are five initial hooks,
346
all documented in bzrlib.branch.BranchHooks.__init__ - 'set_rh',
347
'post_push', 'post_pull', 'post_commit', 'post_uncommit'. These hooks
348
fire after the matching operation on a branch has taken place, and were
349
originally added for the branchrss plugin. (Robert Collins)
563
all documented in bzrlib.branch.BranchHooks.__init__ - ``'set_rh'``,
564
``'post_push'``, ``'post_pull'``, ``'post_commit'``,
565
``'post_uncommit'``. These hooks fire after the matching operation
566
on a branch has taken place, and were originally added for the
567
branchrss plugin. (Robert Collins)
351
569
* New method ``Branch.push()`` which should be used when pushing from a
352
570
branch as it makes performance and policy decisions to match the UI
360
578
(Robert Collins, Martin Pool)
362
* New Branch.last_revision_info method, this is being done to allow
580
* New ``Branch.last_revision_info`` method, this is being done to allow
363
581
optimization of requests for both the number of revisions and the last
364
582
revision of a branch with smartservers and potentially future branch
365
583
formats. (Wouter van Heyst, Robert Collins)
367
* Allow 'import bzrlib.plugins.NAME' to work when the plugin NAME has not
368
yet been loaded by load_plugins(). This allows plugins to depend on each
585
* Allow ``'import bzrlib.plugins.NAME'`` to work when the plugin NAME has not
586
yet been loaded by ``load_plugins()``. This allows plugins to depend on each
369
587
other for code reuse without requiring users to perform file-renaming
370
588
gymnastics. (Robert Collins)
372
* New Repository method 'gather_stats' for statistic data collection.
590
* New Repository method ``'gather_stats'`` for statistic data collection.
373
591
This is expected to grow to cover a number of related uses mainly
374
592
related to bzr info. (Robert Collins)
426
644
* Fix problem with UNC paths on Windows 98. (Alexander Belchenko, #84728)
428
* Searching location of CA bundle for PyCurl in env variable (CURL_CA_BUNDLE),
429
and on win32 along the PATH. (Alexander Belchenko, #82086)
646
* Searching location of CA bundle for PyCurl in env variable
647
(``CURL_CA_BUNDLE``), and on win32 along the PATH.
648
(Alexander Belchenko, #82086)
431
650
* ``bzr init`` works with unicode argument LOCATION.
432
651
(Alexander Belchenko, #85599)
434
* Raise DependencyNotPresent if pycurl do not support https. (Vincent
653
* Raise ``DependencyNotPresent`` if pycurl do not support https.
654
(Vincent Ladeuil, #85305)
437
656
* Invalid proxy env variables should not cause a traceback.
438
657
(Vincent Ladeuil, #87765)
966
1188
than having HOME set to the same location as the working directory.
967
1189
(John Arbash Meinel)
969
* run_bzr_subprocess() can take an optional 'env_changes={}' parameter,
1191
* ``run_bzr_subprocess()`` can take an optional ``env_changes={}`` parameter,
970
1192
which will update os.environ inside the spawned child. It also can
971
take a 'universal_newlines=True', which helps when checking the output
1193
take a ``universal_newlines=True``, which helps when checking the output
972
1194
of the command. (John Arbash Meinel)
974
1196
* Refactor SFTP vendors to allow easier re-use when ssh is used.
975
1197
(Andrew Bennetts)
977
* Transport.list_dir() and Transport.iter_files_recursive() should always
1199
* ``Transport.list_dir()`` and ``Transport.iter_files_recursive()`` should always
978
1200
return urlescaped paths. This is now tested (there were bugs in a few
979
1201
of the transports) (Andrew Bennetts, David Allouche, John Arbash Meinel)
981
* New utility function symbol_versioning.deprecation_string. Returns the
1203
* New utility function ``symbol_versioning.deprecation_string``. Returns the
982
1204
formatted string for a callable, deprecation format pair. (Robert Collins)
984
1206
* New TestCase helper applyDeprecated. This allows you to call a callable
986
1208
the deprecation format string issued for it. (Robert Collins)
988
1210
* Transport.append and Transport.put have been deprecated in favor of
989
.append_bytes, .append_file, .put_bytes, and .put_file. This removes the
990
ambiguity in what type of object the functions take.
991
Transport.non_atomic_put_{bytes,file} has also been added. Which works
992
similarly to Transport.append() except for SFTP, it doesn't have a round
993
trip when opening the file. Also, it provides functionality for creating
994
a parent directory when trying to create a file, rather than raise
995
NoSuchFile and forcing the caller to repeat their request.
1211
``.append_bytes``, ``.append_file``, ``.put_bytes``, and
1212
``.put_file``. This removes the ambiguity in what type of object the
1213
functions take. ``Transport.non_atomic_put_{bytes,file}`` has also
1214
been added. Which works similarly to ``Transport.append()`` except for
1215
SFTP, it doesn't have a round trip when opening the file. Also, it
1216
provides functionality for creating a parent directory when trying
1217
to create a file, rather than raise NoSuchFile and forcing the
1218
caller to repeat their request.
996
1219
(John Arbash Meinel)
998
1221
* WorkingTree has a new api ``unversion`` which allow the unversioning of
999
1222
entries by their file id. (Robert Collins)
1001
* WorkingTree.pending_merges is deprecated. Please use the get_parent_ids
1002
(introduced in 0.10) method instead. (Robert Collins)
1224
* ``WorkingTree.pending_merges`` is deprecated. Please use the
1225
``get_parent_ids`` (introduced in 0.10) method instead. (Robert Collins)
1004
* WorkingTree has a new lock_tree_write method which locks the branch for
1227
* WorkingTree has a new ``lock_tree_write`` method which locks the branch for
1005
1228
read rather than write. This is appropriate for actions which only need
1006
1229
the branch data for reference rather than mutation. A new decorator
1007
needs_tree_write_lock is provided in the workingtree module. Like the
1008
needs_read_lock and needs_write_lock decorators this allows static
1230
``needs_tree_write_lock`` is provided in the workingtree module. Like the
1231
``needs_read_lock`` and ``needs_write_lock`` decorators this allows static
1009
1232
declaration of the locking requirements of a function to ensure that
1010
1233
a lock is taken out for casual scripts. (Robert Collins, #54107)
1094
1317
* Handle TZ=UTC properly when reading/writing revisions.
1095
1318
(John Arbash Meinel, #55783, #56290)
1097
* Use GPG_TTY to allow gpg --cl to work with gpg-agent in a pipeline,
1320
* Use ``GPG_TTY`` to allow gpg --cl to work with gpg-agent in a pipeline,
1098
1321
(passing text to sign in on stdin). (John Arbash Meinel, #54468)
1100
1323
* External diff does the right thing for binaries even in foreign
1101
1324
languages. (John Arbash Meinel, #56307)
1103
1326
* Testament handles more cases when content is unicode. Specific bug was
1104
in handling of revision properties. (John Arbash Meinel, Holger Krekel,
1327
in handling of revision properties.
1328
(John Arbash Meinel, Holger Krekel, #54723)
1107
1330
* The bzr selftest was failing on installed versions due to a bug in a new
1108
1331
test helper. (John Arbash Meinel, Robert Collins, #58057)
1254
1477
* Fix shadowed definition of TestLocationConfig that caused some
1255
tests not to run. (#32587, Erik Bågfors, Michael Ellerman,
1479
(Erik Bågfors, Michael Ellerman, Martin Pool, #32587)
1258
1481
* Fix unnecessary requirement of sign-my-commits that it be run from
1259
1482
a working directory. (Martin Pool, Robert Collins)
1261
1484
* 'bzr push location' will only remember the push location if it succeeds
1262
in connecting to the remote location. (#49742, John Arbash Meinel)
1485
in connecting to the remote location. (John Arbash Meinel, #49742)
1264
1487
* 'bzr revert' no longer toggles the executable bit on win32
1265
(#45010, John Arbash Meinel)
1488
(John Arbash Meinel, #45010)
1267
1490
* Handle broken pipe under win32 correctly. (John Arbash Meinel)
1361
1584
so that it can be specialized in ways that are useful or efficient for
1362
1585
different formats. (Martin Pool, Robert Collins)
1364
* Deprecate Repository.all_revision_ids; most methods don't really need
1587
* Deprecate ``Repository.all_revision_ids``; most methods don't really need
1365
1588
the global revision graph but only that part leading up to a particular
1366
1589
revision. (Martin Pool, Robert Collins)
1368
* Add a BzrDirFormat control_formats list which allows for control formats
1591
* Add a BzrDirFormat ``control_formats`` list which allows for control formats
1369
1592
that do not use '.bzr' to store their data - i.e. '.svn', '.hg' etc.
1370
1593
(Robert Collins, Jelmer Vernooij).
1372
* bzrlib.diff.external_diff can be redirected to any file-like object.
1595
* ``bzrlib.diff.external_diff`` can be redirected to any file-like object.
1373
1596
Uses subprocess instead of spawnvp.
1374
(#4047, #48914, James Henstridge, John Arbash Meinel)
1597
(James Henstridge, John Arbash Meinel, #4047, #48914)
1376
1599
* New command line option '--profile-imports', which will install a custom
1377
1600
importer to log time to import modules and regex compilation time to
1378
1601
sys.stderr (John Arbash Meinel)
1380
* 'EmptyTree' is now deprecated, please use repository.revision_tree(None)
1603
* 'EmptyTree' is now deprecated, please use ``repository.revision_tree(None)``
1381
1604
instead. (Robert Collins)
1383
1606
* "RevisionTree" is now in bzrlib/revisiontree.py. (Robert Collins)
1487
1711
reuses them to avoid multiple connections to the same host (like
1488
1712
sftp did). (Daniel Silverstone)
1490
* The bzr_man.py file has been removed. To create the man page now,
1491
use ./generate_docs.py man. The new program can also create other files.
1492
Run "python generate_docs.py --help" for usage information. (Hans
1493
Ulrich Niedermann & James Blackwell).
1714
* The ``bzr_man.py`` file has been removed. To create the man page now,
1715
use ``./generate_docs.py man``. The new program can also create other files.
1716
Run ``python generate_docs.py --help`` for usage information.
1717
(Hans Ulrich Niedermann & James Blackwell).
1495
* Man Page now gives full help (James Blackwell). Help also updated to
1496
reflect user config now being stored in .bazaar (Hans Ulrich
1719
* Man Page now gives full help (James Blackwell).
1720
Help also updated to reflect user config now being stored in .bazaar
1721
(Hans Ulrich Niedermann)
1499
1723
* It's now possible to set aliases in bazaar.conf (Erik Bågfors)
1501
1725
* Pull now accepts a --revision argument (Erik Bågfors)
1503
* 'bzr re-sign' now allows multiple revisions to be supplied on the command
1727
* ``bzr re-sign`` now allows multiple revisions to be supplied on the command
1504
1728
line. You can now use the following command to sign all of your old
1628
1852
Repository actions and allows for clean selection of optimised code
1629
1853
paths. (Robert Collins)
1631
* bzrlib.fetch.fetch and bzrlib.fetch.greedy_fetch are now deprecated,
1632
please use 'branch.fetch' or 'repository.fetch' depending on your
1633
needs. (Robert Collins)
1855
* ``bzrlib.fetch.fetch`` and ``bzrlib.fetch.greedy_fetch`` are now
1856
deprecated, please use ``branch.fetch`` or ``repository.fetch``
1857
depending on your needs. (Robert Collins)
1635
* deprecated methods now have a 'is_deprecated' flag on them that can
1859
* deprecated methods now have a ``is_deprecated`` flag on them that can
1636
1860
be checked, if you need to determine whether a given callable is
1637
1861
deprecated at runtime. (Robert Collins)
1639
1863
* Progress bars are now nested - see
1640
bzrlib.ui.ui_factory.nested_progress_bar. (Robert Collins, Robey Pointer)
1864
``bzrlib.ui.ui_factory.nested_progress_bar``.
1865
(Robert Collins, Robey Pointer)
1642
* New API call get_format_description() for each type of format.
1867
* New API call ``get_format_description()`` for each type of format.
1645
* Changed branch.set_parent() to accept None to remove parent.
1870
* Changed ``branch.set_parent()`` to accept None to remove parent.
1648
1873
* Deprecated BzrError AmbiguousBase. (Olaf Conradi)
1650
1875
* WorkingTree.branch is now a read only property. (Robert Collins)
1652
* bzrlib.ui.text.TextUIFactory now accepts a bar_type parameter which
1877
* bzrlib.ui.text.TextUIFactory now accepts a ``bar_type`` parameter which
1653
1878
can be None or a factory that will create a progress bar. This is
1654
1879
useful for testing or for overriding the bzrlib.progress heuristic.
1655
1880
(Robert Collins)
1657
* New API method get_physical_lock_status() to query locks present on a
1882
* New API method ``get_physical_lock_status()`` to query locks present on a
1658
1883
transport. (Olaf Conradi)
1660
1885
* Repository.reconcile now takes a thorough keyword parameter to allow
1661
1886
requesting an indepth reconciliation, rather than just a data-loss
1662
1887
check. (Robert Collins)
1664
* bzrlib.ui.ui_factory protocol now supports 'get_boolean' to prompt
1889
* ``bzrlib.ui.ui_factory protocol`` now supports ``get_boolean`` to prompt
1665
1890
the user for yes/no style input. (Robert Collins)
1701
1926
versioned directories, now use "bzr inventory --kind directory".
1702
1927
(Johan Rydberg)
1704
* Under Windows configuration directory is now %APPDATA%\bazaar\2.0
1929
* Under Windows configuration directory is now ``%APPDATA%\bazaar\2.0``
1705
1930
by default. (John Arbash Meinel)
1707
* The parent of Bzr configuration directory can be set by BZR_HOME
1708
environment variable. Now the path for it is searched in BZR_HOME, then
1709
in HOME. Under Windows the order is: BZR_HOME, APPDATA (usually
1710
points to C:\Documents and Settings\User Name\Application Data), HOME.
1711
(John Arbash Meinel)
1932
* The parent of Bzr configuration directory can be set by ``BZR_HOME``
1933
environment variable. Now the path for it is searched in ``BZR_HOME``,
1934
then in HOME. Under Windows the order is: ``BZR_HOME``, ``APPDATA``
1935
(usually points to ``C:\Documents and Settings\User Name\Application Data``),
1936
``HOME``. (John Arbash Meinel)
1713
1938
* Plugins with the same name in different directories in the bzr plugin
1714
1939
path are no longer loaded: only the first successfully loaded one is
1905
2130
* WorkingTree.pull has been split across Branch and WorkingTree,
1906
2131
to allow Branch only pulls. (Robert Collins)
1908
* commands.display_command now returns the result of the decorated
2133
* ``commands.display_command`` now returns the result of the decorated
1909
2134
function. (Robert Collins)
1911
* LocationConfig now has a set_user_option(key, value) call to save
2136
* LocationConfig now has a ``set_user_option(key, value)`` call to save
1912
2137
a setting in its matching location section (a new one is created
1913
2138
if needed). (Robert Collins)
1915
* Branch has two new methods, get_push_location and set_push_location
1916
to respectively, get and set the push location. (Robert Collins)
2140
* Branch has two new methods, ``get_push_location`` and
2141
``set_push_location`` to respectively, get and set the push location.
1918
* commands.register_command now takes an optional flag to signal that
2144
* ``commands.register_command`` now takes an optional flag to signal that
1919
2145
the registrant is planning to decorate an existing command. When
1920
2146
given multiple plugins registering a command is not an error, and
1921
2147
the original command class (whether built in or a plugin based one) is
1926
2152
* Some option parsing errors will raise 'BzrOptionError', allowing
1927
2153
granular detection for decorating commands. (Robert Collins).
1929
* Branch.read_working_inventory has moved to
1930
WorkingTree.read_working_inventory. This necessitated changes to
1931
Branch.get_root_id, and a move of Branch.set_inventory to WorkingTree
1932
as well. To make it clear that a WorkingTree cannot always be obtained
1933
Branch.working_tree() will raise 'errors.NoWorkingTree' if one cannot
1934
be obtained. (Robert Collins)
2155
* ``Branch.read_working_inventory`` has moved to
2156
``WorkingTree.read_working_inventory``. This necessitated changes to
2157
``Branch.get_root_id``, and a move of ``Branch.set_inventory`` to
2158
WorkingTree as well. To make it clear that a WorkingTree cannot always
2159
be obtained ``Branch.working_tree()`` will raise
2160
``errors.NoWorkingTree`` if one cannot be obtained. (Robert Collins)
1936
2162
* All pending merges operations from Branch are now on WorkingTree.
1937
2163
(Robert Collins)
1939
* The follow operations from Branch have moved to WorkingTree:
2165
* The follow operations from Branch have moved to WorkingTree::
1945
2173
(Robert Collins)
1947
* bzrlib.add.smart_add_branch is now smart_add_tree. (Robert Collins)
2175
* ``bzrlib.add.smart_add_branch`` is now ``smart_add_tree``. (Robert Collins)
1949
2177
* New "rio" serialization format, similar to rfc-822. (Martin Pool)
1951
* Rename selftests to `bzrlib.tests.test_foo`. (John A Meinel, Martin
2179
* Rename selftests to ``bzrlib.tests.test_foo``. (John A Meinel, Martin
1954
* bzrlib.plugin.all_plugins has been changed from an attribute to a
2182
* ``bzrlib.plugin.all_plugins`` has been changed from an attribute to a
1955
2183
query method. (Robert Collins)
1957
2185
* New options to read only the table-of-contents of a weave.
1960
2188
* Raise NoSuchFile when someone tries to add a non-existant file.
1961
2189
(Michael Ellerman)
1963
* Simplify handling of DivergedBranches in cmd_pull().
2191
* Simplify handling of DivergedBranches in ``cmd_pull()``.
1964
2192
(Michael Ellerman)
1967
2194
* Branch.controlfile* logic has moved to lockablefiles.LockableFiles, which
1968
is exposed as Branch().control_files. Also this has been altered with the
2195
is exposed as ``Branch().control_files``. Also this has been altered with the
1969
2196
controlfile pre/suffix replaced by simple method names like 'get' and
1970
2197
'put'. (Aaron Bentley, Robert Collins).
1972
2199
* Deprecated functions and methods can now be marked as such using the
1973
bzrlib.symbol_versioning module. Marked method have their docstring
2200
``bzrlib.symbol_versioning`` module. Marked method have their docstring
1974
2201
updated and will issue a DeprecationWarning using the warnings module
1975
2202
when they are used. (Robert Collins)
1977
* bzrlib.osutils.safe_unicode now exists to provide parameter coercion
2204
* ``bzrlib.osutils.safe_unicode`` now exists to provide parameter coercion
1978
2205
for functions that need unicode strings. (Robert Collins)
1980
2207
bzr 0.6 2005-10-28
2113
2340
Scott James Remnant. (Martin Pool)
2115
2342
* Branch.remove has been moved to WorkingTree, which has also gained
2116
lock_read, lock_write and unlock methods for convenience. (Robert
2343
``lock_read``, ``lock_write`` and ``unlock`` methods for convenience.
2119
* Two decorators, needs_read_lock and needs_write_lock have been added
2120
to the branch module. Use these to cause a function to run in a
2346
* Two decorators, ``needs_read_lock`` and ``needs_write_lock`` have been
2347
added to the branch module. Use these to cause a function to run in a
2121
2348
read or write lock respectively. (Robert Collins)
2123
* Branch.open_containing now returns a tuple (Branch, relative-path),
2350
* ``Branch.open_containing`` now returns a tuple (Branch, relative-path),
2124
2351
which allows direct access to the common case of 'get me this file
2125
2352
from its branch'. (Robert Collins)
2127
* Transports can register using register_lazy_transport, and they
2354
* Transports can register using ``register_lazy_transport``, and they
2128
2355
will be loaded when first used. (Martin Pool)
2130
* 'pull' has been factored out of the command as WorkingTree.pull().
2357
* 'pull' has been factored out of the command as ``WorkingTree.pull()``.
2131
2358
A new option to WorkingTree.pull has been added, clobber, which will
2132
2359
ignore diverged history and pull anyway.
2133
2360
(Robert Collins)
2135
* config.Config has a 'get_user_option' call that accepts an option name.
2362
* config.Config has a ``get_user_option`` call that accepts an option name.
2136
2363
This will be looked up in branches.conf and bazaar.conf as normal.
2137
2364
It is intended that this be used by plugins to support options -
2138
2365
options of built in programs should have specific methods on the config.
2139
2366
(Robert Collins)
2141
* merge.merge_inner now has tempdir as an optional parameter. (Robert
2368
* ``merge.merge_inner`` now has tempdir as an optional parameter.
2144
2371
* Tree.kind is not recorded at the top level of the hierarchy, as it was
2145
2372
missing on EmptyTree, leading to a bug with merge on EmptyTrees.
2146
2373
(Robert Collins)
2148
* WorkingTree.__del__ has been removed, it was non deterministic and not
2149
doing what it was intended to. See WorkingTree.__init__ for a comment
2375
* ``WorkingTree.__del__`` has been removed, it was non deterministic and not
2376
doing what it was intended to. See ``WorkingTree.__init__`` for a comment
2150
2377
about future directions. (Robert Collins/Martin Pool)
2152
2379
* bzrlib.transport.http has been modified so that only 404 urllib errors
2157
2384
to apis like 'put', 'get' and 'has'. This is to provide consistent
2158
2385
behaviour - it operates on url's only. (Robert Collins)
2160
* Transports can register using register_lazy_transport, and they
2387
* Transports can register using ``register_lazy_transport``, and they
2161
2388
will be loaded when first used. (Martin Pool)
2163
* 'merge_flex' no longer calls conflict_handler.finalize(), instead that
2164
is called by merge_inner. This is so that the conflict count can be
2390
* ``merge_flex`` no longer calls ``conflict_handler.finalize()``, instead that
2391
is called by ``merge_inner``. This is so that the conflict count can be
2165
2392
retrieved (and potentially manipulated) before returning to the caller
2166
of merge_inner. Likewise 'merge' now returns the conflict count to the
2393
of ``merge_inner``. Likewise 'merge' now returns the conflict count to the
2167
2394
caller. (Robert Collins)
2169
* 'revision.revision_graph can handle having only partial history for
2396
* ``revision.revision_graph`` can handle having only partial history for
2170
2397
a revision - that is no revisions in the graph with no parents.
2171
2398
(Robert Collins).
2173
* New builtins.branch_files uses the standard file_list rules to produce
2174
a branch and a list of paths, relative to that branch (Aaron Bentley)
2400
* New ``builtins.branch_files`` uses the standard ``file_list`` rules to
2401
produce a branch and a list of paths, relative to that branch
2176
2404
* New TestCase.addCleanup facility.
2178
* New bzrlib.version_info tuple (similar to sys.version_info), which can
2179
be used by programs importing bzrlib.
2406
* New ``bzrlib.version_info`` tuple (similar to ``sys.version_info``),
2407
which can be used by programs importing bzrlib.
2298
2526
bzr branch it cannot understand. This allows for precise
2299
2527
handling of such circumstances.
2301
* Remove RevisionReference class; Revision.parent_ids is now simply a
2302
list of their ids and parent_sha1s is a list of their corresponding
2529
* Remove RevisionReference class; ``Revision.parent_ids`` is now simply a
2530
list of their ids and ``parent_sha1s`` is a list of their corresponding
2303
2531
sha1s (for old branches only at the moment.)
2305
2533
* New method-object style interface for Commit() and Fetch().
2307
* Renamed Branch.last_patch() to Branch.last_revision(), since
2535
* Renamed ``Branch.last_patch()`` to ``Branch.last_revision()``, since
2308
2536
we call them revisions not patches.
2310
* Move copy_branch to bzrlib.clone.copy_branch. The destination
2538
* Move ``copy_branch`` to ``bzrlib.clone.copy_branch``. The destination
2311
2539
directory is created if it doesn't exist.
2313
2541
* Inventories now identify the files which were present by