SVN репо в SVN репо? - PullRequest
       3

SVN репо в SVN репо?

0 голосов
/ 15 декабря 2011

Я создал сайт WordPress, используя информацию, полученную с http://codex.wordpress.org/Using_Subversion и других подобных сайтов WordPress Codex.

Я заметил при настройке, что источник аскимет копируется из внешнего репозитория.

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

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

Так что в основном у меня будет такая структура:

  1. Оформление / обновление всех моих пользовательских файлов в моем репозитории Wordpress
  2. Оформление / обновление Wordpress из репозитория Wordpress SVN
  3. Оформление / обновление любых пользовательских репозиториев плагинов, которые я добавил.

Некоторые каталоги будут общими. Например, в корне хранилища Wordpress я хочу, чтобы в моем хранилище сайтов был файл (wp-config.php).

Можно ли это сделать, и если да, то как мне это сделать?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 15 декабря 2011

Вы можете использовать свойство svn:externals.Каждая строка в значении этого свойства дает URL и каталог;клиент SVN проверит хранилище по URL-адресу в указанный каталог.Пример:

$ svn propget svn:externals .
http://foo.bar/svn/repo wordpress

создаст каталог с именем wordpress в текущем каталоге.

1 голос
/ 16 декабря 2011

Чтобы добавить svn:externals свойство, используйте svn:propedit (pe) или svn propset (ps) в каталоге, в котором вы хотите оформить другую ветку.

например:

  1. Оформить базовую ветку:

    $ svn co hxxp://wordpress/svn/repo/trunk siteroot
    
  2. Изменить свойство svn:externals:

    $ svn pe svn:externals
    
  3. Откроется редактор, в который можно добавить одну или несколько внешних веток / репозиториев:

    $ hxxp://wordpress/svn/repo/plugin wordpress_plugin
    $ hxxp://plugin2site/svn/repo/trunk another_plugin
    
  4. Сохраните и передайте.

    $ svn ci
    
  5. Наконец, вы получите следующую структуру рабочей копии:

    siteroot/
    siteroot/wordpress_plugin
    siteroot/another_plugin
    

Вы также можете указать конкретную версию ветки, поэтому внешняя ветвь будет заморожена до этой версии (например, если вы знаете, что она стабильна). Для этого добавьте @REV в конец URL:

$ hxxp://plugin2site/svn/repo/trunk@123 another_plugin

Вы можете использовать svn propset вместо svn propedit, но будьте осторожны, он перезапишет любые существующие данные в свойстве svn: externals:

$ svn ps hxxp://plugin2site/svn/repo/trunk another_plugin .

Для получения дополнительной информации см. Следующую главу в Справочник SVN .

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