Intereting Posts
Исходные репозитории не обнаружены на «пути». Проверьте URL-адрес и повторите попытку. Рекомендации по управлению, сборке, развертыванию как 32-битных, так и 64-битных версий приложения C # на рабочем столе Subversion: определение псевдонима местоположения Возможно ли выполнить git-rebase после выполнения git-commit Vagrant с Ansible Provisioning – Как сделать клонирование частного репо Определить файлы из git, которые удалены с локальной машины Как разрешить конфликты слияния между вилами? Опция Commit в контроле источника не работает должным образом в Xcode Heroku нажимает проект с 2 различными файлами приложения 1 .git Почему git показывает текстовый файл как двоичный файл? Каков наилучший способ управления несколькими зависимыми проектами в Git или Mercurial? Git: вытащить из репозитория, удаленно Всегда нажимайте на другую ветку на пульте, не устанавливая вверх по течению правильная настройка autocrlf для git как обрабатывать обновления схемы db при частом использовании схемы и обновления

SVN для пользовательских частей сложной установки WordPress / bbPress: что вы думаете об этом подходе?

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

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

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

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 этих двух каталогов.

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

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

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

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

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

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

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

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

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

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

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