Как настроить SVN для автоматического экспорта в public_html? - PullRequest
1 голос
/ 26 января 2010

Я только начинаю с svn, поэтому, пожалуйста, помогите мне, если я увидел что-то глупое.

Я разрабатываю на ноутбуке с Windows, используя tortoisesvn. Я развертываюсь на сервере Linux.

У меня настроен репо на моем ноутбуке. Мне не удается проверить его в каталоге на сервере. Я создал для него каталог, но не могу заставить svn checkout file:///... работать! На основе этого урока команда checkout принимает следующую форму: svn checkout file:///repository_name/project/trunk project, но что такое repository_name? Мой репо на /home/username/svn Я не помню, чтобы называли репо, кроме как сказать, в каком каталоге он находится.

После того, как я на самом деле произвожу эту сортировку, я бы хотел, чтобы хранилище автоматически экспортировалось в этот каталог, когда я фиксирую его с моего ноутбука. Возможно ли это?

Извините, если это ужасно неясно, но я хотел быть подробным.

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

Ответы [ 3 ]

2 голосов
/ 26 января 2010

Может быть это обсуждение на Ubuntuforums помогает (при условии, что ваш репозиторий и веб-сервер работают в Linux). Он объясняет концепцию зацепок Post Commit и показывает реальные примеры сценариев.

0 голосов
/ 26 января 2010

Существует два различных способа автоматического экспорта в папку public_html, каждый из которых включает настройку перехвата после фиксации. Вы могли бы:

  1. Установите ловушку после фиксации , которая будет работать на вашем ноутбуке с Windows и скопировать необходимые файлы на ваш сервер, возможно через scp (доступно в Putty suite ), rsync или даже общий ресурс samba .
  2. Настройте ваш Linux-сервер для размещения вашего репозитория, чтобы он имел полный доступ к файловой системе, в которой существует ваша папка public_html, а затем установите хук после фиксации, который скопирует необходимые файлы в вашу папку public_html. Конечно, вам нужно извлекать из репозитория Linux вместо того, что на вашем ноутбуке, но это может стоить.

Теперь, пара вещей, которые вы изложили выше, немного ... сбивает с толку. Я сделал несколько предположений, которые согласуют вышесказанное, поэтому, пожалуйста, прокомментируйте, если я ошибся.

Прямо сейчас у вас есть и хранилище, и извлечение на вашем ноутбуке. И, похоже, вы использовали протокол file:// для оформления заказа. Если это так, вы не сможете получить доступ к своему хранилищу с вашего сервера Linux (да, возможно , если вы также обслуживаете свой хранилище по SSH или http). Это объясняет, почему вы не можете получить извлечение, используя тот же файловый протокол в Linux - он не имеет доступа к вашей файловой системе Windows.

Учитывая вышеизложенное, я бы попробовал приблизиться к номеру один выше. Напишите скрипт (или программу), который копирует файлы на ваш сервер Linux.

0 голосов
/ 26 января 2010

Если вы пытаетесь получить копию своего svn-комментария в каталог, где вы можете просмотреть его (в отличие от , работающего над ним ), вам следует использовать команду svn export.

...