bzr 0.17rc1
Released: | 2007-06-12 |
---|
Notes When Upgrading
The kind() and is_executable() APIs on the WorkingTree interface no longer implicitly (read) locks and unlocks the tree. This might impact some plug-ins and tools using this part of the API. If you find an issue that may be caused by this change, please let us know, particularly the plug-in/tool maintainer. If encountered, the API fix is to surround kind() and is_executable() calls with lock_read() and unlock() like so:
work_tree.lock_read() try: kind = work_tree.kind(...) finally: work_tree.unlock()
Internals
- Rework of LogFormatter API to provide beginning/end of log hooks and to encapsulate the details of the revision to be logged in a LogRevision object. In long log formats, merge revision ids are only shown when –show-ids is specified, and are labelled “revision-id:”, as per mainline revisions, instead of “merged:”. (Kent Gibson)
- New BranchBuilder API which allows the construction of particular histories quickly. Useful for testing and potentially other applications too. (Robert Collins)
Improvements
- There are two new help topics, working-trees and repositories that attempt to explain these concepts. (James Westby, John Arbash Meinel, Aaron Bentley)
- Added bzr log --limit to report a limited number of revisions. (Kent Gibson, #3659)
- Revert does not try to preserve file contents that were originally produced by reverting to a historical revision. (Aaron Bentley)
- bzr log --short now includes [merge] for revisions which have more than one parent. This is a small improvement to help understanding what changes have occurred (John Arbash Meinel, #83887)
- TreeTransform avoids many renames when contructing large trees, improving speed. 3.25x speedups have been observed for construction of kernel-sized-trees, and checkouts are 1.28x faster. (Aaron Bentley)
- Commit on large trees is now faster. In my environment, a commit of a small change to the Mozilla tree (55k files) has dropped from 66 seconds to 32 seconds. For a small tree of 600 files, commit of a small change is 33% faster. (Ian Clatworthy)
- New –create-prefix option to bzr init, like for push. (Daniel Watkins, #56322)
Bugfixes
- bzr push should only connect to the remote location one time. We have been connecting 3 times because we forget to pass around the Transport object. This adds BzrDir.clone_on_transport(), so that we can pass in the Transport that we already have. (John Arbash Meinel, #75721)
- DirState.set_state_from_inventory() needs to properly order based on split paths, not just string paths. (John Arbash Meinel, #115947)
- Let TestUIFactoy encode the password prompt with its own stdout. (Vincent Ladeuil, #110204)
- pycurl should take use the range header that takes the range hint into account. (Vincent Ladeuil, #112719)
- WorkingTree4.get_file_sha1 no longer raises an exception when invoked on a missing file. (Aaron Bentley, #118186)
- WorkingTree.remove works correctly with tree references, and when pwd is not the tree root. (Aaron Bentley)
- Merge no longer fails when a file is renamed in one tree and deleted in the other. (Aaron Bentley, #110279)
- revision-info now accepts dotted revnos, doesn’t require a tree, and defaults to the last revision (Matthew Fuller, #90048)
- Tests no longer fail when BZR_REMOTE_PATH is set in the environment. (Daniel Watkins, #111958)
- bzr branch -r revid:foo can be used to branch any revision in your repository. (Previously Branch6 only supported revisions in your mainline). (John Arbash Meinel, #115343)