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,