Bazaar 0.17-series-0.17

This release contains around a dozen bug fixes, better documentation and some incremental performance improvements to status, diff, commit, branch and checkout. While the number of bug fixes isn't large in this release, there are some important dirstate regressions addressed. For this reason, it is generally advisable to upgrade to this version if you are encountering any bugs in this area.

Milestone information

Project:
Bazaar
Series:
0.17
Version:
0.17-series-0.17
Released:
2007-06-18  
Registrant:
Ian Clatworthy
Release registered:
2007-06-18
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
No users assigned to blueprints and bugs.
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
No bugs are targeted to this milestone.

Download files for this release

File Description Downloads

Release notes 

bzr 0.17 2007-06-18

  BUGFIXES:

    * Fix crash of commit due to wrong lookup of filesystem encoding.
      (Colin Watson, #120647)

    * Revert logging just to stderr in commit as broke unicode filenames.
      (Aaron Bentley, Ian Clatworthy, #120930)

bzr 0.17rc1 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()

  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)

    * Clean up the ``WorkingTree4._iter_changes()`` internal loops as well as
      ``DirState.update_entry()``. This optimizes the core logic for ``bzr
      diff`` and ``bzr status`` significantly improving the speed of
      both. (John Arbash Meinel)

    * The tutorial has been improved. (Matthew Fuller)

    * Better error message for selected file commit of merges. (Aaron Bentley)

    * Updated bash completion. (Antonin 'gree' Komenda)

  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)

    * 'branch lp:projname' now creates ./projname as expected.

  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)

Changelog 

This release does not have a changelog.

0 blueprints and 0 bugs targeted

There are no feature specifications or bug tasks targeted to this milestone. The project's maintainer, driver, or bug supervisor can target specifications and bug tasks to this milestone to track the things that are expected to be completed for the release.

This milestone contains Public information
Everyone can see this information.