Currently, no. I'm experimenting with making capistrano use net-ssh- shell under the covers...but it's a drastic change, and introduces some potentially surprising side-effects. E.g., changing the directory in one task means that all other tasks will be run from that directory, which can be nasty if they assume they are being run from the user's home directory (as is currently the case). Also, any attempt to automate an interaction with a persistent shell is fragile, requiring (as it does) expect-like code to watch for the termination of each command. Lastly, it makes it harder to run multiple commands in parallel on a single host, which is currently possible in Capistrano, but which would require rethinking if I go with net-ssh- shell.
At any rate, if I go with this, it'll probably be part of the next generation of Capistrano (e.g, 3.0), rather than a point release, so don't hold your breath for it. - Jamis On Oct 10, 2008, at 5:41 AM, Kut wrote: > > Hi, > > I am trying to run multiple commands inside task block using run > methods. After observing capistrano code I came to know that for each > run call a seperate shell is created and thus previous commands > enviroment changes(like modifying path) won't be available for > subsequent run calls. Is there any alternative way to force all run > methods to use single shell for a given host ? > > > --~--~---------~--~----~------------~-------~--~----~ To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/capistrano -~----------~----~----~----~------~----~------~--~---
