[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnu-arch-users] Baz-1.3 released
[Gnu-arch-users] Baz-1.3 released
Tue, 12 Apr 2005 21:22:04 +1000
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
* update, status, diff, commit have been moderately performance tuned.
This has (for instance) reduce the time for update to 25% of its
* 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
* -A has been deprecated across the board -
address@hidden/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
* 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
* '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.
Baz incorporates many patches for the libarch codebase that it is based
on from the community. Thank you to the coders of those patches ...
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
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
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
$ 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>.
Description: This is a digitally signed message part