2010-04-26 2 views
4

Будет ли черепаха позволить мне смешивать хранилища в том же и если да, то как? Я хотел бы сохранить код, конфиги и двоичные файлы в отдельных репозиториях.Смешивание репозиториев в черепахе

+0

Пока Лассе показал вам, как это сделать, я бы передумал это. Я использовал бы внешние ресурсы только для кода, который используется совместно с различными репозиториями. Если вы конфигурируете и исполняете двоичные файлы (почему двоичные файлы, BTW? Если они могут быть воссозданы из источника, не проверяйте их!) Принадлежат к этим и только к этим источникам, почему бы не собрать их вместе? Что это дает вам? – sbi

+0

Причина в том, что я хочу, чтобы сценарий моего производственного сервера собирал свежие бинарные файлы каждый день. Я пытаюсь подключить дыры в безопасности, и я уверен, что там есть хорошее ftp-решение. У меня скоро будет SSL, но пока это казалось хорошим решением. У меня есть разные репозитории для этого. Репозиторий для двоичных файлов на самом деле находится на рабочем сервере, что позволяет мне иметь разные настройки пользователя и брандмауэра. Также, разветвление и тегирование, я надеюсь, позволит мне иметь разные версии для производства, тестирования и разработки. cont ... – Martin

+0

... Я не думал об этом на 100%, как вы можете видеть. Это интересная дискуссия. Возможно, я начну новую тему. – Martin

ответ

4

Вы должны посмотреть на внешние ресурсы, используя свойство svn:externals, это позволит вам иметь один репозиторий с внешними ссылками на другие репозитории.

Например, вы можете сделать это:

trunk/       <-- repository A 
    config/      <-- repository B 
    binaries/     <-- repository C 
    code/      <-- repository A 

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

Дополнительную информацию о внешнем виде см. В svnbook: Externals Definitions.

+0

безупречный! Martin

0

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

3

Subversion позволяет практически все виды смешанных рабочих копий. Вы можете комбинировать различные версии, разные местоположения в репозитории и даже разные репозитории.

Функция вы упоминаете осуществляется с внешнеположенности:

http://svnbook.red-bean.com/en/1.5/svn.advanced.externals.html

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

Честно говоря, я не вижу причин разделить один проект на три разных соглашения.

+0

Вы делаете вывод. Пробовав это, он работает, но пусть это будет известно, что, вероятно, этого не стоит. В моем случае это по соображениям безопасности, но есть лучший способ. – Martin

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