capistrano-scm-git_with_submodule_and_resolv_symlinks

Gem Version Build Status

This is Capistrano Custom SCM plugin, which supports:

  • Git with submodule
  • Resolving symlinks
  • Subtree

Git with submodule

Capistrano::SCM::Git does not support git submodule, but Capistrano::SCM::GitWithSubmoduleAndResolvSymlinks supports.

Capistrano::SCM::GitWithSubmoduleAndResolvSymlinks transforms symlinks into referent files/directories by rsync --copy-links ... command.

Subtree

Configuration variable :repo_tree is supported as same as Capistrano::SCM::Git

Installation

Add this line to your application's Gemfile:

gem 'capistrano-scm-git_with_submodule_and_resolv_symlinks', require: false

And then execute:

$ bundle

Or install it yourself as:

$ gem install capistrano-scm-git_with_submodule_and_resolv_symlinks

Usage

Add these lines to your Capfile:

require "capistrano/scm/git_with_submodule_and_resolv_symlinks"
install_plugin Capistrano::SCM::GitWithSubmoduleAndResolvSymlinks

Incompatibilties with Capistrano::SCM::Git

repo_path is non-bare repository

Capistrano::SCM::Git creates repo_path as bare repository (by git clone --mirror url repo_path), but Capistrano::SCM::GitWithSubmoduleAndResolvSymlinks creates repo_path as non-bare repository (by git clone url repo_path).

If you want to switch SCM, delete repo_path before deploy.

Shallow clone is not supported

Capistrano::SCM::Git supports shallow clone by configuration variable :git_shallow_clone, but Capistrano::SCM::GitWithSubmoduleAndResolvSymlinks does not support.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/groovenauts/capistrano-scm-git_with_submodule_and_resolv_symlinks.