Capistrano deploy failing with :if Expression Syntax failure

Hi everyone,

I'm attempting to setup Capistrano for the first time. I've successfully run

rake remote:exec ACTION="setup"

However, every time I run rake deploy I get the following error:

[root@www2 ~/src/ideeli/trunk/log]# rake deploy (in /root/src/ideeli/trunk)     loading configuration /usr/local/lib/ruby/gems/1.8/gems/capistrano-1.1.0/lib/capistrano/recipes/standard.rb     loading configuration ./config/deploy.rb     loading configuration #<Proc:0x08f74508@/usr/local/lib/ruby/gems/1.8/gems/mongrel_cluster-0.2.0/lib/mongrel_cluster/recipes.rb:1>   * executing task deploy ** transaction: start   * executing task update_code   * querying latest revision...   * executing "if [[ ! -d /usr/local/www/rails_apps/ideeli/releases/20060828223656 ]]; then\n          /usr/local/bin/svn co -q -r142 svn://216.12.167.103/ideeli/trunk /usr/local/www/rails_apps/ideeli/releases/20060828223656 &&\n    (test -e /usr/local/www/rails_apps/ideeli/revisions.log || touch /usr/local/www/rails_apps/ideeli/revisions.log && chmod 666 /usr/local/www/rails_apps/ideeli/revisions.log) && echo `date +\"%Y-%m-%d %H:%M:%S\"` $USER 142 20060828223656 >> /usr/local/www/rails_apps/ideeli/revisions.log;\n fi"     servers: ["216.12.167.103"] Password:     [216.12.167.103] executing command ** [out :: 216.12.167.103] if: Expression Syntax.     command finished *** [update_code] transaction: rollback   * [update_code] rolling back   * executing "rm -rf /usr/local/www/rails_apps/ideeli/releases/20060828223656"     servers: ["216.12.167.103"]     [216.12.167.103] executing command     command finished rake aborted! command "if [[ ! -d /usr/local/www/rails_apps/ideeli/releases/20060828223656 ]]; then\\\n            /usr/local/bin/svn co -q -r142 svn://216.12.167.103/ideeli/trunk /usr/local/www/rails_apps/ideeli/releases/20060828223656 &&\\\n      (test -e /usr/local/www/rails_apps/ideeli/revisions.log || touch /usr/local/www/rails_apps/ideeli/revisions.log && chmod 666 /usr/local/www/rails_apps/ideeli/revisions.log) && echo `date +\"%Y-%m-%d %H:%M:%S\"` $USER 142 20060828223656 >> /usr/local/www/rails_apps/ideeli/revisions.log;\\\n fi" failed on 216.12.167.103

(See full trace by running task with --trace)

As you can see the error it craps out on is :if, Expression Syntax. I'm basically following the example in the Capistrano manual so I haven't been messing around with anything tricky.

Can anyone shed some light on what's going on?

Thanks,

Mark

I found the problem. The target box was running csh as the default shell and the if syntax wasn't valid for csh. Once I converted the default shell to bash everything worked fine. Now, off the file a Capistrano bug.