2011-12-15 4 views
0

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

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

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

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

Поэтому в основном я буду иметь структуру, как это:

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

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

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

спасибо.

+2

Похоже, вы ищете свойство svn: externals? – Corbin

ответ

4

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

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

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

+0

будет работать с 'http://foo.bar/svn/repo .'? IE для проверки в текущий каталог? –

1

Добавить svn:externalssvn:propedit (pe) или svn propset (ps) в каталог, под которым вы хотите отправить другую ветку.

Например:

  1. Checkout базовая отрасль:

    $ 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/[email protected] another_plugin 

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

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

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

+0

Спасибо за краткий и описательный ответ. Тем не менее, если я проверил (co) из репо, принадлежащего wordpress, тогда свойство svn: externals не будет сохранено против репо, поэтому я не смогу проверить где-либо еще с тем же svn: externals. Мне нужен мой собственный репозиторий, к которому я могу воспользоваться и иметь доступ, чтобы использовать svn: externals. В этом случае я могу использовать svn: externals для экспорта wordpress repo в свою корневую папку? Спасибо –

+0

@ThomasClayson, конечно, вы можете. E.g. вы можете создать следующую рабочую копию: '/ root_repository/ /root_repository/wordpress /root_repository/plugins' – Paker

+0

Простите, это не то, что я имел в виду. В репозитории Wordpress есть подкаталоги, например. 'WP-содержание/plugins'. Я хочу, чтобы мое SVN-репо выглядело так: '/ root_repository/(который также извлекается из wordpress repo)' '/ root_repository/wp-content/plugins/(созданный каталог wordpress repo)' '/ root-repository/wp- content/plugins/myplugin/(из моего внешнего репозитория плагинов). –

Смежные вопросы