Baz-1.3 released

Robert Collins robertc at robertcollins.net
Tue Apr 12 06:21:47 CDT 2005


Bazaar 1.3.1 has been released.

This point release fixes a regression with =dont-care tagged files. The
remainder of this document is the release notes for 1.3.


Where to get Bazaar ?
=====================
The Bazaar homepage at http://bazaar.canonical.com/ lists binary and
source locations for bazaar.

Key user visible changes:
========================
* Revision building optimised, will now prefer full tree copies to 
  very-distant revlib copies, preventing certain (common) pathological
  behaviours.
* update, status, diff, commit have been moderately performance tuned.
  This has (for instance) reduce the time for update to 25% of its
  pre-tuning times.
* inode signatures now provide id shortcuts for explicit ids (previously
  only names and tagline ids where tuned).
* many commands now take tree-context by default. i.e. whereis-archive
  will use the project tree archive by default
* url support - most commands directly support urls. i.e. build-config
  http://server/a-file-with-a-config/
* -A has been deprecated across the board - 
  foo at example.com[/category... ] is supported consistently.
* An annotate command has been implemented, that can annotate some or
  all of the files in a tree, along a single line of development.
  Supporting changes from merges is a planned future feature.
* integrated gpg support via gpgme - zero setup for most signed archive
  usage.
* debian version numbers are supported in the version component of
  branch names. This will work with baz and tla archives - but tla will
  silently ignore them.
* 'id' and 'inventory' with 'names tagging' now return the same ids that
  are created and used in changesets.
* introduced debug() tool internally - controllable via ARCH_DEBUG_LOG
  and ARCH_DEBUG_OPTIONS to log internal progress to a file - useful for
  debugging without rebuilding.
* Consolidated archive registration system (the ArchiveRegistration spec
  from the wiki) removes the need for -MIRROR / -MIRROR2 etc pseudo
  aliases, and allows archive-mirror --all-mirrors which will mirror to
  multiple locations at once.
* 'upgrade' command which will migrate configuration details as they
  evolve. This allows incremental improvements in client configuration
  without user pain. Currently this upgrades the archive registry to the
  new format.
* 'change-archive' command which will have all archive-specific change
  functionality built in to it. Currently this allows enabling, or
  removing GPG signatures from archives.
* improved sftp user input parsing - usernames may contain @ symbols.
* diff -p support. This doesn't affect the archive format.

Bugfixes (over baz 1.2):
* revlib paths with spaces are now supported.
* minor performance improvement for baz format archives - one roundtrip
  only to determine the entire set of branches available in the archive.
* baz status on unimported trees now provides useful feedback, although
  it doesn't provide full functionality.

Community patches:
=================
Baz incorporates many patches for the libarch codebase that it is based
on from the community. Thank you to the coders of those patches ... 

Aaron Bentley
Brett Parker
Hans Niedermann
James Blackwell
Paul Evans
Robert Collins
Robert Weir

Documentation:
=============
New documentation for baz 1.3 is available in the bazaar-docs category,
though prebuilt packages are not yet available.

Archive-registry and GPG configuration upgrade
==============================================
This is one of the big long term UI goals of bazaar. It elminates the
use of 'registered names' throughout the baz codebase, except where they
are required to provide a smooth upgrade path. You can no longer trigger
esoteric bugs by doing a 'library-add' of 'foo-SOURCE/c--b--v' - the
code will do the right thing. A corollary to this is that urls are
directly supported by the user interface for most commands. I.e.
archive-fixup will accept the url of an archive. A side effect of this
is that 'write-through' mirrors are now possible. Just register the
master archive with a lower priority than your local mirror, and baz
will get from the local mirror but commit to master.

One of the enablers for this is the elimination of the signing scripts
that depended on registered names (and were thus quite fragile and
inflexible). We've implemented in-baz signature verification using a new
dependency - libgpgme - which allows baz direct control over gpg (or
s/mime if someone wants to send in a patch) signature verification. 

This code is backwards compatible code. The current setup of baz on
your machines will operate as-is (and if it doesn't, its a bug, not a
feature).

A number of commands that needed 
$baz command -A archive something-here
now operate with 
$baz command archive/something-here

If you have problems, your old configuration files are stored in
~/.arch-params/upgraded-by-baz-1.3 and can be restored to get back your
previous config.

Thats it. You can now use urls in most commands, and mirroring and
publishing of archives should have become a lot simpler.

Archives are now registered in ~/.arch-params/archives/$OFFICIAL_NAME.
The ~/.arch-params/=locations directory is deprecated and baz plans to
remove support for it (other than upgrades) in baz 1.4. The new system
allows us to remove the -SOURCE and -MIRROR concepts from baz by
recording multiple archive locations under the official name. One
immediately visible benefit is that archive-mirror will now do the right
thing with signed archives automatically.

What do you need to do to upgrade to this code?
$ baz upgrade --leave-old-config will preserve the old config files.
This is not recommended, as you will then have two sets of diverging
configurations.
$ baz upgrade --move-old-config will move the =locations registry files
it upgrades into ~/.arch-params/upgraded-by-baz-1.3. This is
recommended, but means that tla, and older versions of baz, will no
longer know about your archives. (You can just move the files back if
you need to downgrade).

When baz upgrade looks at signing and checking scripts, it makes a best
effort attempt to extract information from them, if it fails it emits a
warning - you should review the SigningRules and ArchiveRegistration
pages and tell baz what policy you actually want.

-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.ubuntu.com/archives/bazaar-announce/attachments/20050412/0fbeaf5b/attachment.pgp


More information about the bazaar-announce mailing list