2013-08-24 4 views
3

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

Тема идет по следующему пути:

/wp-content/themes/MyTheme/ 

Хотя связанные плагины идут по следующему пути:

/wp-content/plugins/MyPlugin/ 

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

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

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

Наконец, мы бы не захотели иметь репозиторий во всей директории /wp-content/, для этого потребуется слишком много записей git-ignore, тем более что у нас есть другие темы с каждым их соответствующим репозиторием. Кроме того, в то время как это не проблема, текущая структура файла позволяет щелкнуть «Загрузить» любой тег/ветку на GitHub/Bitbucket и загрузить прямо в WordPress Admin, а тема работает как есть, а если структура файла началась с /wp-content/ то пользователь должен будет извлечь файлы, восстановить часть темы, создать новый ZIP с этой фиксированной файловой структурой (чтобы избежать использования FTP) и, наконец, возможность загрузить его в администратор WordPress.

Итак, есть ли способ иметь один репозиторий с многократными путями?

Я читал о симлинках в this other question, но так же, как Аскер сказал:

«я действительно не хочу никакого смешения двух папок на моем компьютере»

ответ

0

О путь должен был бы рассматривать каталог git (.git) и рабочее дерево как отдельное.

«Я не хочу никакого смешения двух папок на моем компьютере»

До тех пор, пока у вас есть репо с различной структурой/содержанием, чем тот, на самом деле с помощью этих файлов (wp-content) вам придется иметь дело с двумя структурами папок для работы с

Ваше репо (только с вашей темой и файлами плагинов) можно проверить где-нибудь.
Структура WordPress может быть разработана где-то в другом месте.

Даже если вы не хотите использовать символьную ссылку, вы можете сделать ваш мерзавец репо в курсе любых изменений в WordPress папку с:

cd /your/repo 
git --work-tree=/path/to/wp-content status 
git --work-tree=/path/to/wp-content add . 
...