IO.popen puts

Hi,

i want to do a cvs login for a list of cvsrepositories
with IO.popen

the normal login via Windows shell looks like =

Y:>cvs -d :pserver:[email protected]:d:/cvsrepos/test login
Logging in to :pserver:[email protected]:2401:d:/cvsrepos/test
CVS password: ********

i tried with =

cvsrepos=%w[test,test1,test2]
cvsrepos.each {|x|
IO.popen("#{CVSEXE} -d #{CVSROOT}/#{x} login", ‘r+’) do |pipe|
pipe << “password”
pipe.close_write
puts pipe.read
end
}

but the script hangs with the output
CVS password:

What went wrong ?

Regards, Gilbert

On 3/5/07, Rebhan, Gilbert [email protected] wrote:

CVS password: ********
end
}

but the script hangs with the output
CVS password:

What went wrong ?

just a guess:

  1. try adding newline
  2. try redirecting stdin on the command line without ruby (maybe cvs
    reads the keyboard directly)

Hi,

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs