从perl脚本运行时,SVN更新不会更新

时间:2009-06-29 20:36:41

标签: svn

使用perl脚本中的系统命令运行SVN更新时,

系统(“svn update

它不会更新任何内容。我只看到显示的消息:

“跳过”

但是,当单独从命令行运行相同的命令时,它会使用SVN更新文件夹。

3 个答案:

答案 0 :(得分:5)

当您尝试更新不属于工作副本的某些内容(即不是已签出的文件夹/文件)时,subversion客户端会显示“已跳过”。如果我不得不猜测我会说perl脚本没有正确指定需要更新的目录/文件,并且“svn”默认为当前工作目录,而不是工作副本。

答案 1 :(得分:2)

尝试:

#!/bin/perl
my $cmd = 'cd /directory/to/svn;
           svn up';
print `$cmd`,"\n";
1;

答案 2 :(得分:0)

如果您没有写入该目录的权限,可能会说“Skipped:svn.example.com”。

另外,请检查〜/ .subversion目录,其所有者,权限以及svn配置选项的svn手册。 (就我而言,由于某种原因,这个目录由root拥有。)