The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Name

sqitch-bundle - Bundle a Sqitch project for distribution

Synopsis

  sqitch bundle [options]
  sqitch bundle --dest-dir widgets-1.0.0
  sqitch bundle --all
  sqitch bundle pg mysql

Description

This command bundles up a sqitch project for distribution. At its simplest, it copies the project configuration file, plan files, and all of the change scripts to a directory. This directory can then be packaged up for distribution (as a tarball, RPM, etc.).

By default, the bundle command will bundle the plan and scripts for the default plan and top directory, as defined by the core configuration and command-line options. Pass the --all option to have it iterate over all known plans and top directories (as specified for engines and targets) and bundle them all. This works well for creating a a single bundle with all plans and scripts.

To specify which plans an top directories to bundle, pass the target, engine, or plan file names as arguments. See "Examples" for examples.

  • Engine names

  • Target names

  • Plan file names

The bundle command also allows you to limit bundled changes to a subset of those in a plan. When bundling a single plan, use the --from and/or --to options to do the limiting. When using multiple plans, specify the changes after each target argument. In either case, the changes can be specified in any way documented on sqitchchanges. See "Examples" for examples.

Options

--dest-dir
--dir

The name of the directory in which to bundle the project. The configuration file will be created in this directory, and all top, deploy, revert, and verify directories will be created relative to it. Defaults to bundle.

--from

The change from which to start bundling. If you need to bundle up only a subset of a plan, specify a change (using a supported change specification from which to start the bundling via this option. This option is probably only useful when bundling a single plan.

--to

The change to which to end bundling. If you need to bundle up only a subset of a plan, specify a change (using a supported change specification that should be the last change to be included in the bundle. This option is probably only useful when bundling a single plan.

-a
--all

Bundle all the project plans and their associated scripts. Cannot be mixed with target, engine, or plan file name arguments; doing so will result in an error. Useful for multi-plan projects that should have all the plans bundled together. Overrides the value of the bundle.all configuration; use --no-all to override a true bundle.all configuration.

--plan-file
-f

Path to the deployment plan file. Overrides target, engine, and core configuration values. Defaults to $top_dir/sqitch.plan.

Configuration Variables

bundle.dest_dir

The name of the directory in which to bundle the project.

Examples

Bundle a Sqitch project with the default plan and scripts into bundle:

  sqitch bundle

Bundle a Sqitch project with all plans and scripts into bundle:

  sqitch bundle --all

Bundle a Sqitch project into BUILDROOT/MyProj:

  sqitch bundle --dest-dir BUILDROOT/MyProj

Bundle a project including changes adduser through @v1.0:

  sqitch bundle --from adduser --to @v1.0

Bundle a the pg engine plans with changes adduser through @v1.0, and the sqlite engine with changes from the start of the plan up to widgets:

  sqitch bundle pg adduser @v1.0 sqlite @ROOT wigets

Bundle just the files necessary to execute the plan for the pg engine:

  sqitch bundle pg

Bundle the files necessary for two plan files:

  sqitch bundle sqlite/sqitch.plan mysql/sqitch.plan

Sqitch

Part of the sqitch suite.