Как перейти с SVN на BZR для локальной работы
Я импортировал (извлекаю) какой-то репозиторий только для чтения в Интернете
$ svn co http://some.repo/at/somesite read-only
теперь я хочу работать над этим только для чтения (также у меня есть лучший опыт работы с bzr, чем svn), поэтому я хочу изменить этот репозиторий с svn на репозиторий bzr для локальной работы, как я могу это сделать, и еще одна вещь поддерживает svn локальные репозитории, такие как BZR
3 ответа
Вы не должны использовать Subversion напрямую для проверки кода. Используйте Базар, чтобы сделать это. Например
bzr svn-import http://feedparser.googlecode.com/svn/ feedparser
cd feedparser
bzr branch trunk mybranch
cd mybranch
bzr checkout
# hack...
Проверьте документацию, страницу миграции Subversion на вики bzr и bzr help svn-import
Больше подробностей.
Чтобы ответить на ваш второй вопрос
svn поддерживает локальные репозитории, такие как bzr
Subversion основан на модели сервер-клиент, в то время как в распределенных VCS, таких как git, bzr и Mercurial, все это в некотором роде объединено. Сервер Subversion может работать локально, однако хранилище SVN должно обслуживаться одним и только одним сервером SVN. С распределенной VCS вы клонируете целый репозиторий (или, по крайней мере, ветвь, в случае bzr), что означает, что у вас есть все данные и метаданные, необходимые для обслуживания вашего клона, а другие люди клонируют вас. В отличие от распределенных VCS, вы не создаете полную копию хранилища локально, когда вы делаете svn checkout
; вы создаете только локальные рабочие копии репозитория, которые представляют собой файлы, находящиеся под контролем ревизии, и некоторые (но не все) метаданные. Работающей локальной копии SVN-репозитория недостаточно, чтобы выступать в качестве самого репозитория; Вы не можете поместить эту рабочую копию на сервер и позволить другим людям делать с нее заказы.
Вы смотрели на использование bzr-svn, который является инструментом для работы с SVN-репозиториями, проверяя с помощью bazaar?
Возможно, вы захотите взглянуть на документацию по bzr-svn, в которой описано, как просто извлечь данные из SVN с помощью bzr.
Кроме того, для SVN вам придется настроить локальный сервер SVN / репо на вашем компьютере, не такой простой, как git/mercurial/bazaar.
Базар может работать непосредственно с рабочими копиями Subversion. Хотя может быть предпочтительнее оформить заказ / клонировать в хранилище Bazaar (используя bzr checkout
или же bzr clone
; нет необходимости использовать svn-import
), большинство команд Bazaar должны работать так, как если бы вы сделали "облегченную проверку". Для этого Bazaar создает каталог "bzr" в каталоге ".svn".
Тем не менее, это не позволяет локальные коммиты, и поэтому не работает в этой ситуации. К счастью, вы можете перейти к проверке Bazaar, клонировав существующий репозиторий (или сделайте это прямо из основного репозитория SVN):
# you can clone from the old working copy directory:
bzr clone old-svn-working-copy new-bzr-branch-directory
# or from the original repository:
bzr clone http://some.repo/at/somesite new-bzr-branch-directory
тогда вы можете перейти к любым незафиксированным изменениям, которые вы сделали следующим образом:
cd new-bzr-branch-directory
bzr merge --uncommitted ../old-svn-working-copy