SV2更新期间EC2用户数据脚本崩溃

时间:2011-04-13 21:10:54

标签: svn ubuntu amazon-ec2

我正在尝试使用EC2用户数据脚本shebang功能来更新已在实例的EBS映像上检出的SVN存储库,然后运行其他一些命令。在svn up命令期间,脚本始终崩溃,使repo中的大部分或全部文件处于锁定状态。 svn up命令运行后没有任何命令。

我的用户数据脚本如下所示:

#!/bin/bash
echo "about to update..." >> /home/ubuntu/test.log
svn up /home/ubuntu/path/to/repository
echo "update finished" >> /home/ubuntu/test.log

svn up未正确完成,第二个echo命令未执行。

我没有看到任何日志中的任何错误(我不确定我应该搜索哪些日志,但我已经查看了所有明显的日志)。任何想法为什么svn会失败?

2 个答案:

答案 0 :(得分:0)

权限问题?尝试:

sudo svn up ...

答案 1 :(得分:0)

我终于想出办法让这个工作。我没有直接在我的用户数据脚本中调用svn up,而是编译了一个简单的C应用程序来执行svn并在用户数据脚本中执行它:

#include <stddef.h>
#include <stdlib.h>
#include <unistd.h>
int main(void) {
    execl("/usr/bin/svn", "svn", "update", "/path/to/repository/", (const char *) NULL);
    return(EXIT_SUCCESS);
}

不幸的是,我不太清楚为什么会这样。我想尝试这个,因为我们在SVN post-commit钩子中遇到了类似的问题,需要相同的解决方案。