Bazaar 1.12 released

Martin Pool mbp at
Fri Feb 13 06:28:10 CET 2009

I'm happy to announce the release of version 1.12 of Bazaar.  Bazaar
(bzr) is a decentralized revision control system, designed to be easy
for developers and end users alike.  Bazaar is part of the GNU project
to develop a complete free operating system.

This release of Bazaar contains many improvements to the speed,
documentation and functionality of ``bzr log`` and the display of logged
revisions by ``bzr status``.  bzr now also gives a better indication of
progress, both in the way operations are drawn onto a text terminal, and
by showing the rate of network IO.

A detailed list of changes since the last release is attached below.

A source tarball is now available from <>
and packages for various systems will be available soon.

on behalf of the Bazaar development team

bzr 1.12 "1234567890" 2009-02-13

This release of Bazaar contains many improvements to the speed,
documentation and functionality of ``bzr log`` and the display of logged
revisions by ``bzr status``.  bzr now also gives a better indication of
progress, both in the way operations are drawn onto a text terminal, and
by showing the rate of network IO.


    * ``bzr init --development-wt5[-rich-root]`` would fail because of
      circular import errors. (John Arbash Meinel, #328135)


    * Expanded the help for log and added a new help topic called
      ``log-formats``.  (Ian Clatworthy)

bzr 1.12rc1 "1234567890" 2009-02-10


    * By default, ``bzr status`` after a merge now shows just the pending
      merge tip revisions. This improves the signal-to-noise ratio after
      merging from trunk and completes much faster. To see all merged
      revisions, use the new ``-v`` flag.  (Ian Clatworthy)

    * ``bzr log --line`` now shows any tags after the date and before
      the commit message. If you have scripts which parse the output
      from this command, you may need to adjust them accordingly.
      (Ian Clatworthy)

    * ``bzr log --short`` now shows any additional revision properties
      after the date and before the commit message.  Scripts that parse 
      output of the log command in this situation may need to adjust.
      (Neil Martinsen-Burrell)

    * The experimental formats ``1.12-preview`` and ``1.12-preview-rich-root``
      have been renamed ``development-wt5`` and ``development-wt5-rich-root``
      respectively, given they are not ready for release in 1.12.
      (Ian Clatworthy)


    * Add support for filtering ``bzr missing`` on revisions.  Remote revisions
      can be filtered using ``bzr missing -r -20..-10`` and local revisions can
      be filtered using ``bzr missing --my-revision -20..-10``.
      (Marius Kruger)

    * ``bzr log -p`` displays the patch diff for each revision.
      When logging a file, the diff only includes changes to that file.
      (Ian Clatworthy, #202331, #227335)

    * ``bzr log`` supports a new option called ``-n N`` or ``--level N``.
      A value of 0 (zero) means "show all nested merge revisions" while
      a value of 1 (one) means "show just the top level". Values above
      1 can be used to see a limited amount of nesting. That can be
      useful for seeing the level or two below PQM submits for example.
      To force the ``--short`` and ``--line`` formats to display all nested
      merge revisions just like ``--long`` does by default, use a command
      like ``bzr log --short -n0``. To display just the mainline using
      ``--long`` format, ``bzr log --long -n1``.
      (Ian Clatworthy)


    * ``bzr add`` more clearly communicates success vs failure.
      (Daniel Watkins)

    * ``bzr init`` will now print a little less verbose output.
      (Marius Kruger)

    * ``bzr log`` is now much faster in many use cases, particularly
      at incrementally displaying results and filtering by a
      revision range. (Ian Clatworthy)

    * ``bzr log --short`` and ``bzr log --line`` now show tags, if any,
      for each revision. The tags are shown comma-separated inside
      ``{}``. For short format, the tags appear at the end of line
      before the optional ``[merge]`` indicator. For line format,
      the tags appear after the date. (Ian Clatworthy)

    * Progress bars now show the rate of activity for some sftp 
      operations, and they are drawn different.  (Martin Pool, #172741)

    * Progress bars now show the rate of activity for urllib and pycurl based
      http client implementations. The operations are tracked at the socket
      level for better precision.
      (Vincent Ladeuil)

    * Rule-based preferences can now accept multiple patterns for a set of
      rules.  (Marius Kruger)

    * The ``ancestor:`` revision spec will now default to referring to the
      parent of the branch if no other location is given.
      (Daniel Watkins, #198417)

    * The debugger started as a result of setting ``$BZR_PDB`` works
      around a bug in ``pdb``,  The bug
      can cause truncated tracebacks in Python versions before 2.6.
      (Andrew Bennetts)

    * VirtualVersionedFiles now implements
      ``iter_lines_added_or_present_in_keys``. This allows the creation of 
      new branches based on stacked bzr-svn branches. (#311997)


    * ``bzr annotate --show-ids`` doesn't give a backtrace on empty files
      (Anne Mohsen, Vincent Ladeuil, #314525)

    * ``bzr log FILE`` now correctly shows mainline revisions merging
      a change to FILE when the ``--short`` and ``--line`` log formats
      are used. (Ian Clatworthy, #317417)

    * ``bzr log -rX..Y FILE`` now shows the history of FILE provided
      it existed in Y or X, even if the file has since been deleted or
      renamed. If no range is given, the current/basis tree and
      initial tree are searched in that order. More generally, log
      now interprets filenames in their historical context.
      (Ian Clatworthy, #175520)

    * ``bzr status`` now reports nonexistent files and continues, then
       errors (with code 3) at the end.  (Karl Fogel, #306394)

    * Don't require the present compression base in knits to be the same
      when adding records in knits. (Jelmer Vernooij, #307394)

    * Fix a problem with CIFS client/server lag on Windows colliding with
      an invariant-per-process algorithm for generating AtomicFile names
      (Adrian Wilkins, #304023)

    * Many socket operations now handle EINTR by retrying the operation.
      Previously EINTR was treated as an unrecoverable failure.  There is
      a new ``until_no_eintr`` helper function in ``bzrlib.osutils``.
      (Andrew Bennetts)

    * Support symlinks with non-ascii characters in the symlink filename.
      (Jelmer Vernooij, #319323)

    * There was a bug in how we handled resolving when a file is deleted
      in one branch, and modified in the other. If there was a criss-cross
      merge, we would cause the deletion to conflict a second time.
      (Vincent Ladeuil, John Arbash Meinel)

    * There was another bug in how we chose the correct intermediate LCA in
      criss-cross merges leading to several kind of changes be incorrectly
      (John Arbash Meinel, Vincent Ladeuil)

    * Unshelve now handles deleted paths without crashing. (Robert Collins)


    * Improved plugin developer documentation.  (Martin Pool)


    * ``ProgressBarStack`` is deprecated; instead use
      ``ui_factory.nested_progress_bar`` to create new progress bars.
      (Martin Pool)

    * ForeignVcsMapping() now requires a ForeignVcs object as first
      argument. (Jelmer Vernooij)

    * ForeignVcsMapping.show_foreign_revid() has been moved to
      ForeignVcs. (Jelmer Vernooij)

    * ``read_bundle_from_url`` is deprecated in favor of
      ``read_mergeable_from_url``.  (Vincent Ladeuil)

    * Revision specifiers are now registered in
      ``bzrlib.revisionspec.revspec_registry``, and the old list of 
      revisionspec classes (``bzrlib.revisionspec.SPEC_TYPES``) has been
      deprecated. (Jelmer Vernooij, #321183)

    * The progress and UI classes have changed; the main APIs remain the
      same but code that provides a new UI or progress bar class may
      need to be updated.  (Martin Pool)


    * Default User Interface (UI) is CLIUIFactory when bzr runs in a dumb
      terminal. It is sometimes desirable do override this default by forcing
      bzr to use TextUIFactory. This can be achieved by setting the
      BZR_USE_TEXT_UI environment variable (emacs shells, as opposed to
      compile buffers, are such an example).
      (Vincent Ladeuil)

    * New API ``Branch.iter_merge_sorted_revisions()`` that iterates over
      ``(revision_id, depth, revno, end_of_merge)`` tuples.
      (Ian Clatworthy)

    * New ``Branch.dotted_revno_to_revision_id()`` and
      ``Branch.revision_id_to_dotted_revno()`` APIs that pick the most
      efficient way of doing the mapping.
      (Ian Clatworthy)

    * Refactor cmd_serve so that it's a little easier to build commands that
      extend it, and perhaps even a bit easier to read.  (Jonathan Lange)

    * ```` now accepts a ``filter`` parameter allowing log
      formatters to retrict the output.
      (Vincent Ladeuil)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <>

More information about the Python-announce-list mailing list