svn can prompt the user in some situations, like when checking out a repository from an https server with an invalid certificate. E.g. Error validating server certificate: - Unknown certificate issuer - Certificate has expired ... (R)eject, accept (t)emporarily or accept (p)ermanently? p Authentication realm: .. Password for 'root' Authentication realm: .. Username: repuser Password for 'repuser': Error validating server certificate: - Unknown certificate issuer - Certificate has expired (R)eject, accept (t)emporarily or accept (p)ermanently? p The subrepo support needs to either detect situations like this, or run subversion with --non-interactive (--trust-server-cert might also be required in this situation too, I'm not sure yet, more testing is required).
In this situation, it seems like being non-interactive would mean aborting (we certainly wouldn't take a less secure route). So I'm not convinced that non-interactive would be good here.
We should probably pass --non-interactive to svn if we're running non- interactive. I'll take a look at that.
Fixed by http://selenic.com/repo/hg/rev/1052b1421a48 Augie Fackler <durin42@gmail.com> subrepo: tell Subversion when we are non-interactive (issue2759) (please test the fix)
passing stdin=subprocess.PIPE then closing parent write side would also do the job I think.
Fixed by http://selenic.com/repo/hg/rev/f0f965098810 Augie Fackler <durin42@gmail.com> subrepo: make stdin for svn a pipe for non-interactive use (issue2759) (please test the fix)
--- Bug imported by bugzilla@serpentine.com 2012-05-12 09:19 EDT --- This bug was previously known as _bug_ 2759 at http://mercurial.selenic.com/bts/issue2759