[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-announce] [ANNOUNCE] monotone 0.30 released

From: Nathaniel Smith
Subject: [Monotone-announce] [ANNOUNCE] monotone 0.30 released
Date: Sun, 17 Sep 2006 16:16:46 -0700
User-agent: Mutt/1.5.13 (2006-08-11)

The monotone team is pleased to announce the release of monotone 0.30,
available, as always, from
with more binary packages appearing there as they are built.

The release notes for this release are:

Sun Sep 17 12:27:08 PDT 2006

        0.30 release.  Speed improvements, bug fixes, and improved

        Several internal data formats have changed with this release;
        migration is straight-forward, but slightly more complicated
        than usual:
          -- The formats used to store some cached data in the
             database have changed.  To upgrade your databases, you
             must run:
               $ mtn -d db migrate
               $ mtn -d db regenerate_rosters
          -- The metadata stored in _MTN in each workspace has been
             rearranged slightly.  To upgrade your workspaces, you
             must run
               $ mtn migrate_workspace
             in each workspace.
        All of these operations are completely lossless, and 0.30
        remains compatible with earlier versions with regards to

        Speed improvements:

        - Algorithm used to find branch heads rewritten, to use vastly
          less memory and cpu.  This not only makes 'mtn heads'
          faster, but also 'mtn commit', 'mtn update', and other
          commands, which were spending most of their time in this
        - The format used in the database to store the roster cache
          was rewritten.  This makes initial pull approximately twice
          as fast, and somewhat improves the speed of restricted log,
          annotate, and so on.

        - The xdelta algorithm was further optimized.

        - A memory leak in Botan was fixed, which was causing
          excessive memory and CPU time to be spent during 'mtn

        - Monotone has fast-paths for doing character set conversion
          when the system it is running on uses plain ASCII.  These
          fast-paths now know that "646" is another name used for
          ASCII, and systems that use this name (like some BSDs) now
          benefit from the fast-paths.

        - Miscellaneous other improvements.

        Workspace format changes:

        - It is now possible to write down a multi-parent (merge)
          workspace.  However, monotone will still refuse to work with
          such a workspace, and there is no way to create one.  This
          change merely sets up infrastructure for further changes.

        - _MTN/revision no longer contains only the parent revision
          id; if you depended on this in scripts, use 'mtn automate
          get_base_revision_id' instead.  Also, _MTN/work has been

        UI changes:

        - 'mtn status' now includes the branch name and parent
          revision id in its output.

        - The output of 'mtn annotate' and 'mtn annotate --brief' has
          been switched.  The more human-readable output is now the

        - 'mtn pluck' now gives an error message if the requested
          operation would have no effect.

        - On command line syntax errors, usage information is now
          printed to stderr instead of stdout.  (Output requested with
          --help still goes to stdout.)  This should make it easier to
          find bugs in scripts.

        Bug fixes:

        - While changelog messages have always been defined to UTF-8,
          we were not properly converting messages from the user's
          locale.  This has now been fixed.

        - An off-by-one error that caused some operations to abort
          with an error message about "cancel_size <
          pending_writes_size" has been fixed.

        - In 0.29, --help output was not localized.  This has been

        - In 0.29, setting merger = "emacs" would not work unless
          EDITOR was also set to "emacs" (and similar for vi).  This
          has been fixed.

        - A rare invariant violation seen when performing certain
          sequences of renames/adds in the workspace has been fixed.

        - If a user failed to resolve the conflicts in a text file, we
          would continue asking them to resolve conflicts in remaining
          files, even though the merge could not succeed.  We now exit
          immediately on failure.

        - Work around some g++ 3.3 brokenness.

        Documentation changes:

        - Imported *-merge documents into the manual (they still need
          to be cleaned up to fit in better).

        Changes to automate:

        - Bug fix in 'attributes': this command is supposed to list
          attributes that were removed from a file in the current
          revision; instead, it was listing all attributes that had
          ever been removed from that file.  Now fixed.

        - New command 'get_corresponding_path': given a revision A, a
          path P, and a revision B, looks up the file with name P in
          revision A, and states what path it had in revision B.

        - New command 'get_content_changed': given a revision A and a
          path P, gives the ancestor of A in which P was last

        - New command 'get_option': Fetches variables from
          _MTN/options (e.g., the current workspace's branch and

        - New command 'genkey': an automate-friendly way to generate a
          new monotone key.

Share and enjoy,
-- Nathaniel

reply via email to

[Prev in Thread] Current Thread [Next in Thread]