Bazaar Release Notes¶
bzr 1.7.1¶
- Released:
2008-10-01
No changes from 1.7.1rc1.
bzr 1.7.1rc1¶
- Released:
2008-09-24
This release just includes an update to how the merge algorithm handles file paths when we encounter complex history.
Features¶
If we encounter a criss-cross in history, use information from direct Least Common Ancestors to resolve inventory shape (locations of files, adds, deletes, etc). This is similar in concept to using
--lca
for merging file texts, only applied to paths. (John Arbash Meinel)
bzr 1.7¶
- Released:
2008-09-23
This release includes many bug fixes and a few performance and feature
improvements. bzr rm
will now scan for missing files and remove them,
like how bzr add
scans for unknown files and adds them. A bit more
polish has been applied to the stacking code. The b-tree indexing code has
been brought in, with an eye on using it in a future repository format.
There are only minor installer changes since bzr-1.7rc2.
Features¶
Some small updates to the win32 installer. Include localization files found in plugins, and include the builtin distutils as part of packaging qbzr. (Mark Hammond)
bzr 1.7rc2¶
- Released:
2008-09-17
A few bug fixes from 1.7rc1. The biggest change is a new
RemoteBranch.get_stacked_on_url
RPC. This allows clients that are
trying to access a Stacked branch over the smart protocol, to properly
connect to the stacked-on location.
Bug Fixes¶
Branching from a shared repository on a smart server into a new repository now preserves the repository format. (Andrew Bennetts, #269214)
Branching from a stacked branch via
bzr+ssh
can properly connect to the stacked-on branch. (Martin Pool, #261315)bzr init
no longer re-opens the BzrDir multiple times. (Vincent Ladeuil)Fix ‘_in_buffer’ AttributeError when using the -Dhpss debug flag. (Andrew Bennetts)
bzr 1.7rc1¶
- Released:
2008-09-09
This release candidate for bzr 1.7 has several bug fixes and a few
performance and feature improvements. bzr rm
will now scan for
missing files and remove them, like how bzr add
scans for unknown
files and adds them. A bit more polish has been applied to the stacking
code. The b-tree indexing code has been brought in, with an eye on using
it in a future repository format.
Changes¶
bzr export
can now export a subdirectory of a project. (Robert Collins)bzr remove-tree
will now refuse to remove a tree with uncommitted changes, unless the--force
option is specified. (Lukáš Lalinský, #74101)bzr rm
will now scan for files that are missing and remove just them automatically, much asbzr add
scans for new files that are not ignored and adds them automatically. (Robert Collins)
Features¶
Support for GSSAPI authentication when using FTP as documented in RFC2228. (Jelmer Vernooij, #49623)
Add support for IPv6 in the smart server. (Jelmer Vernooij, #165014)
Improvements¶
A URL like
log+file:///tmp
will log all access to that Transport to.bzr.log
, which may help in debugging or profiling. (Martin Pool)bzr branch
andbzr push
use the default stacking policy if the branch format supports it. (Aaron Bentley)bzr init
andbzr init-repo
will now print out the same asbzr info
if it completed successfully. (Marius Kruger)bzr uncommit
logs the old tip revision id, and displays how to restore the branch to that tip usingbzr pull
. This allows you to recover if you realize you uncommitted the wrong thing. (John Arbash Meinel)Fix problems in accessing stacked repositories over
bzr://
. (Martin Pool, #261315)SFTPTransport.readv()
was accidentally usinglist += string
, which ‘works’, but adds each character separately to the list, rather than usinglist.append(string)
. Fixing this makes the SFTP transport a little bit faster (~20%) and use a bit less memory. (John Arbash Meinel)When reading index files, if we happen to read the whole file in a single request treat it as a
_buffer_all
request. This happens most often on small indexes over remote transports, where we default to reading 64kB. It saves a round trip for each small index during fetch operations. Also, if we have read more than 50% of an index file, trigger a_buffer_all
on the next request. This works around some inefficiencies because reads don’t fall neatly on page boundaries, so we would ignore those bytes, but request them again later. This could trigger a total read size of more than the whole file. (John Arbash Meinel)
Bug Fixes¶
bzr rm
is now aliased tobzr del
for the convenience of svn users. (Robert Collins, #205416)Catch the infamous “select/poll returned error” which occurs when pycurl try to send a body request to an HTTP/1.0 server which has already refused to handle the request. (Vincent Ladeuil, #225020)
Fix
ObjectNotLocked
errors when using various commands (includingbzr cat
andbzr annotate
) in combination with a smart server URL. (Andrew Bennetts, #237067)FTPTransport.stat()
would return0000
as the permission bits for the containing.bzr/
directory (it does not implement permissions). This would cause us to set all subdirectories to0700
and files to0600
rather than leaving them unmodified. Now we ignore0000
as the permissions and assume they are invalid. (John Arbash Meinel, #259855)Merging from a previously joined branch will no longer cause a traceback. (Jelmer Vernooij, #203376)
Pack operations on windows network shares will work even with large files. (Robert Collins, #255656)
Running
bzr st PATH_TO_TREE
will no longer suppress merge status. Status is also about 7% faster on mozilla sized trees when the path to the root of the tree has been given. Users of the internalshow_tree_status
function should be aware that the show_pending flag is now authoritative for showing pending merges, as it was originally. (Robert Collins, #255204)Set valid default _param_name for Option so that ListOption can embed ‘-’ in names. (Vincent Ladeuil, #263249)
Show proper error rather than traceback when an unknown revision id is specified to
bzr cat-revision
. (Jelmer Vernooij, #175569)Trailing text in the dirstate file could cause the C dirstate parser to try to allocate an invalid amount of memory. We now properly check and test for parsing a dirstate with invalid trailing data. (John Arbash Meinel, #186014)
Unexpected error responses from a smart server no longer cause the client to traceback. (Andrew Bennetts, #263527)
Use a Windows api function to get a Unicode host name, rather than assuming the host name is ascii. (Mark Hammond, John Arbash Meinel, #256550)
WorkingTree4
trees will now correctly report missing-and-new paths in the output ofiter_changes
. (Robert Collins)
Documentation¶
Updated developer documentation. (Martin Pool)
API Changes¶
Exporters now take 4 parameters. (Robert Collins)
Tree.iter_changes
will now return False for the content change field when a file is missing in the basis tree and not present in the target tree. Previously it returned True unconditionally. (Robert Collins)The deprecated
Branch.abspath
and unimplementedBranch.rename_one
andBranch.move
were removed. (Jelmer Vernooij)BzrDir.clone_on_transport implementations must now accept a stacked_on parameter. (Aaron Bentley)
BzrDir.cloning_metadir implementations must now take a require_stacking parameter. (Aaron Bentley)
Testing¶
addCleanup
now takes*arguments
and**keyword_arguments
which are then passed to the cleanup callable as it is run. In addition, addCleanup no longer requires that the callables passed to it be unique. (Jonathan Lange)Fix some tests that fail on Windows because files are deleted while still in use. (Mark Hammond)
selftest
’s--starting-with
option can now use predefined prefixes so that one can saybzr selftest -s bp.loom
instead ofbzr selftest -s bzrlib.plugins.loom
. (Vincent Ladeuil)selftest
’s--starting-with
option now accepts multiple values. (Vincent Ladeuil)
Internals¶
A new plugin interface,
bzrlib.log.log_adapters
, has been added. This allows dynamic log output filtering by plugins. (Robert Collins)bzrlib.btree_index
is now available, providing a b-tree index layer. The design is memory conservative (limited memory cache), faster to seek (approx 100 nodes per page, gives 100-way fan out), and stores compressed pages allowing more keys per page. (Robert Collins, John Arbash Meinel)bzrlib.diff.DiffTree.show_diff
now skips changes where the kind is unknown in both source and target. (Robert Collins, Aaron Bentley)GraphIndexBuilder.add_node
andBTreeBuilder
have been streamlined a bit. This should make creating large indexes faster. (In benchmarking, it now takes less time to create a BTree index than it takes to read the GraphIndex one.) (John Arbash Meinel)Mail clients for bzr send are now listed in a registry. This allows plugins to add new clients by registering them with
bzrlib.mail_client.mail_client_registry
. All of the built-in clients now use this mechanism. (Neil Martinsen-Burrell)