Releasing a project
===================

Packaging a release
-------------------

The ``export`` command is used to package a release, i.e. to
take a copy of the files and directories in a branch and
package them into a fresh directory or archive. For example,
this command will package the last committed version into
a ``tar.gz`` archive file::

  bzr export ../releases/my-stuff-1.5.tar.gz

The ``export`` command uses the suffix of the archive file
to work out the type of archive to create as shown below.

      =================       =========================
      Supported formats       Autodetected by extension
      =================       =========================
         dir                         (none)
         tar                          .tar
         tbz2                    .tar.bz2, .tbz2
         tgz                      .tar.gz, .tgz
         zip                          .zip
      =================       =========================

If you wish to package a revision other than the last one, use
the ``-r`` option. If you wish to tune the root directory inside
the archive, use the ``--root`` option. See the online help or
User Reference for further details on the options supported by
``export``.

Tagging a release
-----------------

Rather than remembering which version was used to package a release,
it's useful to define a symbolic name for a version using the ``tag``
command like this::

  bzr tag version-1-5

That tag can be be used later whenever a revision identifier is
required, e.g.::

  bzr diff -r tag:version-1-5

To see the list of tags defined in a branch, use the ``tags`` command.
