2009-03-18 07:05:44 by Eric Gillespie | Files touched by this commit (3) | |
Log message:
bzr 1.13 "paraskavedekatriaphobia" 2009-03-14
---------------------------------------------
This release includes bug fixes and a few performance and feature improvements.
GNU Changelog output can now be produced by ``bzr log --format gnu-changelog``.
Debug flags can now be set in ``~/.bazaar/bazaar.conf``. Lightweight Checkouts
and Stacked Branches should both be much faster over remote connections.
CHANGES FROM bzr 1.13rc1 2009-03-10:
BUG FIXES:
* Fix "is not a stackable format" error when pushing a
stackable-format branch with an unstackable-format repository to a
destination with a default stacking policy. (Andrew Bennetts)
* Progress bars now show the rate of network activity for
``bzr+ssh://`` and ``bzr://`` connections. (Andrew Bennetts)
COMPATIBILITY BREAKS:
* ``bzr log --line`` now indicates which revisions are merges with
`[merge]` after the date. Scripts which parse the output of this
command may need to be adjusted.
(Neil Martinsen-Burrell)
NEW FEATURES:
* ``bzr reconfigure`` now supports --with-trees and --with-no-trees
options to change the default tree-creation policy of shared
repositories. (Matthew Fuller, Marius Kruger, #145033)
* Debug flags can now be set in ``~/.bazaar/bazaar.conf``.
(Martin Pool)
* Filtered views provide a mask over the tree so that users can focus
on a subset of a tree when doing their work. See ``Filtered views``
in chapter 7 of the User Guide and ``bzr help view`` for details.
(Ian Clatworthy)
* GNU Changelog output can now be produced by ``bzr log --format
gnu-changelog``. (Andrea Bolognani, Martin Pool)
* The ``-Dmemory`` flag now gives memory information on Windows.
(John Arbash Meinel)
* Multiple authors for a commit can now be recorded by using the \
"--author"
option multiple times. (James Westby, #185772)
* New clean-tree command, from bzrtools. (Aaron Bentley, Jelmer Vernoij)
* New command ``bzr launchpad-open`` opens a Launchpad web page for that
branch in your web browser, as long as the branch is on Launchpad at all.
(Jonathan Lange)
IMPROVEMENTS:
* ``bzr add`` no longer prints ``add completed`` on success. Failure
still prints an error message. (Robert Collins)
* ``bzr branch`` now has a ``--no-tree`` option which turns off the
generation of a working tree in the new branch.
(Daniel Watkins, John Klinger, #273993)
* Bazaar will now point out ``bzr+ssh://`` to the user when they
use ssh://. (Jelmer Vernooij, #330535)
* ``bzr -v info`` now omits the number of committers branch statistic,
making it many times faster for large projects. To include that
statistic in the output, use ``bzr -vv info``.
(Ian Clatworthy)
* ``bzr push`` to a ``bzr`` url (``bzr://``, ``bzr+ssh://`` etc) will
stream if the server is version 1.13 or greater, reducing roundtrips
significantly. (Andrew Bennetts, Robert Collins)
* Lightweight Checkouts and Stacked Branches should both be much
faster over remote connections. Building the working tree now
batches up requests into approx 5MB requests, rather than a separate
request for each file. (John Arbash Meinel)
* Support for GSSAPI authentication when using HTTP or HTTPS.
(Jelmer Vernooij)
* The ``bzr shelve`` prompt now includes a '?' help option to explain the
short options better. (Daniel Watkins, #327429)
* ``bzr lp-open`` now falls back to the push location if it cannot find a
public location. (Jonathan Lange, #332372)
* ``bzr lp-open`` will try to find the Launchpad URL for the location
passed on the command line. This makes ``bzr lp-open lp:foo`` work as
expected. (Jonathan Lange, #332705)
* ``bzr send`` now supports MH-E via ``emacsclient``. (Eric Gillespie)
BUG FIXES:
* Bazaar now gives a better message including the filename if it's
unable to read a file in the working directory, for example because
of a permission error. (Martin Pool, #338653)
* ``bzr send`` help is more specific about how to apply merge
directives. (Neil Martinsen-Burrell, #253470)
* ``bzr missing`` now uses ``Repository.get_revision_delta()`` rather
than fetching trees and determining a delta itself. (Jelmer
Vernooij, #315048)
* ``bzr push`` to a smart server no longer causes "Revision
{set([('null:',)])} not present ..." errors when the branch has
multiple root revisions. (Andrew Bennetts, #317654)
* ``bzr shelve`` now properly handle patches with no terminating newline.
(Benoît PIERRE, #303569)
* ``bzr unshelve`` gives a more palatable error if passed a non-integer
shelf id. (Daniel Watkins)
* Export now handles files that are not present in the tree.
(James Westby, #174539)
* Fixed "sprout() got an unexpected keyword argument 'source_branch'"
error branching from old repositories.
(Martin Pool, #321695)
* Make ``bzr push --quiet <non-local location>`` less chatty.
(Kent Gibson, #221461)
* Many Branch hooks would not fire with ``bzr://`` and ``bzr+ssh://``
branches, and this was not noticed due to a bug in the test logic
for branches. This is now fixed and a test added to prevent it
reoccuring. (Robert Collins, Andrew Bennetts)
* Restore the progress bar on Windows. We were disabling it when TERM
wasn't set, but Windows doesn't set TERM. (Alexander Belchenko)
* ``setup.py build_ext`` now gives a proper error when an extension
fails to build. (John Arbash Meinel)
* Symlinks to non ascii file names are now supported.
(Robert Collins, Vincent Ladeuil, #339055, #272444)
* Under rare circumstances (aka nobody reported a bug about it), the ftp
transport could revert to ascii mode. It now stays in binary mode except
when needed.
(Vincent Ladeuil)
* Unshelve does not generate warnings about progress bars.
(Aaron Bentley, #328148)
DOCUMENTATION:
* Added ``Organizing your workspace`` to the User Guide appendices,
summarizing some common ways of organizing trees, branches and
repositories and the processes/workflows implied/enabled by each.
(Ian Clatworthy)
* Hooks can now be self documenting. ``bzrlib.hooks.Hooks.create_hook``
is the entry point for this feature. (Robert Collins)
* The documentation for ``shelve`` and ``unshelve`` has been clarified.
(Daniel Watkins, #327421, #327425)
API CHANGES:
* ``bzr selftest`` now fails if the bazaar sources contain trailing
whitespace, non-unix style line endings and files not ending in a
newline. About 372 files and 3243 lines with trailing whitespace was
updated to comply with this. The code already complied with the other
criteria, but now it is enforced. (Marius Kruger)
* ``Branch.fetch`` and ``Repository.fetch`` now return None rather
than a count of copied revisions and failed revisions. A while back
we stopped ever reporting failed revisions because we started
erroring instead, and the copied revisions count is not used in the
UI at all - indeed it only reflects the repository status not
changes to the branch itself. (Robert Collins)
* MutableTree.commit now favours the "authors" argument, with the old
"author" argument being deprecated.
* Remove deprecated EmptyTree. (Martin Pool)
* ``Repository.fetch`` now accepts an optional ``fetch_spec``
parameter. A ``SearchResult`` or ``MiniSearchResult`` may be passed
to ``fetch_spec`` instead of a ``last_revision`` to specify exactly
which revisions to fetch. (Andrew Bennetts)
* ``RepositoryAcquisitionPolicy.acquire_repository`` now returns a
tuple of ``(repository, is_new_flag)``, rather than just the
repository. (Andrew Bennetts)
* Revision.get_apparent_author() is now deprecated, replaced by
Revision.get_apparent_authors(), which returns a list. The former
now returns the first item that would be returned from the second.
* The ``BranchBuilder`` test helper now accepts a ``timestamp``
parameter to ``build_commit`` and ``build_snapshot``. (Martin Pool)
* The ``_fetch_*`` attributes on ``Repository`` are now on
``RepositoryFormat``, more accurately reflecting their intent (they
describe a disk format capability, not state of a particular
repository of that format). (Robert Collins)
INTERNALS:
* Branching from a non-stacked branch on a smart protocol is now
free of virtual file system methods.
(Robert Collins, Andrew Bennetts)
* Branch and Repository creation on a bzr+ssh://server are now done
via RPC calls rather than VFS calls, reducing round trips for
pushing new branches substantially. (Robert Collins)
* ``Branch.clone`` now takes the ``repository_policy`` formerly used
inside ``BzrDir.clone_on_transport``, allowing stacking to be
configured before the branch tags and revision tip are set. This
fixes a race condition cloning stacked branches that would cause
plugins to have hooks called on non-stacked instances.
(Robert Collins, #334187)
* ``BzrDir.cloning_metadir`` now has a RPC call. (Robert Collins)
* ``BzrDirFormat.__str__`` now uses the human readable description
rather than the sometimes-absent disk label. (Robert Collins)
* ``bzrlib.fetch`` is now composed of a sender and a sink component
allowing for decoupling over a network connection. Fetching from
or into a RemoteRepository with a 1.13 server will use this to
stream the operation.
(Andrew Bennetts, Robert Collins)
* ``bzrlib.tests.run_suite`` accepts a runner_class parameter
supporting the use of different runners. (Robert Collins)
* Change how file_ids and revision_ids are interned as part of
inventory deserialization. Now we use the real ``intern()``, rather
than our own workaround that would also cache a Unicode copy of the
string, and never emptied the cache. This should slightly reduce
memory consumption. (John Arbash Meinel)
* New branch method ``create_clone_on_transport`` that returns a
branch object. (Robert Collins)
* New hook Commands['extend_command'] to allow plugins to access a
command object before the command is run (or help generated from
it), without overriding the command. (Robert Collins)
* New version of the ``BzrDir.find_repository`` verb supporting
``_network_name`` to support removing more _ensure_real calls.
(Robert Collins)
* ``RemoteBranchFormat`` no longer claims to have a disk format string.
(Robert Collins)
* ``Repository`` objects now have ``suspend_write_group`` and
``resume_write_group`` methods. These are currently only useful
with pack repositories. (Andrew Bennetts, Robert Collins)
* ``BzrDirFormat``, ``BranchFormat`` and ``RepositoryFormat`` objects
now have a ``network_name`` for passing the format across RPC calls.
(Robert Collins, Andrew Bennetts)
* ``RepositoryFormat`` objects now all have a new attribute
``_serializer`` used by fetch when reserialising is required.
(Robert Collins, Andrew Bennetts)
* Some methods have been pulled up from ``BzrBranch`` to ``Branch``
to aid branch types that are not bzr branch objects (like
RemoteBranch). (Robert Collins, Andrew Bennetts)
* Test adaptation has been made consistent throughout the built in
tests. ``TestScenarioApplier``, ``multiply_tests_from_modules``,
``adapt_tests``, ``adapt_modules`` have all been deleted. Please
use ``multiply_tests``, or for lower level needs ``apply_scenarios``
and ``apply_scenario``. (Robert Collins)
* ``TestSkipped`` is now detected by TestCase and passed to the
``TestResult`` by calling ``addSkip``. For older TestResult objects,
where ``addSkip`` is not available, ``addError`` is still called.
This permits test filtering in subunit to strip out skipped tests
resulting in a faster fix-shrink-list-run cycle. This is compatible
with the testtools protocol for skips. (Robert Collins)
* The ``_index`` of ``KnitVersionedFiles`` now supports the ability
to scan an underlying index that is going to be incorporated into
the ``KnitVersionedFiles`` object, to determine if it has missing
delta references. The method is ``scan_unvalidated_index``.
(Andrew Bennetts, Robert Collins)
* There is a RemoteSink object which handles pushing to smart servers.
(Andrew Bennetts, Robert Collins)
* ``TransportTraceDecorator`` now logs ``put_bytes_non_atomic`` and
``rmdir`` calls. (Robert Collins)
* ``VersionedFiles`` record adapters have had their signature change
from ``(record, record.get_bytes_as(record.storage_kind))`` to
``(record)`` reducing excess duplication and allowing adapters
to access private data in record to obtain content more
efficiently. (Robert Collins)
* We no longer probe to see if we should create a working tree during
clone if we cannot get a local_abspath for the new bzrdir.
(Robert Collins)
|
2009-02-19 08:06:40 by Eric Gillespie | Files touched by this commit (3) | |
Log message:
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.
BUG FIXES:
* ``bzr init --development-wt5[-rich-root]`` would fail because of
circular import errors. (John Arbash Meinel, #328135)
DOCUMENTATION:
* Expanded the help for log and added a new help topic called
``log-formats``. (Ian Clatworthy)
bzr 1.12rc1 "1234567890" 2009-02-10
-----------------------------------
COMPATIBILITY BREAKS:
* 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)
NEW FEATURES:
* 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)
IMPROVEMENTS:
* ``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``, http://bugs.python.org/issue4150. 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)
BUG FIXES:
* ``bzr annotate --show-ids`` doesn't give a backtrace on empty files
anymore.
(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
handled.
(John Arbash Meinel, Vincent Ladeuil)
* Unshelve now handles deleted paths without crashing. (Robert Collins)
DOCUMENTATION:
* Improved plugin developer documentation. (Martin Pool)
API CHANGES:
* ``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)
INTERNALS:
* 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)
* ``TreeDelta.show()`` now accepts a ``filter`` parameter allowing log
formatters to retrict the output.
(Vincent Ladeuil)
|
2009-02-09 23:56:28 by Joerg Sonnenberger | Files touched by this commit (167) |
Log message:
Switch to Python 2.5 as default. Bump revision of all packages that have
changed runtime dependencies now.
|
2009-01-19 22:41:48 by Eric Gillespie | Files touched by this commit (4) | |
Log message:
bzr 1.11 "Eyes up!" 2009-01-19
------------------------------
This first monthly release of Bazaar for 2009 improves Bazaar's operation
in Windows, Mac OS X, and other situations where file names are matched
without regard to capitalization: Bazaar tries to match the case of an
existing file. This release of Bazaar also improves the efficiency of
Tortoise Windows Shell integration and lets it work on 64-bit platforms.
The UI through which Bazaar supports historic formats has been improved,
so 'bzr help formats' now gives a simpler and shorter list, with clear
advice.
This release also fixes a number of bugs, particularly a glitch that can
occur when there are concurrent writes to a pack repository.
BUG FIXES:
* Fix failing test when CompiledChunksToLines is not available.
(Vincent Ladeuil)
* Stacked branches don't repeatedly open their transport connection.
(John Arbash Meinel)
bzr 1.11rc1 "Eyes up!" 2009-01-09
---------------------------------
CHANGES:
* Formats using Knit-based repository formats are now explicitly
marked as deprecated. (Ian Clatworthy)
NEW FEATURES:
* Add support for `bzr tags -r 1..2`, that is we now support showing
tags applicable for a specified revision range. (Marius Kruger)
* ``authentication.conf`` now accepts pluggable read-only credential
stores. Such a plugin (``netrc_credential_store``) is now included,
handles the ``$HOME/.netrc`` file and can server as an example to
implement other plugins.
(Vincent Ladeuil)
* ``shelve --list`` can now be used to list shelved changes.
(Aaron Bentley)
IMPROVEMENTS:
* Add trailing slash to directories in all output of ``bzr ls``, except
``bzr ls --null``. (Gordon P. Hemsley, #306424)
* ``bzr revision-info`` now supports a -d option to specify an
alternative branch. (Michael Hudson)
* Add connection to a C++ implementation of the Windows Shell Extension
which is able to fully replace the current Python implemented one.
Advantages include 64bit support and reduction in overhead for
processes which drag in shell extensions.
(Mark Hammond)
* Support the Claws mail client directly, rather than via
xdg-email. This prevents the display of an unnecessary modal
dialog in Claws, informing the user that a file has been
attached to the message, and works around bug #291847 in
xdg-utils which corrupts the destination address.
* When working on a case-insensitive case-preserving file-system, as
commonly found with Windows, bzr will often ignore the case of the
arguments specified by the user in preference to the case of an existing
item on the file-system or in the inventory to help prevent
counter-intuitive behaviour on Windows. (Mark Hammond)
BUG FIXES:
* Allow BzrDir implementation to implement backing up of
control directory. (#139691)
* ``bzr push`` creating a new stacked branch will now only open a
single connection to the target machine. (John Arbash Meinel)
* Don't call iteritems on transport_list_registry, because it may
change during iteration. (Martin Pool, #277048)
* Don't make a broken branch when pushing an unstackable-format branch
that's in a stackable shared repository to a location with default
stack-on location. (Andrew Bennetts, #291046)
* Don't require embedding user in HTTP(S) URLs do use authentication.conf.
(Ben Jansen, Vincent Ladeuil, #300347)
* Fix a problem with CIFS client/server lag on windows colliding with
an invariant-per-process algorithm for generating AtomicFile names
(Adrian Wilkins, #304023)
* Fix bogus setUp signature in UnavailableFTPServer.
(Gary van der Merwe, #313498)
* Fix compilation error in ``_dirstate_helpers_c`` on SunOS/Solaris.
(Jari Aalto)
* Fix SystemError in ``_patiencediff_c`` module by calling
PyErr_NoMemory() before returning NULL in PatienceSequenceMatcher_new.
(Andrew Bennetts, #303206)
* Give proper error message for diff with non-existent dotted revno.
(Marius Kruger, #301969)
* Handle EACCES (permission denied) errors when launching a message
editor, and emit warnings when a configured editor cannot be
started. (Andrew Bennetts)
* ``$HOME/.netrc`` file is now recognized as a read-only credential store
if configured in ``authentication.conf`` with 'password_encoding=netrc'
in the appropriate sections.
(Vincent Ladeuil, #103029)
* Opening a stacked branch now properly shares the connection, rather
than opening a new connection for the stacked-on branch.
(John Arbash meinel)
* Preserve transport decorators while following redirections.
(Vincent Ladeuil, #245964, #270863)
* Provides a finer and more robust filter for accepted redirections.
(Vincent Ladeuil, #303959, #265070)
* ``shelve`` paths are now interpreted relative to the current working
tree. (Aaron Bentley)
* ``Transport.readv()`` defaults to not reading more than 100MB in a
single array. Further ``RemoteTransport.readv`` sets this to 5MB to
work better with how it splits its requests.
(John Arbash Meinel, #303538)
* Pack repositories are now able to reload the pack listing and retry
the current operation if another action causes the data to be
repacked. (John Arbash Meinel, #153786)
* ``pull -v`` now respects the log_format configuration variable.
(Aaron Bentley)
* ``push -v`` now works on non-initial pushes. (Aaron Bentley)
* Use the short status format when the short format is used for log.
(Vincent Ladeuil, #87179)
* Allow files to be renamed or moved via remove + add-by-id. (Charles
Duffy, #314251)
DOCUMENTATION:
* Improved the formats help topic to explain why multiple formats
exist and to provide guidelines in selecting one. Introduced
two new supporting help topics: current-formats and other-formats.
(Ian Clatworthy)
API CHANGES:
* ``LRUCache(after_cleanup_size)`` was renamed to
``after_cleanup_count`` and the old name deprecated. The new name is
used for clarity, and to avoid confusion with
``LRUSizeCache(after_cleanup_size)``. (John Arbash Meinel)
* New ``ForeignRepository`` base class, to help with foreign branch
support (e.g. svn). (Jelmer Vernooij)
* ``node_distances`` and ``select_farthest`` can no longer be imported
from ``bzrlib.graph``. They can still be imported from
``bzrlib.deprecated_graph``, which has been the preferred way to
import them since before 1.0. (Andrew Bennetts)
* The logic in commit now delegates inventory basis calculations to
the ``CommitBuilder`` object; this requires that the commit builder
in use has been updated to support the new ``recording_deletes`` and
``record_delete`` methods. (Robert Collins)
TESTING:
* An HTTPS server is now available (it requires python-2.6). Future bzr
versions will allow the use of the python-2.6 ssl module that can be
installed for 2.5 and 2.4.
* ``bzr selftest`` now fails if new trailing white space is added to
the bazaar sources. It only checks changes not committed yet. This
means that PQM will now reject changes that introduce new trailing
whitespace. (Marius Kruger)
* Introduced new experimental formats called ``1.12-preview`` and
``1.12-preview-rich-root`` to enable testing of related pending
features, namely content filtering and filtered views.
(Ian Clatworthy)
INTERNALS:
* Added an ``InventoryEntry`` cache when deserializing inventories.
Can cut the time to iterate over multiple RevisionsTrees in half.
(John Arbash Meinel)
* Added ``bzrlib.fifo_cache.FIFOCache`` which is designed to have
minimal overhead versus using a plain dict for cache hits, at the
cost of not preserving the 'active' set as well as an ``LRUCache``.
(John Arbash Meinel)
* ``bzrlib.patience_diff.unified_diff`` now properly uses a tab
character to separate the filename from the date stamp, and doesn't
add trailing whitespace when a date stamp is not supplied.
(Adeodato Simó, John Arbash Meinel)
* ``DirStateWorkingTree`` and ``DirStateWorkingTreeFormat`` added
as base classes of ``WorkingTree4`` and ``WorkingTreeFormat4``
respectively. (Ian Clatworthy)
* ``KnitVersionedFiles._check_should_delta()`` now uses the
``get_build_details`` api to avoid multiple hits to the index, and
to properly follow the ``compression_parent`` rather than assuming
it is the left-hand parent. (John Arbash Meinel)
* ``KnitVersionedFiles.get_record_stream()`` will now chose a
more optimal ordering when the keys are requested 'unordered'.
Previously the order was fully random, now the records should be
returned from each pack in turn, in forward I/O order.
(John Arbash Meinel)
* ``mutter()`` will now flush the ``~/.bzr.log`` if it has been more
than 2s since the last time it flushed. (John Arbash Meinel)
* New method ``bzrlib.repository.Repository.add_inventory_by_delta``
allows adding an inventory via an inventory delta, which can be
more efficient for some repository types. (Robert Collins)
* Repository ``CommitBuilder`` objects can now accumulate an inventory
delta. To enable this functionality call ``builder.recording_deletes``
and additionally call ``builder.record_delete`` when a delete
against the basis occurs. (Robert Collins)
* The default http handler has been changed from pycurl to urllib.
The default is still pycurl for https connections. (The only
advantage of pycurl is that it checks ssl certificates.)
(John Arbash Meinel)
* ``VersionedFiles.get_record_stream()`` can now return objects with a
storage_kind of ``chunked``. This is a collection (list/tuple) of
strings. You can use ``osutils.chunks_to_lines()`` to turn them into
guaranteed 'lines' or you can use ``''.join(chunks)`` to turn it
into a fulltext. This allows for some very good memory savings when
asking for many texts that share ancestry, as the individual chunks
can be shared between versions of the file. (John Arbash Meinel)
* ``pull -v`` and ``push -v`` use new function
``bzrlib.log.show_branch_change`` (Aaron Bentley)
|
2008-12-07 03:32:21 by Eric Gillespie | Files touched by this commit (3) | |
Log message:
bzr 1.10 2008-12-05
-------------------
Bazaar 1.10 has several performance improvements for copying revisions
(especially for small updates to large projects). There has also been a
significant amount of effort in polishing stacked branches. The commands
``shelve`` and ``unshelve`` have become core commands, with an improved
implementation.
The only changes versus bzr-1.10rc1 are bugfixes for stacked branches.
BUG FIXES:
* Don't set a pack write cache size from RepoFetcher, because the
cache is not coherent with reads and causes ShortReadvErrors.
This reverses the change that fixed #294479.
(Martin Pool, #303856)
* Properly handle when a revision can be inserted as a delta versus
when it needs to be expanded to a fulltext for stacked branches.
There was a bug involving merge revisions. As a method to help
prevent future difficulties, also make stacked fetches sort
topologically. (John Arbash Meinel, #304841)
bzr 1.10rc1 2008-11-28
----------------------
This release of Bazaar focuses on performance improvements when pushing
and pulling revisions, both locally and to remote networks. The popular
``shelve`` and ``unshelve`` commands, used to interactively revert and
restore work in progress, have been merged from bzrtools into the bzr
core. There are also bug fixes for portability, and for stacked branches.
NEW FEATURES:
* New ``commit_message_template`` hook that is called by the commit
code to generate a template commit message. (Jelmer Vernooij)
* New `shelve` and `unshelve` commands allow undoing and redoing changes.
(Aaron Bentley)
IMPROVEMENTS:
* ``(Remote)Branch.copy_content_into`` no longer generates the full revision
history just to set the last revision info.
(Andrew Bennetts, John Arbash Meinel)
* Fetches between formats with different serializers (such as
pack-0.92-subtree and 1.9-rich-root) are faster now. This is due to
operating on batches of 100 revisions at time rather than
one-by-one. (Andrew Bennetts, John Arbash Meinel)
* Search index files corresponding to pack files we've already used
before searching others, because they are more likely to have the
keys we're looking for. This reduces the number of iix and tix
files accessed when pushing 1 new revision, for instance.
(John Arbash Meinel)
* Signatures to transfer are calculated more efficiently in
``item_keys_introduced_by``. (Andrew Bennetts, John Arbash Meinel)
* The generic fetch code can once again copy revisions and signatures
without extracting them completely to fulltexts and then serializing
them back down into byte strings. This is a significant performance
improvement when fetching from a stacked branch.
(John Arbash Meinel, #300289)
* When making a large readv() request over ``bzr+ssh``, break up the
request into more manageable chunks. Because the RPC is not yet able
to stream, this helps keep us from buffering too much information at
once. (John Arbash Meinel)
BUG FIXES:
* Better message when the user needs to set their Launchpad ID.
(Martin Pool, #289148)
* ``bzr commit --local`` doesn't access the master branch anymore.
This fixes a regression introduced in 1.9. (Marius Kruger, #299313)
* Don't call the system ``chdir()`` with an empty path. Sun OS seems
to give an error in that case. Also, don't count on ``getcwd()``
being able to allocate a new buffer, which is a gnu extension.
(John Arbash Meinel, Martin Pool, Harry Hirsch, #297831)
* Don't crash when requesting log --forward <file> for a revision range
starting with a dotted revno.
(Vincent Ladeuil, #300055)
* Don't create text deltas spanning stacked repositories; this could
cause "Revision X not present in Y" when later accessing them.
(Martin Pool, #288751)
* Pack repositories are now able to reload the pack listing and retry
the current operation if another action causes the data to be
repacked. (John Arbash Meinel, #153786)
* PermissionDenied errors from smart servers no longer cause
"PermissionDenied: "None"" on the client.
(Andrew Bennetts, #299254)
* Pushing to a stacked pack repository now batches writes, the same
way writes are batched to ordinary pack repository. This makes
pushing to a stacked branch over the network much faster.
(Andrew Bennetts, #294479)
* TooManyConcurrentRequests no longer occur when a fetch fails and
tries to abort a write group. This allows the root cause (e.g. a
network interruption) to be reported. (Andrew Bennetts, #297014)
* RemoteRepository.get_parent_map now uses fallback repositories.
(Aaron Bentley, #297991?, #293679?)
API CHANGES:
* ``CommitBuilder`` now validates the strings it will be committing,
to ensure that they do not have characters that will not be properly
round-tripped. For now, it just checks for characters that are
invalid in the XML form. (John Arbash Meinel, #295161)
* Constructor parameters for NewPack (internal to pack repositories)
have changed incompatibly.
* ``Repository.abort_write_group`` now accepts an optional
``suppress_errors`` flag. Repository implementations that override
``abort_write_group`` will need to be updated to accept the new
argument. Subclasses that only override ``_abort_write_group``
don't need to change.
* Transport implementations must provide copy_tree_to_transport. A default
implementation is provided for Transport subclasses.
TESTING:
* ``bzr selftest`` now fails if no doctests are found in a module
that's expected to have them. (Martin Pool)
* Doctests now only report the first failure. (Martin Pool)
|
2008-11-08 03:56:14 by Eric Gillespie | Files touched by this commit (1) |
Log message:
py-paramiko is in security, not devel.
|
2008-11-08 03:50:15 by Eric Gillespie | Files touched by this commit (3) | |
Log message:
bzr 1.9 2008-11-07
------------------
This release of Bazaar adds a new repository format, ``1.9``, with smaller
and more efficient index files. This format can be specified when
creating a new repository, or used to losslessly upgrade an existing
repository. bzr 1.9 also speeds most operations over the smart server
protocol, makes annotate faster, and uses less memory when making
checkouts or pulling large amounts of data.
BUG FIXES:
* Fix "invalid property value 'branch-nick' for None" regression with
branches bound to svn branches. (Martin Pool, #293440)
* Fix SSL/https on Python2.6. (Vincent Ladeuil, #293054)
* ``SFTPTransport.readv()`` had a bug when requests were out-of-order.
This only triggers some-of-the-time on Knit format repositories.
(John Arbash Meinel, #293746)
bzr 1.9rc1 2008-10-31
---------------------
NEW FEATURES:
* New Branch hook ``transform_fallback_location`` allows a function to
be called when looking up the stacked source. (Michael Hudson)
* New repository formats ``1.9`` and ``1.9-rich-root``. These have all
the functionality of ``1.6``, but use the new btree indexes.
These indexes are both smaller and faster for access to historical
information. (John Arbash Meinel)
IMPROVEMENTS:
* ``BTreeIndex`` code now is able to prefetch extra pages to help tune
the tradeoff between bandwidth and latency. Should be tuned
appropriately to not impact commands which need minimal information,
but provide a significant boost to ones that need more context. Only
has a direct impact on the ``--development2`` format which uses
btree's for the indexes. (John Arbash Meinel)
* ``bzr dump-btree`` is a hidden command introduced to allow dumping
the contents of a compressed btree file. (John Arbash Meinel)
* ``bzr pack`` now tells the index builders to optimize for size. For
btree index repositories, this can save 25% of the index size
(mostly in the text indexes). (John Arbash Meinel)
* ``bzr push`` to an existing branch or repository on a smart server
is faster, due to Bazaar making more use of the ``get_parent_map``
RPC when querying the remote branch's revision graph.
(Andrew Bennetts)
* default username for bzr+ssh and sftp can be configured in
authentication.conf. (Aaron Bentley)
* launchpad-login now provides a default username for bzr+ssh and sftp
URLs, allowing username-free URLs to work for everyone. (Aaron Bentley)
* ``lp:`` lookups no longer include usernames, making them shareable and
shorter. (Aaron Bentley)
* New ``PackRepository.autopack`` smart server RPC, which does
autopacking entirely on the server. This is much faster than
autopacking via plain file methods, which downloads a large amount
of pack data and then re-uploads the same pack data into a single
file. This fixes a major (although infrequent) cause of lengthy
delays when using a smart server. For example, pushing the 10th
revision to a repository with 9 packs now takes 44 RPCs rather than
179, and much less bandwidth too. This requires Bazaar 1.9 on both
the client and the server, otherwise the client will fallback to the
slower method. (Andrew Bennetts)
BUG FIXES:
* A failure to load a plugin due to an IncompatibleAPI exception is
now correctly reported. (Robert Collins, #279451)
* API versioning support now has a multiple-version checking api
``require_any_api``. (Robert Collins, #279447)
* ``bzr branch --stacked`` from a smart server to a standalone branch
works again. This fixes a regression in 1.7 and 1.8.
(Andrew Bennetts, #270397)
* ``bzr co`` uses less memory. It used to unpack the entire WT into
memory before writing it to disk. This was a little bit faster, but
consumed lots of memory. (John Arbash Meinel, #269456)
* ``bzr missing --quiet`` no longer prints messages about whether
there are missing revisions. The exit code indicates whether there
were or not. (Martin Pool, #284748)
* Fixes to the ``annotate`` code. The fast-path which re-used the
stored deltas was accidentally disabled all the time, instead of
only when a branch was stacked. Second, the code would accidentally
re-use a delta even if it wasn't against the left-parent, this
could only happen if ``bzr reconcile`` decided that the parent
ordering was incorrect in the file graph. (John Arbash Meinel)
* "Permission denied" errors that occur when pushing a new branch to a
smart server no longer cause tracebacks. (Andrew Bennetts, #278673)
* Some compatibility fixes for building the extensions with MSVC and
for python2.4. (John Arbash Meinel, #277484)
* The index logic is now able to reload the list of pack files if and
index ends up disappearing. We still don't reload if the pack data
itself goes missing after checking the index. This bug appears as a
transient failure (file not found) when another process is writing
to the repository. (John Arbash Meinel, #153786)
* ``bzr switch`` and ``bzr bind`` will now update the branch nickname if
it was previously set. All checkouts will now refer to the bound branch
for a nickname if one was not explicitly set.
(Marius Kruger, #230903)
DOCUMENTATION:
* Improved hook documentation. (Michael Ernst)
API CHANGES:
* commands.plugins_cmds is now a CommandRegistry, not a dict.
INTERNALS:
* New AuthenticationConfig.set_credentials method allows easy programmatic
configuration of authetication credentials.
bzr 1.8 2008-10-16
------------------
Bazaar 1.8 includes several fixes that improve working tree performance,
display of revision logs, and merges. The bzr testsuite now passes on OS
X and Python 2.6, and almost completely passes on Windows. The
smartserver code has gained several bug fixes and performance
improvements, and can now run server-side hooks within an http server.
BUG FIXES:
* Fix "Must end write group" error when another error occurs during
``bzr push``. (Andrew Bennetts, #230902)
PORTABILITY:
* Some Pyrex versions require the WIN32 macro defined to compile on
that platform. (Alexander Belchenko, Martin Pool, #277481)
bzr 1.8rc1 2008-10-07
---------------------
CHANGES:
* ``bzr log file`` has been changed. It now uses a different method
for determining which revisions to show as merging the changes to
the file. It now only shows revisions which merged the change
towards your mainline. This simplifies the output, makes it faster,
and reduces memory consumption. (John Arbash Meinel)
* ``bzr merge`` now defaults to having ``--reprocess`` set, whenever
``--show-base`` is not supplied. (John Arbash Meinel)
* ``bzr+http//`` will now optionally load plugins and write logs on the
server. (Marius Kruger)
* ``bzrlib._dirstate_helpers_c.pyx`` does not compile correctly with
Pyrex 0.9.4.1 (it generates C code which causes segfaults). We
explicitly blacklist that version of the compiler for that
extension. Packaged versions will include .c files created with
pyrex >= 0.9.6 so it doesn't effect releases, only users running
from the source tree. (John Arbash Meinel, #276868)
FEATURES
* bzr is now compatible with python-2.6. python-2.6 is not yet officially
supported (nor released, tests were conducted with the dev version of
python-2.6rc2), but all known problems have been fixed. Feedback
welcome.
(Vincent Ladeuil, #269535)
IMPROVEMENTS:
* ``bzr annotate`` will now include uncommitted changes from the local
working tree by default. Such uncommitted changes are given the
revision number they would get if a commit was done, followed with a
? to indicate that its not actually known. (Robert Collins, #3439)
* ``bzr branch`` now accepts a ``--standalone`` option, which creates a
standalone branch regardless of the presence of shared repositories.
(Daniel Watkins)
* ``bzr push`` is faster in the case there are no new revisions to
push. It is also faster if there are no tags in the local branch.
(Andrew Bennetts)
* File changes during a commit will update the tree stat cache.
(Robert Collins)
* Location aliases can now accept a trailing path. (Micheal Hudson)
* New hooks ``Lock.hooks`` when LockDirs are acquired and released.
(Robert Collins, MartinPool)
* Switching in heavyweight checkouts uses the master branch's context, not
the checkout's context. (Adrian Wilkins)
* ``status`` on large trees is now faster, due to optimisations in the
walkdirs code. Of particular note, the walkdirs code now performs
a temporary ``chdir()`` while reading a single directory; if your
platform has non thread-local current working directories (and is
not windows which has its own implementation), this may introduce a
race condition during concurrent uses of bzrlib. The bzrlib CLI
will not encounter this as it is single threaded for working tree
operations. (Robert Collins)
* The C extensions now build on python 2.4 (Robert Collins, #271939)
* The ``-Dhpss`` debug flag now reports the number of smart server
calls per medium to stderr. This is in addition to the existing
detailed logging to the .bzr.log trace file. (Andrew Bennetts)
BUG FIXES:
* Avoid random failures arising from misinterpreted ``errno`` values
in ``_readdir_pyx.read_dir``.
(Martin Pool, #279381)
* Branching from a shared repository on a smart server into a new
repository now preserves the repository format.
(Andrew Bennetts, #269214)
* ``bzr log`` now accepts a ``--change`` option.
(Vincent Ladeuil, #248427)
* ``bzr missing`` now accepts an ``--include-merges`` option.
(Vincent Ladeuil, #233817)
* Don't try to filter (internally) '.bzr' from the files to be deleted if
it's not there.
(Vincent Ladeuil, #272648)
* Fix '_in_buffer' AttributeError when using the -Dhpss debug flag.
(Andrew Bennetts)
* Fix TooManyConcurrentRequests errors caused by a connection failure
when doing ``bzr pull`` or ``bzr merge`` from a ``bzr+ssh`` URL.
(Andrew Bennetts, #246233)
* Fixed ``bzr st -r branch:PATH_TO_BRANCH`` where the other branch
is in a different repository than the current one.
(Lukáš Lalinský, #144421)
* Make the first line of the manpage preamble a comment again.
(David Futcher, #242106)
* Remove use of optional parameter in GSSAPI FTP support, since
it breaks newer versions of Python-Kerberos. (Jelmer Vernooij)
* The autopacking logic will now always create a single new pack from
all of the content which it deems is worth moving. This avoids the
'repack a single pack' bug and should result in better packing
overall. (John Arbash Meinel, #242510, #172644)
* Trivial documentation fix.
(John Arbash Meinel, #270471)
DOCUMENTATION:
* Explain revision/range identifiers. (Daniel Clemente)
API CHANGES:
* ``CommitBuilder.record_entry_contents`` returns one more element in
its result tuple - an optional file system hash for the hash cache
to use. (Robert Collins)
* ``dirstate.DirState.update_entry`` will now only calculate the sha1
of a file if it is likely to be needed in determining the output
of iter_changes. (Robert Collins)
* The PackRepository, RepositoryPackCollection, NewPack classes have a
slightly changed interface to support different index types; as a
result other users of these classes need to supply the index types
they want. (Robert Collins)
TESTING:
* ``bzrlib.tests.repository_implementations`` has been renamed to
``bzrlib.tests.per_repository`` so that we have a common structure
(and it is shorter). (John Arbash Meinel, #239343)
* ``LocalTransport.abspath()`` now returns a drive letter if the
transport has one, fixing numerous tests on Windows.
(Mark Hammond)
* PreviewTree is now tested via intertree_implementations.
(Aaron Bentley)
* The full test suite is passing again on OSX.
(Guillermo Gonzalez, Vincent Ladeuil)
* The full test suite passes when run with ``-Eallow_debug``.
(Andrew Bennetts)
INTERNALS:
* A new hook, ``Branch.open``, has been added, which is called when
branch objects are opened. (Robert Collins)
* ``bzrlib.osutils._walkdirs_utf8`` has been refactored into common
tree walking, and modular directory listing code to aid future
performance optimisations and refactoring. (Robert Collins)
* ``bzrlib.trace.debug_memory`` can be used to get a quick memory dump
in the middle of processing. It only reports memory if
``/proc/PID/status`` is available. (John Arbash Meinel)
* New method ``RevisionSpec.as_tree`` for representing the revision
specifier as a revision tree object. (Lukáš Lalinský)
* New race-free method on MutableTree ``get_file_with_stat`` for use
when generating stat cache results. (Robert Collins)
* New win32utils.get_local_appdata_location() provides access to a local
directory for storing data. (Mark Hammond)
* To be compatible with python-2.6 a few new rules should be
observed. 'message' attribute can't be used anymore in exception
classes, 'sha' and 'md5' modules have been deprecated (use
osutils.[md5|sha]), object__init__ and object.__new__ don't accept
parameters anymore.
(Vincent Ladeuil)
bzr 1.7.1 2008-10-01
--------------------
No changes from 1.7.1rc1.
bzr 1.7.1rc1 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 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 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 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 as ``bzr 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`` and ``bzr push`` use the default stacking policy if the
branch format supports it. (Aaron Bentley)
* ``bzr init`` and ``bzr init-repo`` will now print out the same as
``bzr 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 using ``bzr 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 using ``list += string``,
which 'works', but adds each character separately to the list,
rather than using ``list.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 to ``bzr 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
(including ``bzr cat`` and ``bzr annotate``) in combination with a
smart server URL. (Andrew Bennetts, #237067)
* ``FTPTransport.stat()`` would return ``0000`` as the permission bits
for the containing ``.bzr/`` directory (it does not implement
permissions). This would cause us to set all subdirectories to
``0700`` and files to ``0600`` rather than leaving them unmodified.
Now we ignore ``0000`` 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 internal ``show_tree_status`` function should be aware that
the show_pending flag is now authoritative for showing pending
merges, as it was originally. (Robert Collins, #225204)
* 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 of ``iter_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 unimplemented
``Branch.rename_one`` and ``Branch.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 say ``bzr selftest -s bp.loom`` instead of
``bzr 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`` and ``BTreeBuilder`` 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)
|
2008-09-06 07:32:09 by Eric Gillespie | Files touched by this commit (2) | |
Log message:
Update to 1.6.1.
bzr 1.6.1 2008-09-05
--------------------
A couple regressions were found in the 1.6 release. There was a
performance issue when using ``bzr+ssh`` to branch large repositories,
and some problems with stacking and ``rich-root`` capable repositories.
bzr 1.6.1rc2 2008-09-03
-----------------------
BUG FIXES:
* Copying between ``rich-root`` and ``rich-root-pack`` (and vice
versa) was accidentally using the inter-model fetcher, instead of
recognizing that both were 'rich root' formats.
(John Arbash Meinel, #264321)
bzr 1.6.1rc1 2008-08-29
-----------------------
This release fixes a few regressions found in the 1.6 client. Fetching
changes was using an O(N^2) buffering algorithm, so for large projects it
would cause memory thrashing. There is also a specific problem with the
``--1.6-rich-root`` format, which prevented stacking on top of
``--rich-root-pack`` repositories, and could allow users to accidentally
fetch experimental data (``-subtree``) without representing it properly.
The ``--1.6-rich-root`` format has been deprecated and users are
recommended to upgrade to ``--1.6.1-rich-root`` immediately. Also we
re-introduced a workaround for users who have repositories with incorrect
nodes (not possible if you only used official releases).
I should also clarify that none of this is data loss level issues, but
still sufficient enough to warrant an updated release.
BUG FIXES:
* ``RemoteTransport.readv()`` was being inefficient about how it
buffered the readv data and processed it. It would keep appending to
the same string (causing many copies) and then pop bytes out of the
start of the string (causing more copies).
With this patch "bzr+ssh://local" can improve dramatically,
especially for projects with large files.
(John Arbash Meinel)
* Revision texts were always meant to be stored as fulltexts. There
was a bug in a bzr.dev version that would accidentally create deltas
when copying from a Pack repo to a Knit repo. This has been fixed,
but to support those repositories, we know always request full texts
for Revision texts. (John Arbash Meinel, #261339)
* The previous ``--1.6-rich-root`` format used an incorrect xml
serializer, which would accidentally support fetching from a
repository that supported subtrees, even though the local one would
not. We deprecated that format, and introduced a new one that uses
the correct serializer ``--1.6.1-rich-root``.
(John Arbash Meinel, #262333)
|
2008-08-26 03:17:33 by Eric Gillespie | Files touched by this commit (1) |
Log message:
Add common settings for bzr plugins (soon to be used by bzrtools, bzr-gtk, and
bzr-svn packages).
|
2008-08-26 03:12:07 by Eric Gillespie | Files touched by this commit (4) | |
Log message:
- Update to 1.6.
- pkgsrc changes:
- Take maintainership.
- 'make check' was running tests twice; use custom do-test instead.
- Don't install basically empty index.txt document.
bzr 1.6 2008-08-25
------------------
Finally, the long awaited bzr 1.6 has been released. This release includes
new features like Stacked Branches, improved weave merge, and an updated
server protocol (now on v3) which will allow for better cross version
compatibility. With this release we have deprecated Knit format
repositories, and recommend that users upgrade them, we will continue to
support reading and writing them for the forseeable future, but we will
not be tuning them for performance as pack repositories have proven to be
better at scaling. This will also be the first release to bundle
TortoiseBzr in the standalone Windows installer.
bzr 1.6rc5 2008-08-19
---------------------
BUG FIXES:
* Disable automatic detection of stacking based on a containing
directory of the target. It interacted badly with push, and needs a
bit more work to get the edges polished before it should happen
automatically. (John Arbash Meinel, #259275)
bzr 1.6rc4 2008-08-18
---------------------
BUG FIXES:
* Fix a regression in knit => pack fetching. We had a logic
inversion, causing the fetch to insert fulltexts in random order,
rather than preserving deltas. (John Arbash Meinel, #256757)
bzr 1.6rc3 2008-08-14
---------------------
CHANGES:
* Disable reading ``.bzrrules`` as a per-branch rule preferences
file. The feature was not quite ready for a full release.
(Robert Collins)
IMPROVEMENTS:
* Update the windows installer to bundle TortoiseBzr and ``qbzr``
into the standalone installer. This will be the first official
windows release that installs Tortoise by default.
(Mark Hammond)
BUG FIXES:
* Fix a regression in ``bzr+http`` support. There was a missing
function (``_read_line``) that needed to be carried over from
``bzr+ssh`` support. (Andrew Bennetts)
* ``GraphIndex`` objects will internally read an entire index if more
than 1/20th of their keyspace is requested in a single operation.
This largely mitigates a performance regression in ``bzr log FILE``
and completely corrects the performance regression in ``bzr log``.
The regression was caused by removing an accomodation which had been
supporting the index format in use. A newer index format is in
development which is substantially faster. (Robert Collins)
bzr 1.6rc2 2008-08-13
---------------------
This release candidate has a few minor bug fixes, and some regression
fixes for Windows.
BUG FIXES:
* ``bzr upgrade`` on remote branches accessed via bzr:// and
bzr+ssh:// now works. (Andrew Bennetts)
* Change the ``get_format_description()`` strings for
``RepositoryFormatKnitPack5`` et al to be single line messages.
(Aaron Bentley)
* Fix for a regression on Win32 where we would try to call
``os.listdir()`` on a file and not catch the exception properly.
(Windows raises a different exception.) This would manifest in
places like ``bzr rm file`` or ``bzr switch``.
(Mark Hammond, John Arbash Meinel)
* ``Inventory.copy()`` was failing to set the revision property for
the root entry. (Jelmer Vernooij)
* sftp transport: added missing ``FileExists`` case to
``_translate_io_exception`` (Christophe Troestler, #123475)
* The help for ``bzr ignored`` now suggests ``bzr ls --ignored`` for
scripting use. (Robert Collins, #3834)
* The default ``annotate`` logic will now always assign the
last-modified value of a line to one of the revisions that modified
it, rather than a merge revision. This would happen when both sides
claimed to have modified the line resulting in the same text. The
choice is arbitrary but stable, so merges in different directions
will get the same results. (John Arbash Meinel, #232188)
bzr 1.6rc1 2008-08-06
---------------------
This release candidate for bzr 1.6 solidifies the new branch stacking
feature. Bazaar now recommends that users upgrade all knit repositories,
because later formats are much faster. However, we plan to continue read/write and
upgrade support for knit repostories for the forseeable future. Several
other bugs and performance issues were fixed.
CHANGES:
* Knit format repositories are deprecated and bzr will now emit
warnings whenever it encounters one. Use ``bzr upgrade`` to upgrade
knit repositories to pack format. (Andrew Bennetts)
IMPROVEMENTS:
* ``bzr check`` can now be told which elements at a location it should
check. (Daniel Watkins)
* Commit now supports ``--exclude`` (or ``-x``) to exclude some files
from the commit. (Robert Collins, #3117)
* Fetching data between repositories that have the same model but no
optimised fetcher will not reserialise all the revisions, increasing
performance. (Robert Collins, John Arbash Meinel)
* Give a more specific error when target branch is not reachable.
(James Westby)
* Implemented a custom ``walkdirs_utf8`` implementation for win32.
This uses a pyrex extension to get direct access to the
``FindFirstFileW`` style apis, rather than using ``listdir`` +
``lstat``. Shows a very strong improvement in commands like
``status`` and ``diff`` which have to iterate the working tree.
Anywhere from 2x-6x faster depending on the size of the tree (bigger
trees, bigger benefit.) (John Arbash Meinel)
* New registry for log properties handles and the method in
LongLogFormatter to display the custom properties returned by the
registered handlers. (Guillermo Gonzalez, #162469)
BUG FIXES:
* Add more tests that stacking does not create deltas spanning
physical repository boundaries.
(Martin Pool, #252428)
* Better message about incompatible repositories.
(Martin Pool, #206258)
* ``bzr branch --stacked`` ensures the destination branch format can
support stacking, even if the origin does not.
(Martin Pool)
* ``bzr export`` no longer exports ``.bzrrules``.
(Ian Clatworthy)
* ``bzr serve --directory=/`` now correctly allows the whole
filesystem to be accessed on Windows, not just the root of the drive
that Python is running from.
(Adrian Wilkins, #240910)
* Deleting directories by hand before running ``bzr rm`` will not
cause subsequent errors in ``bzr st`` and ``bzr commit``.
(Robert Collins, #150438)
* Fix a test case that was failing if encoding wasn't UTF-8.
(John Arbash Meinel, #247585)
* Fix "no buffer space available" error when branching with the new
smart server protocol to or from Windows.
(Andrew Bennetts, #246180)
* Fixed problem in branching from smart server.
(#249256, Michael Hudson, Martin Pool)
* Handle a file turning in to a directory in TreeTransform.
(James Westby, #248448)
API CHANGES:
* ``MutableTree.commit`` has an extra optional keywork parameter
``exclude`` that will be unconditionally supplied by the command
line UI - plugins that add tree formats may need an update.
(Robert Collins)
* The API minimum version for plugin compatibility has been raised to
1.6 - there are significant changes throughout the code base.
(Robert Collins)
* The generic fetch code now uses three attributes on Repository objects
to control fetch. The streams requested are controlled via :
``_fetch_order`` and ``_fetch_uses_deltas``. Setting these
appropriately allows different repository implementations to recieve
data in their optimial form. If the ``_fetch_reconcile`` is set then
a reconcile operation is triggered at the end of the fetch.
(Robert Collins)
* The ``put_on_disk`` and ``get_tar_item`` methods in
``InventoryEntry`` were deprecated. (Ian Clatworthy)
* ``Repository.is_shared`` doesn't take a read lock. It didn't
need one in the first place (nobody cached the value, and
``RemoteRepository`` wasn't taking one either). This saves a round
trip when probing Pack repositories, as they read the ``pack-names``
file when locked. And during probe, locking the repo isn't very
useful. (John Arbash Meinel)
INTERNALS:
* ``bzrlib.branchbuilder.BranchBuilder`` is now much more capable of
putting together a real history without having to create a full
WorkingTree. It is recommended that tests that are not directly
testing the WorkingTree use BranchBuilder instead. See
``BranchBuilder.build_snapshot`` or
``TestCaseWithMemoryTree.make_branch_builder``. (John Arbash Meinel)
* ``bzrlib.builtins.internal_tree_files`` broken into two giving a new
helper ``safe_relpath_files`` - used by the new ``exclude``
parameter to commit. (Robert Collins)
* Make it easier to introduce new WorkingTree formats.
(Ian Clatworthy)
* The code for exporting trees was refactored not to use the
deprecated ``InventoryEntry`` methods. (Ian Clatworthy)
* RuleSearchers return () instead of [] now when there are no matches.
(Ian Clatworthy)
bzr 1.6beta3 2008-07-17
-----------------------
This release adds a new 'stacked branches' feature allowing branches to
share storage without being in the same repository or on the same machine.
(See the user guide for more details.) It also adds a new hook, improved
weaves, aliases for related locations, faster bzr+ssh push, and several
bug fixes.
FEATURES:
* New ``pre_change_branch_tip`` hook that is called before the
branch tip is moved, while the branch is write-locked. See the User
Reference for signature details. (Andrew Bennetts)
* Rule-based preferences can now be defined for selected files in
selected branches, allowing commands and plugins to provide
custom behaviour for files matching defined patterns.
See ``Rule-based preferences`` (part of ``Configuring Bazaar``)
in the User Guide and ``bzr help rules`` for more information.
(Ian Clatworthy)
* Sites may suggest a branch to stack new branches on. (Aaron Bentley)
* Stacked branches are now supported. See ``bzr help branch`` and
``bzr help push``. Branches must be in the ``development1`` format
to stack, though the stacked-on branch can be of any format.
(Robert Collins)
IMPROVEMENTS:
* ``bzr export --format=tgz --root=NAME -`` to export a gzipped tarball
to stdout; also ``tar`` and ``tbz2``.
(Martin Pool)
* ``bzr (re)merge --weave`` will now use a standard Weave algorithm,
rather than the annotation-based merge it was using. It does so by
building up a Weave of the important texts, without needing to build
the full ancestry. (John Arbash Meinel, #238895)
* ``bzr send`` documents and better supports ``emacsclient`` (proper
escaping of mail headers and handling of the MUA Mew).
(Christophe Troestler)
* Remembered locations can be specified by aliases, e.g. :parent, :public,
:submit. (Aaron Bentley)
* The smart protocol now has improved support for setting branches'
revision info directly. This makes operations like push
faster. The new request method name is
``Branch.set_last_revision_ex``. (Andrew Bennetts)
BUG FIXES:
* Bazaar is now able to be a client to the web server of IIS 6 and 7.
The broken implementations of RFC822 in Python and RFC2046 in IIS
combined with boundary-line checking in Bazaar previously made this
impossible. (NB, IIS 5 does not suffer from this problem).
(Adrian Wilkins, #247585)
* ``bzr log --long`` with a ghost in your mainline now handles that
ghost properly. (John Arbash Meinel, #243536)
* ``check`` handles the split-up .bzr layout correctly, so no longer
requires a branch to be present.
(Daniel Watkins, #64783)
* Clearer message about how to set the PYTHONPATH if bzrlib can't be
loaded.
(Martin Pool, #205230)
* Errors about missing libraries are now shown without a traceback,
and with a suggestion to install the library. The full traceback is
still in ``.bzr.log`` and can be shown with ``-Derror``.
(Martin Pool, #240161)
* Fetch from a stacked branch copies all required data.
(Aaron Bentley, #248506)
* Handle urls such as ftp://user@host.com@www.host.com where the user
name contains an @.
(Neil Martinsen-Burrell, #228058)
* ``needs_read_lock`` and ``needs_write_lock`` now suppress an error during
``unlock`` if there was an error in the original function. This helps
most when there is a failure with a smart server action, since often the
connection closes and we cannot unlock.
(Andrew Bennetts, John Arbash Meinel, #125784)
* Obsolete hidden command ``bzr fetch`` removed.
(Martin Pool, #172870)
* Raise the correct exception when doing ``-rbefore:0`` or ``-c0``.
(John Arbash Meinel, #239933)
* You can now compare file revisions in Windows diff programs from
Cygwin Bazaar.
(Matt McClure, #209281)
* revision_history now tolerates mainline ghosts for Branch format 6.
(Aaron Bentley, #235055)
* Set locale from environment for third party libs.
(Martin von Gagern, #128496)
DOCUMENTATION:
* Added *Using stacked branches* to the User Guide.
(Ian Clatworthy)
* Updated developer documentation.
(Martin Pool)
TESTING:
* ``-Dmemory`` will cause /proc/PID/status to be catted before bzr
exits, allowing low-key analysis of peak memory use. (Robert Collins)
* ``TestCaseWithTransport.make_branch_and_tree`` tries harder to return
a tree with a ``branch`` attribute of the right format. This was
preventing some ``RemoteBranch`` tests from actually running with
``RemoteBranch`` instances. (Andrew Bennetts)
API CHANGES:
* Removed ``Repository.text_store``, ``control_store``, etc. Instead,
there are new attributes ``texts, inventories, revisions,
signatures``, each of which is a ``VersionedFiles``. See the
Repository docstring for more details.
(Robert Collins)
* ``Branch.pull`` now accepts an ``_override_hook_target`` optional
parameter. If you have a subclass of ``Branch`` that overrides
``pull`` then you should add this parameter. (Andrew Bennetts)
* ``bzrlib.check.check()`` has been deprecated in favour of the more
aptly-named ``bzrlib.check.check_branch()``.
(Daniel Watkins)
* ``Tree.print_file`` and ``Repository.print_file`` are deprecated.
These methods are bad APIs because they write directly to sys.stdout.
bzrlib does not use them internally, and there are no direct tests
for them. (Alexander Belchenko)
INTERNALS:
* ``cat`` command no longer uses ``Tree.print_file()`` internally.
(Alexander Belchenko)
* New class method ``BzrDir.open_containing_tree_branch_or_repository``
which eases the discovery of the tree, the branch and the repository
containing a given location.
(Daniel Watkins)
* New ``versionedfile.KeyMapper`` interface to abstract out the access to
underlying .knit/.kndx etc files in repositories with partitioned
storage. (Robert Collins)
* Obsolete developer-use command ``weave-join`` has been removed.
(Robert Collins)
* ``RemoteToOtherFetcher`` and ``get_data_stream_for_search`` removed,
to support new ``VersionedFiles`` layering.
(Robert Collins)
bzr 1.6beta2 2008-06-10
-----------------------
This release contains further progress towards our 1.6 goals of shallow
repositories, and contains a fix for some user-affecting bugs in the
repository layer. Building working trees during checkout and branch is
now faster.
BUG FIXES:
* Avoid KnitCorrupt error extracting inventories from some repositories.
(The data is not corrupt; an internal check is detecting a problem
reading from the repository.)
(Martin Pool, Andrew Bennetts, Robert Collins, #234748)
* ``bzr status`` was breaking if you merged the same revision twice.
(John Arbash Meinel, #235407)
* Fix infinite loop consuming 100% CPU when a connection is lost while
reading a response body via the smart protocol v1 or v2.
(Andrew Bennetts)
* Inserting a bundle which changes the contents of a file with no trailing
end of line, causing a knit snapshot in a 'knits' repository will no longer
cause KnitCorrupt. (Robert Collins)
* ``RemoteBranch.pull`` needs to return the ``self._real_branch``'s
pull result. It was instead just returning None, which breaks ``bzr
pull``. (John Arbash Meinel, #238149)
* Sanitize branch nick before using it as an attachment filename in
``bzr send``. (Luká Lalinský, #210218)
* Squash ``inv_entry.symlink_target`` to a plain string when
generating DirState details. This prevents from getting a
``UnicodeError`` when you have symlinks and non-ascii filenames.
(John Arbash Meinel, #135320)
IMPROVEMENTS:
* Added the 'alias' command to set/unset and display aliases. (Tim Penhey)
* ``added``, ``modified``, and ``unknowns`` behaviour made consistent (all three
now quote paths where required). Added ``--null`` option to ``added`` and
``modified`` (for null-separated unknowns, use ``ls --unknown --null``)
(Adrian Wilkins)
* Faster branching (1.09x) and lightweight checkouts (1.06x) on large trees.
(Ian Clatworthy, Aaron Bentley)
DOCUMENTATION:
* Added *Bazaar Zen* section to the User Guide. (Ian Clatworthy)
TESTING:
* 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)
API CHANGES:
* ``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)
* ``RepositoryPolicy.__init__`` now requires stack_on and stack_on_pwd,
through the derived classes do not. (Aaron Bentley)
INTERNALS:
* ``bzrlib.bzrdir.BzrDir.sprout`` now accepts ``stacked`` to control
creating stacked branches. (Robert Collins)
* Knit record serialisation is now stricter on what it will accept, to
guard against potential internal bugs, or broken input. (Robert Collins)
bzr 1.6beta1 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)
|