2008-09-23 4 views
5

У меня проблема. Я проверил в своих замороженных драгоценных камнях и рельсах, хотя вы не должны это делать. Я полагал, что это было легко и не было бы так уж важно. Ну, позже я обновил рельсы и при этом удалил все .svn-файлы в каталогах поставщиков/рельсов. Я слышал, что я действительно должен сделать просто сделать что-то делать с svn: externals в каталог моего поставщика. Что именно мне нужно делать, и будет ли capistrano использовать мои замороженные драгоценные камни, если они не находятся в моем репо? Если он не будет использовать мои замороженные драгоценные камни, как я могу восстановить эти .svn файлы правильно, потому что это будет снова.Что мне делать с каталогом поставщиков в отношении подрывной деятельности?

Спасибо!

ответ

3
  1. Чтобы восстановить удаленные .svn каталоги, просто запустите svn update. Они вернутся.

  2. Я просто зарегистрировал экспортируемые драгоценные камни.Я использую gem unpack <gemname> в каталоге vendor/gems и svn add и commit оттуда.

  3. Все, что угодно в vendor/plugins или vendor/rails Я отслеживаю, используя поршень. Например, это, как я получаю рельсы там:

    % piston import http://dev.rubyonrails.org/svn/rails/tags/rel_2-0-2/ vendor/rails

Чтобы использовать поршень gem install piston.

Примечание. Мне нужно найти другое/лучшее решение для замены поршня, поскольку Rails продолжает использовать git и не может обновлять репозиторий subversion.

+0

Могу ли я установить поршень на окна? моя подрывная деятельность на окнах. – sivabudh 2009-04-15 20:53:16

4

Лично я не могу использовать Piston для управления каталогом поставщиков.

1

Отказ от ответственности: я не знаю Ruby/Rails, поэтому я не знаю, какие замороженные драгоценные камни (хотя я предполагаю, что они скомпилированы двоичные файлы или токеный источник), но я хорошо знаю Subversion.

.svn каталоги только удерживают Subversion «бухгалтерия». Там нет ничего невозможного.

Удаление файлов .svn не является проблемой. Если каталоги с отсутствующими каталогами .svn находятся где-то внутри дерева каталогов в вашей рабочей копии subversion (каталог, в который вы делали проверку), просто удалите эти каталоги, выполните обновление svn, и они будут воссозданы.

Если все дерево отсутствует .svn-файлы, удалите все дерево и снова выполните проверку svn.

svn: externals как «символическая ссылка». У вас есть Project A и Project B, в котором используется Project A. Что вы делаете, это добавить свойство svn: external, которое ссылается на каталог библиотеки Project A, поэтому всякий раз, когда вы проверяете Project B, он автоматически помещает каталог библиотеки из Project A в этом. Например, у меня часто есть каталог под названием «thirdparty», который содержит внешние библиотеки в других местах, включая evn: внешние ссылки на другие проекты в подрывной деятельности.

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

2

я бы советовал СВН: внешние по двум причинам

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

  2. что происходит, когда вы хотите развернуть и эти внешние svn не работают?

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