Capistrano plugin to deploy Git repositories with nested submodules
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib/capistrano
README
capistrano-deepmodules.gemspec

README

This plugin allows your Capistrano to deploy git repositories those have
multiple-level nested submodules in them.

By default Capistrano issues git submodule init && git submodule update
commands only at the repository root, those initializion first-level 
submodules. But if those submodules has their own submodules, your application
will fail as they will stay uninitialized. This plugin fixes it and 
automatically checks for all included submodules (and their submodules, and 
their, etc) and initializes them, too.

Usage is very simple - just install this gem and add following requirement to 
your deployment scenario:

require 'capistrano/deepmodules'

Also make sure that you're using remote cache to deploy your code as current
only remote cache strategy is supported:

set :deploy_via, :remote_cache

I see no reason not to use it, especially on large codebases with a lot of
submodules, so currently this plugin does not support other strategies. If
you need such support - drop me a note and I'll if it's plausible.

And you don't need to set :git_enable_submodules parameter in your scenario -
it doesn't affect operations if this plugin as it pays no attention to it.
If you want to disable submodules - just comment out 'require' line.