Как я могу объединить новые ранее незафиксированные изменения из прежнего рабочего каталога Subversion в недавно импортированный базарный репозиторий?

Я обновил до Ubuntu server 10.04 - однако он удалил SVK, который я использовал для распределенных vc-нужд, так как большая часть моих старых проектов все еще была помещена в самодостаточные репозитории subversion на различных серверах. Это работало адекватно в настоящее время между моими различными системами. Я решил перейти на Bazaar, который уже оценивал, используя в новых проектах.

Я установил плагин bzr-svn, чтобы разрешить использование svn-import, - и успешно настроил репозитории в /var/bzr/repos/, где все проекты были импортированы в их собственный набор (с использованием автоматически обнаруженного макета trunk2). bzr log подтверждает успешный импорт всех проектов.

К сожалению, некоторые из моих проектов имеют несколько незафиксированных изменений в рабочей папке - эти я хотел бы вернуться обратно в центральный репозиторий /var/bzr/repos/projectname. Я хотел бы, чтобы это были новые ревизии поверх недавно импортированных репозиториев.

Как я должен идти об этом?

Эти рабочие папки, например, / var / www / projectname / htdocs - некоторые находятся на сервере разработки, а некоторые - на ноутбуке с Windows (на котором уже установлены базар и Subversion)

Я попытался запустить bzr init и bzr merge file://var/bzr/repos/projectname/trunk - это создает большое количество конфликтов; в качестве альтернативы я попытался: bzr init; бзр добавить, а бзр слить.

В каждом случае я пытался стереть вновь сгенерированные файлы из слияния - и переименовать файлы.moved обратно, и зафиксировать - это приводит к тому, что номера ревизий начинаются с 1 и возвращаются к -301. Другим другим результатом стала полная потеря истории журнала, когда я попытался "bzr push" локально зафиксировать изменения. К счастью, мне удавалось каждый раз сбрасывать и повторно импортировать репозиторий из исходного источника Subversion.

Длинный путь состоял бы в том, чтобы просто разветвлять / извлекать в новую папку и разносить / повторять новые изменения, но я бы хотел избежать перекодирования изменений или выполнения операции слияния каталогов kdiff.

Желаемым результатом будет применение новых изменений к центральной ветке /var/bzr/repos/projectname при сохранении номеров ревизий и журнала.

2 ответа

Если вы не зафиксировали в репозитории bzr, вы можете зафиксировать в рабочей папке svn (следовательно, поместив эти изменения в репозиторий SVN) и повторить операцию svn-import с базаром. Это только добавит отсутствующие ревизии.

Если я правильно понимаю, я бы: скопировал каталог.bzr из ветви, на которой вы хотите основать другие изменения (mainline/main), в рабочий каталог с другими изменениями. Затем вы можете выполнить коммит bzr и перенести его в основную / основную ветку. Повторите для каждого рабочего дерева с незафиксированными изменениями.

Другие вопросы по тегам