Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > 3ad95df1b9ec0c823807557dbacf5694 > files > 218

bzr-doc-2.2.4-1.fc14.noarch.rpm

bzr 1.6beta1
############

:Released: 2008-06-02

Commands that work on the revision history such as push, pull, missing,
uncommit and log are now substantially faster.  This release adds a
translation of some of the user documentation into Spanish.  (Contributions of
other translations would be very welcome.)  Bazaar 1.6beta1 adds a new network
protocol which is used by default and which allows for more efficient transfers
and future extensions.


Notes When Upgrading
********************

* There is a new version of the network protocol used for bzr://, bzr+ssh://
  and bzr+http:// connections.  This will allow more efficient requests and
  responses, and more graceful fallback when a server is too old to
  recognise a request from a more recent client.  Bazaar 1.6 will
  interoperate with 0.16 and later versions, but servers should be upgraded
  when possible.  Bazaar 1.6 no longer interoperates with 0.15 and earlier via
  these protocols.  Use alternatives like SFTP or upgrade those servers.
  (Andrew Bennetts, #83935)

Changes
*******

* Deprecation warnings will not be suppressed when running ``bzr selftest``
  so that developers can see if their code is using deprecated functions.
  (John Arbash Meinel)

Features
********

* Adding ``-Derror`` will now display a traceback when a plugin fails to
  load. (James Westby)

Improvements
************

* ``bzr branch/push/pull -r XXX`` now have a helper function for finding
  the revno of the new revision (``Graph.find_distance_to_null``). This
  should make something like ``bzr branch -r -100`` in a shared, no-trees
  repository much snappier. (John Arbash Meinel)

* ``bzr log --short -r X..Y`` no longer needs to access the full revision
  history. This makes it noticeably faster when logging the last few
  revisions. (John Arbash Meinel)

* ``bzr ls`` now accepts ``-V`` as an alias for ``--versioned``.
  (Jerad Cramp, #165086)

* ``bzr missing`` uses the new ``Graph.find_unique_ancestors`` and
  ``Graph.find_differences`` to determine missing revisions without having
  to search the whole ancestry. (John Arbash Meinel, #174625)

* ``bzr uncommit`` now uses partial history access, rather than always
  extracting the full revision history for a branch. This makes it
  resolve the appropriate revisions much faster (in testing it drops
  uncommit from 1.5s => 0.4s). It also means ``bzr log --short`` is one
  step closer to not using full revision history.
  (John Arbash Meinel, #172649)

Bugfixes
********

* ``bzr merge --lca`` should handle when two revisions have no common
  ancestor other than NULL_REVISION. (John Arbash Meinel, #235715)

* ``bzr status`` was breaking if you merged the same revision twice.
  (John Arbash Meinel, #235407)

* ``bzr push`` with both ``--overwrite`` and ``-r NNN`` options no longer
  fails.  (Andrew Bennetts, #234229)

* Correctly track the base URL of a smart medium when using bzr+http://
  URLs, which was causing spurious "No repository present" errors with
  branches in shared repositories accessed over bzr+http.
  (Andrew Bennetts, #230550)

* Define ``_remote_is_at_least_1_2`` on ``SmartClientMedium`` so that all
  implementations have the attribute.  Fixes 'PyCurlTransport' object has no
  attribute '_remote_is_at_least_1_2' attribute errors.
  (Andrew Bennetts, #220806)

* Failure to delete an obsolete pack file should just give a warning
  message, not a fatal error.  It may for example fail if the file is still
  in use by another process.
  (Martin Pool)

* Fix MemoryError during large fetches over HTTP by limiting the amount of
  data we try to read per ``recv`` call.  The problem was observed with
  Windows and a proxy, but might affect other environments as well.
  (Eric Holmberg, #215426)

* Handle old merge directives correctly in Merger.from_mergeable.  Stricter
  get_parent_map requirements exposed a latent bug here.  (Aaron Bentley)

* Issue a warning and ignore passwords declared in authentication.conf when
  used for an ssh scheme (sftp or bzr+ssh).
  (Vincent Ladeuil, #203186)

* Make both http implementations raise appropriate exceptions on 403
  Forbidden when POSTing smart requests.
  (Vincent Ladeuil, #230223)

* Properly *title* header names in http requests instead of capitalizing
  them.
  (Vincent Ladeuil, #229076)

* The "Unable to obtain lock" error message now also suggests using
  ``bzr break-lock`` to fix it.  (Martin Albisetti, #139202)

* Treat an encoding of '' as ascii; this can happen when bzr is run
  under vim on Mac OS X.
  (Neil Martinsen-Burrell)

* ``VersionedFile.make_mpdiffs()`` was raising an exception that wasn't in
  scope. (Daniel Fischer #235687)

Documentation
*************

* Added directory structure and started translation of docs in spanish.
  (Martin Albisetti, Lucio Albenga)

* Incorporate feedback from Jelmer Vernooij and Neil Martinsen-Burrell
  on the plugin and integration chapters of the User Guide.
  (Ian Clatworthy)

* More Bazaar developer documentation about packaging and release process,
  and about use of Python reprs.
  (Martin Pool, Martin Albisetti)

* Updated Tortise strategy document. (Mark Hammond)

Testing
*******

* ``bzrlib.tests.adapt_tests`` was broken and unused - it has been fixed.
  (Robert Collins)

* Fix the test HTTPServer to be isolated from chdir calls made while it is
  running, allowing it to be used in blackbox tests. (Robert Collins)

* New helper function for splitting test suites
  ``split_suite_by_condition``. (Robert Collins)

Internals
*********

* ``Branch.missing_revisions`` has been deprecated. Similar functionality
  can be obtained using ``bzrlib.missing.find_unmerged``. The api was
  fairly broken, and the function was unused, so we are getting rid of it.
  (John Arbash Meinel)

API Changes
***********

* ``Branch.abspath`` is deprecated; use the Tree or Transport
  instead.  (Martin Pool)

* ``Branch.update_revisions`` now takes an optional ``Graph``
  object. This can be used by ``update_revisions`` when it is
  checking ancestry, and allows callers to prefer request to go to a
  local branch.  (John Arbash Meinel)

* Branch, Repository, Tree and BzrDir should expose a Transport as an
  attribute if they have one, rather than having it indirectly accessible
  as ``.control_files._transport``.  This doesn't add a requirement
  to support a Transport in cases where it was not needed before;
  it just simplifies the way it is reached.  (Martin Pool)

* ``bzr missing --mine-only`` will return status code 0 if you have no
  new revisions, but the remote does. Similarly for ``--theirs-only``.
  The new code only checks one side, so it doesn't know if the other
  side has changes. This seems more accurate with the request anyway.
  It also changes the output to print '[This|Other] branch is up to
  date.' rather than displaying nothing.  (John Arbash Meinel)

* ``LockableFiles.put_utf8``, ``put_bytes`` and ``controlfilename``
  are now deprecated in favor of using Transport operations.
  (Martin Pool)

* Many methods on ``VersionedFile``, ``Repository`` and in
  ``bzrlib.revision``  deprecated before bzrlib 1.5 have been removed.
  (Robert Collins)

* ``RevisionSpec.wants_revision_history`` can be set to False for a given
  ``RevisionSpec``. This will disable the existing behavior of passing in
  the full revision history to ``self._match_on``. Useful for specs that
  don't actually need access to the full history. (John Arbash Meinel)

* The constructors of ``SmartClientMedium`` and its subclasses now require a
  ``base`` parameter.  ``SmartClientMedium`` implementations now also need
  to provide a ``remote_path_from_transport`` method.  (Andrew Bennetts)

* The default permissions for creating new files and directories
  should now be obtained from ``BzrDir._get_file_mode()`` and
  ``_get_dir_mode()``, rather than from LockableFiles.  The ``_set_file_mode``
  and ``_set_dir_mode`` variables on LockableFiles which were advertised
  as a way for plugins to control this are no longer consulted.
  (Martin Pool)

* ``VersionedFile.join`` is deprecated. This method required local
  instances of both versioned file objects and was thus hostile to being
  used for streaming from a smart server. The new get_record_stream and
  insert_record_stream are meant to efficiently replace this method.
  (Robert Collins)

* ``WorkingTree.set_parent_(ids/trees)`` will now filter out revisions
  which are in the ancestry of other revisions. So if you merge the same
  tree twice, or merge an ancestor of an existing merge, it will only
  record the newest. (If you merge a descendent, it will replace its
  ancestor). (John Arbash Meinel, #235407)

* ``WorkingTreeFormat2.stub_initialize_remote`` is now private.
  (Martin Pool)