Logan Capaldo
3/7/2006 11:16:00 PM
On Mar 7, 2006, at 5:57 PM, Xeno Campanoli wrote:
> I am unable to do: `cd somewhere ; cvs update`
>
> because it doesn't like the cd, and possibly not the ;. I also get
> a strange
> blowup when I do:
>
> `cvs update somewhere`
>
> where it says: Protocol error: '
> Protocol error: 'Directory' missingE Protocol error: 'Directory'
> missingE
>
> and on and on...
>
> Can you please suggest something. I need to make this work, and
> I'm not
> finding it obvious in any way.
>
> xc
>
Dir.chdir, preferably with a block.
e.g:
irb(main):001:0> Dir.pwd
=> "/Users/logan/Projects/Ruby Experiments"
irb(main):002:0> Dir.chdir("/") { puts Dir.pwd; `ls` }
/
=> "Applications\nApplications (Mac OS 9)\nDesktop DB\nDesktop DF
\nDesktop Folder\nDeveloper\nLibrary\nNetwork\nPrevious Systems
\nSystem\nSystem Folder\nTheVolumeSettingsFolder\nUser Guides And
Information\nUsers\nVolumes\nautomount\nbin\ncores\ndev\netc\nmach
\nmach.sym\nmach_kernel\nprivate\nsbin\nsw\ntmp\nusr\nvar\n"
irb(main):003:0> Dir.pwd
=> "/Users/logan/Projects/Ruby Experiments"
So in your case you would use:
cvs_output = Dir.chdir("somewhere") { `cvs update` }