Попытка написать скрипт пост-фиксации Subversion для экспорта PHP в общую папку - PullRequest
0 голосов
/ 01 марта 2011

Я пытаюсь развернуть приложение PHP с использованием скрипта subversion и post-commit.Я искал, как написать сценарий пост-фиксации, но не могу заставить его работать.

Конфигурация: на моем сервере (OVH) установлена ​​папка svn в homeX.XX/svn/test/

Мой скрипт пост-фиксации должен экспортировать в homeX.XX/dev/

Я не знаю, как написать правильный путь при использовании

#!/bin/bash
mkdir dev
chmod 777 dev
svn export svn+ssh://XXXXX@www.xxxx.com/homeX.XX/XXX/svn/test dev

в моем скрипте POST-COMMIT.Я искал ответы, но не нашел ...

1 Ответ

1 голос
/ 01 марта 2011

Из документации SVN ( здесь ):

Репозиторий Subversion выполняет подключаемые программы с пустым окружением, то есть переменные окружения не задаются вообще, даже $ PATH.

Эта проблема меня ужалила несколько раз. По сути, самый простой способ написания хуков фиксации SVN, хотя и не очень чистый, - это жестко закодировать все нужные вам файлы и каталоги в виде абсолютных путей.

Так что в этом случае ваш скрипт будет выглядеть примерно так:

#!/bin/bash

# SVN-related variables
svnuser=XXXXX
svnhost=www.xxxx.com
svnpath=/homeX.XX/XXX/svn/test

# Local paths
exportpath=/homeX.XX/dev

# Make export dir if it does not exist
if [ ! -e "$exportpath" ]
then
    mkdir $exportpath
fi

# These permissions are very lenient! Are you sure you want this?
chmod 777 $exportpath

# Do the SVN export
export svn+ssh://$svnuser@$svnhost$svnpath $exportpath
...