This is Capistrano Custom SCM plugin, which supports:
- Git with submodule
- Resolving symlinks
- Subtree
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.
Configuration variable :repo_tree
is supported as same as Capistrano::SCM::Git
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
Add these lines to your Capfile:
require "capistrano/scm/git_with_submodule_and_resolv_symlinks"
install_plugin Capistrano::SCM::GitWithSubmoduleAndResolvSymlinks
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.
Capistrano::SCM::Git supports shallow clone by configuration variable :git_shallow_clone
,
but Capistrano::SCM::GitWithSubmoduleAndResolvSymlinks does not support.
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.
Bug reports and pull requests are welcome on GitHub at https://github.com/groovenauts/capistrano-scm-git_with_submodule_and_resolv_symlinks.