Краткий ответ: экранируйте кавычки в командной строке.
drupalversion=\"7.10\"
Проблема в том, что capistrano принудительно переводит переменные в соответствующие строго типизированные переменные в ruby, что, вероятно, желательно в большинстве случаев.Вот фрагмент кода, который выполняет приведение.
def coerce_variable(value)
case value
when /^"(.*)"$/ then $1
when /^'(.*)'$/ then $1
when /^\d+$/ then value.to_i
when /^\d+\.\d*$/ then value.to_f
when "true" then true
when "false" then false
when "nil" then nil
else value
end
end
Вы можете видеть, что регулярные выражения ищут кавычки, чтобы сохранить значение в виде строки.Однако кавычки не передаются из командной строки, а только содержимое.Экранирование кавычек гарантирует, что они передаются в ruby, и тогда Capistrano может корректно преобразовать переменную в строку, а не в число с плавающей точкой.