Ответ 1
Здесь довольно обширный учебник по SVN hooks
Я хотел бы запустить script, который строит документацию для моего проекта php. В основном это просто использование wget для запуска phpdoc.
Здесь довольно обширный учебник по SVN hooks
(Отвечая на мой собственный вопрос, я просто подумал, что другие тоже хотели бы знать). Да, а также TortoiseSVN поддерживает его. Слово, которое вы ищете, это "крючки".
Для TortoiseSVN откройте настройки и "Hook Scripts". Нажмите "Добавить..." и запустите post_commit_hook (для запуска после совершения фиксации). Затем добавьте все script, которые вы используете, и рабочий путь script.
Я использовал командный файл и называл wget (есть версия Windows, портированная, google it). Чтобы получить wget для хранения журнала из phpdoc по одному конкретному пути, вы должны указать полный путь, иначе журнал будет сохранен в текущей папке с того места, где вы сделали это, поэтому мой командный файл выглядит следующим образом:
SET BUILDLOG=%~dp0%build_log.html
rem %~dp0 returns the full working path *of this script*
SET PHPDOCURL=http://localhost/PHPDocumentor/docbuilder
SET PHPDOCCONFIG=yourconfigfile
wget -O %BUILDLOG% "%PHPDOCURL%/builder.php?setting_useconfig=%PHPDOCCONFIG%&setting_output=HTML%3ASmarty%3Adefault&ConverterSetting=HTML%3ASmarty%3Adefault&setting_title=Generated+Documentation&setting_defaultpackagename=default&setting_defaultcategoryname=default&interface=web&dataform=true"
Теперь, когда вы совершаете фиксацию, вызывается пакет script. Разумеется, вы также можете использовать php в качестве инструмента командной строки, но я не рассматривал это с помощью phpdoc - я просто пошел по пути наименьшего сопротивления на этом.
Альтернативой использованию SVN-крючков будет использование механизма непрерывной интеграции. Лично я поклонник Hudson. CruiseControl является классическим, но существует множество others.
Зачем использовать механизм непрерывной интеграции? В общем, они более мощные, многофункциональные и портативные, чем просто использование SVN-перехватчиков (что, если вы хотите переключиться на использование Mercurial, Git и т.д.?).
Возможно, вы захотите проверить Phing для полного скриптового скрипта сборки. Вы можете управлять транзакциями, документацией и другими действиями, связанными с построением, в одном месте.