Сбой скрипта пользовательских данных EC2 во время обновления SVN - PullRequest
0 голосов
/ 14 апреля 2011

Я пытаюсь использовать функциональность shebang скрипта пользовательских данных EC2, чтобы обновить репозиторий SVN, который уже извлечен из образа EBS экземпляра, а затем выполнить некоторые другие команды. Сценарий постоянно падает при выполнении команды svn up, оставляя большинство или все файлы в репозитории в заблокированном состоянии. Ни одна из команд после команды 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 голосов
/ 27 апреля 2011

Я наконец-то нашел способ заставить это работать. Вместо того, чтобы вызывать 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 после фиксации, которая требовала того же решения.

0 голосов
/ 14 апреля 2011

Проблема с разрешениями?Попробуйте:

sudo svn up ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...