Bazaar Release Notes
bzr 0.13
No changes from 0.13rc
bzr 0.13rc1
Improvements
- New command
bzr remove-tree
allows the removal of the working
tree from a branch.
(Daniel Silverstone)
- urllib uses shared keep-alive connections, so HTTP operations are substantially faster.
(Vincent Ladeuil, #53654)
bzr export
allows an optional branch parameter, to export a bzr
tree from some other URL. For example:
bzr export bzr.tar.gz http://bazaar-vcs.org/bzr/bzr.dev
(Daniel Silverstone)
- Added
bzr help topics
to the bzr help system. This gives a
location for general information, outside of a specific command.
This includes updates for bzr help revisionspec
the first topic
included. (Goffredo Baroncelli, John Arbash Meinel, #42714)
- WSGI-compatible HTTP smart server. See
doc/http_smart_server.txt
.
(Andrew Bennetts)
- Knit files will now cache full texts only when the size of the
deltas is as large as the size of the fulltext. (Or after 200
deltas, whichever comes first). This has the most benefit on large
files with small changes, such as the inventory for a large project.
(eg For a project with 2500 files, and 7500 revisions, it changes
the size of inventory.knit from 11MB to 5.4MB) (John Arbash Meinel)
Internals
- New -D option given before the command line turns on debugging output
for particular areas. -Derror shows tracebacks on all errors.
(Martin Pool)
- Clean up
bzr selftest --benchmark bundle
to correct an import,
and remove benchmarks that take longer than 10min to run.
(John Arbash Meinel)
- Use
time.time()
instead of time.clock()
to decide on
progress throttling. Because time.clock()
is actually CPU time,
so over a high-latency connection, too many updates get throttled.
(John Arbash Meinel)
MemoryTransport.list_dir()
would strip the first character for
files or directories in root directory. (John Arbash Meinel)
- New method
get_branch_reference
on ‘BzrDir’ allows the detection of
branch references - which the smart server component needs.
- New
ChrootTransportDecorator
, accessible via the chroot+
URL
prefix. It disallows any access to locations above a set URL. (Andrew
Bennetts)
Bug Fixes
- Now
_KnitIndex
properly decode revision ids when loading index data.
And optimize the knit index parsing code.
(Dmitry Vasiliev, John Arbash Meinel)
bzrlib/bzrdir.py
was directly referencing bzrlib.workingtree
,
without importing it. This prevented bzr upgrade
from working
unless a plugin already imported bzrlib.workingtree
(John Arbash Meinel, #70716)
- Suppress the traceback on invalid URLs (Vincent Ladeuil, #70803).
- Give nicer error message when an HTTP server returns a 403
error code. (Vincent Ladeuil, #57644).
- When a multi-range HTTP GET request fails, try a single
range one. If it fails too, forget about ranges. Remember that until
the death of the transport and propagates that to the clones.
(Vincent Ladeuil, #62276, #62029).
- Handles user/passwords supplied in URL from command
line (for the urllib implementation). Don’t request already
known passwords (Vincent Ladeuil, #42383, #44647, #48527)
_KnitIndex.add_versions()
dictionary compresses revision ids as they
are added. This fixes bug where fetching remote revisions records
them as full references rather than integers.
(John Arbash Meinel, #64789)
bzr ignore
strips trailing slashes in patterns.
Also bzr ignore
rejects absolute paths. (Kent Gibson, #4559)
bzr ignore
takes multiple arguments. (Cheuksan Edward Wang, #29488)
- mv correctly handles paths that traverse symlinks.
(Aaron Bentley, #66964)
- Give nicer looking error messages when failing to connect over SSH.
(John Arbash Meinel, #49172)
- Pushing to a remote branch does not currently update the remote working
tree. After a remote push,
bzr status
and bzr diff
on the remote
machine now show that the working tree is out of date.
(Cheuksan Edward Wang #48136)
- Use patiencediff instead of difflib for determining deltas to insert
into knits. This avoids the O(N^3) behavior of difflib. Patience
diff should be O(N^2). (Cheuksan Edward Wang, #65714)
- Running
bzr log
on nonexistent file gives an error instead of the
entire log history. (Cheuksan Edward Wang #50793)
bzr cat
can look up contents of removed or renamed files. If the
pathname is ambiguous, i.e. the files in the old and new trees have
different id’s, the default is the file in the new tree. The user can
use “–name-from-revision” to select the file in the old tree.
(Cheuksan Edward Wang, #30190)
Testing
- TestingHTTPRequestHandler really handles the Range header
(previously it was ignoring it and returning the whole file,).