如何在不使用Cvs模块的情况下进行CVS结账?

时间:2010-06-04 15:45:58

标签: perl cvs

如何在不使用Cvs模块的情况下使用Perl进行CVS协作?

3 个答案:

答案 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";
}