Cruise_logo_large

Source Control

CruiseControl.rb currently ships with support for Subversion, Git, Mercurial and Bazaar. By default you should not need to configure any settings for your SCM of choice, though you may choose to if you wish.

Configuring Subversion

Subversion may be explicitly configured in your cruise_config.rb file as follows:

Project.configure do |project|
  project.source_control = SourceControl::Subversion.new :option => value...
end

Subversion accepts the following configuration options:

  • :repository, :username, :password as in standard Subversion
  • :interactive sets interactive mode; false by default
  • :check_externals tells CC.rb to trigger a build if externals change; true by default
  • :path is the location of an empty directory to check your project out into

Configuring Git

Git may be explicitly configured in your cruise_config.rb file as follows:

Project.configure do |project|
  project.source_control = SourceControl::Git.new :option => value...
end

Git accepts the following configuration options:

  • :repository as in standard Git
  • :watch_for_changes_in to tell CC.rb to only monitor for changes in this subdirectory
  • :branch to build a particular branch of your Git repository
  • :path is the location of an empty directory to check your project out into

Configuring Mercurial

Mercurial may be explicitly configured in your cruise_config.rb file as follows:

Project.configure do |project|
  project.source_control = SourceControl::Mercurial.new :option => value...
end

Mercurial accepts the following configuration options:

  • :repository as in standard Mercurial
  • :branch to build a particular branch of your Mercurial repository
  • :path is the location of an empty directory to check your project out into

Configuring Bazaar

Bazaar may be explicitly configured in your cruise_config.rb file as follows:

Project.configure do |project|
  project.source_control = SourceControl::Bazaar.new :option => value...
end

Bazaar accepts the following configuration options:

  • :repository as in standard Mercurial
  • :path is the location of an empty directory to check your project out into