Must be a behavior of git to return status OK if submodules fail, can you
try the command logging the return codes?

You have to do it in bash, by hand i'm afraid!

-- Lee Hambley

Twitter: @leehambley | @capistranorb
Blog: http://lee.hambley.name/
Working with Rails: http://is.gd/1s5W1


On 16 February 2010 22:04, David King <[email protected]> wrote:

> During the update_code task, we'll sometimes encounter network errors
> when executing a git command (e.g. git submodule -q update). Instead
> of detecting the failure and rolling back the transaction, Capistrano
> continues and deploys with missing code.
>
> For example (config. details at end of post):
>  ** transaction: start
>  * executing `deploy:update_code'
>  * preparing local cache at ...
>    executing locally: "git ls-remote .git iframe"
>    executing locally: git clone -q .git <path> && cd <path> && git
> checkout -q -b deploy <version> && git submodule -q init && git
> submodule -q sync && git submodule -q update
> Initialized empty Git repository in ...
> fatal: The remote end hung up unexpectedly
> Clone of 'git://github.com/thoughtbot/paperclip.git' into submodule
> path 'vendor/plugins/paperclip' failed
>  * copying cache to deployment staging area ...
>
> In capistrano / lib / capistrano / recipes / deploy / strategy /
> copy.rb (http://github.com/capistrano/capistrano/blob/master/lib/
> capistrano/recipes/deploy/strategy/copy.rb<http://github.com/capistrano/capistrano/blob/master/lib/%0Acapistrano/recipes/deploy/strategy/copy.rb>),
> it looks like Ruby's
> Kernel module system method is called, but the return code is not
> checked to trigger a rollback if false.
>
> Is this a bug that I should file a ticket on or am I'm missing
> something? Thanks for your help.
>
> Dave
>
> Git Version: 1.5.4.3
> Ruby Version: 1.8.6
> deploy.rb:
>  set :repository,    ".git"
>  set :scm,           :git
>  set :deploy_via,    :copy
>  set :copy_cache,    true
>  set :copy_strategy, :export
>  set :use_sudo,      false
>  set :branch,        "master"
>  set :copy_exclude,  [".git", "*/.gitignore", ".gitignore"]
>  set :git_enable_submodules, 1
>
> --
> * You received this message because you are subscribed to the Google Groups
> "Capistrano" group.
> * To post to this group, send email to [email protected]
> * To unsubscribe from this group, send email to
> [email protected]<capistrano%[email protected]>For
>  more options, visit this group at
> http://groups.google.com/group/capistrano?hl=en

-- 
* You received this message because you are subscribed to the Google Groups 
"Capistrano" group.
* To post to this group, send email to [email protected]
* To unsubscribe from this group, send email to 
[email protected] For more options, visit this group at 
http://groups.google.com/group/capistrano?hl=en

Reply via email to