SVN для пользовательских частей сложной установки Wordpress / bbPress: что вы думаете об этом подходе? - PullRequest
0 голосов
/ 19 августа 2010

У меня довольно сложная установка WordPress + bbPress, и я хотел бы обработать контроль версий для всего пользовательского кода в Subversion.Далее следует подход, на котором я остановился, и я был бы признателен за вклад / критику.Есть ли лучший способ сделать это?

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

Иерархия развернутого сайта (ниже html-корня) выглядит следующим образом (несколько упрощенно для иллюстрации):

CUSTOM-directory
wp-admin
wp-content
  - <other directories>
  - themes
    - <CUSTOM theme directories>
    - <other theme directories>
  - plugins
    - <CUSTOM plugin files & directories>
    - <other plugin files & directories>
wp-includes
<other files>

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

website
  - trunk
    - CUSTOM-directory
    - themes
    - plugins
  - branches
  - tags

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

Я делаю изменения в трех местах: на компьютере разработчика (где происходит большая часть действия), на сервере промежуточного хранения / тестирования, который почти идентичен моемупроизводственная среда и производственный сервер (только незначительные изменения).Первоначальная настройка в этих трех местах занимает немного времени, потому что я должен проверить каждый каталог под транком в правильном месте в иерархии.Но это единовременная проблема.

Я написал несколько простых сценариев оболочки для автоматизации задач SVN после того, как все это настроено.Например: svn-commit.sh (который запускается из корня установки Wordpress)

#!/bin/sh
svn commit CUSTOM-directory "$@"
svn commit wp-content/plugins "$@"
svn commit wp-content/themes "$@"

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

Итак, что вы думаете?Есть ли более простой способ?Я также подумал:

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

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

Наконец, есть ли проблемы с безопасностью, связанные с наличием папок .svn на моем рабочем сайте?

1 Ответ

0 голосов
/ 19 августа 2010

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

Я не знаю, как настроена ваша среда разработки, но вы можете настроить проект с помощью WordPress / bbPress и извлекать ваш код в папки проекта, игнорируя остальные папки. Но то, как ты это сделал, я думаю, что это нормально, не слишком много накладных расходов.

Кстати, используя svn export, вы получаете все файлы из репозитория без каталогов .svn. Вы должны использовать этот коммандос для вашей производственной площадки. Или сделайте заказ и запретите доступ к каталогам .svn на вашем веб-сервере.

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