SVK synk和预定任务

时间:2012-09-07 15:06:11

标签: perl svk getpwuid

我正在尝试自动执行SVK同步过程 配置SVK镜像后,我用以下

编写了一个批处理文件
svk sync -a >> svk.log &2>1

然后我添加了在我的管理帐户下运行的Windows计划任务。

在svk.log中我读了

  

getpwuid函数未在C:\ Programmi \ svk \ bin \ svk中实现   第142行。

任何提示?

P.S。我能够从命令行(同一用户)

运行svn sync -a

1 个答案:

答案 0 :(得分:0)

当我发布我的问题时,我不知道

    Windows规划程序下的
  1. HOMEDRIVE和HOMEPATH尚未初始化(http://tinyurl.com/9zxbrg8)<< li>
  2. 在Perl的Windows端口中无法使用getpwuid函数(http://tinyurl.com/d56a2mv)
  3. 有了上述内容,我通过更改

    修改了/ bin / svk文件
    $ENV{HOME} ||= (
        $ENV{HOMEDRIVE} ? catdir(@ENV{qw( HOMEDRIVE HOMEPATH )}) : ''
    ) || (getpwuid($<))[7];
    $ENV{USER} ||= (
        (defined &Win32::LoginName) ? Win32::LoginName() : ''
    ) || $ENV{USERNAME} || (getpwuid($<))[0];
    

    $ENV{HOME} ||= (
        $ENV{HOMEDRIVE} ? catdir(@ENV{qw( HOMEDRIVE HOMEPATH )}) : 
                          ($ENV{USERPROFILE} ? $ENV{USERPROFILE} : '')
    );
    $ENV{USER} ||= (
        (defined &Win32::LoginName) ? Win32::LoginName() : ''
    ) || $ENV{USERNAME};
    

    现在我能够将我的批量调用svk作为Windows计划任务运行