如何在不使用Cvs模块的情况下使用Perl进行CVS协作?
答案 0 :(得分:6)
答案 1 :(得分:1)
当你要求不使用模块时,我总是推荐它。 CPAN开始Cvs::Simple。如果您有不使用模块的业务案例原因,您可能需要考虑将其用作参考。
答案 2 :(得分:0)
我在my blog中写了这个,但这里是纯文本。
我必须下载并安装expectperl和IO :: Tty perl模块。这个小的perl脚本成功地进行了cvs更新,即使使用ssh密码提示也是如此。
#!/usr/bin/perl
use Expect;
chdir("/files/hudson_local/jobs/MOJARRA_1_2X_ROLLING_GLASSFISH_2_1_1/workspace");
$ENV{"CVSROOT"} = ":ext:8bit@java.net/cvs/javaserverfaces-sources~cvs-repository";
($cvs = Expect->spawn("cvs update -d -P")) || die "Couldn't spawn cvs, $!";
unless ($cvs->expect(30, "Enter passphrase for key '/files/hudson_local/.ssh/id_rsa':")) {
die "Never got the passphrase prompt";
}
print $cvs "not the real password\r";
unless ($cvs->expect(300, "cvs update: Updating www/legal/jsf-cddl")) {
die "Never saw update starting";
}