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

Я обновился до сервера Ubuntu 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; bzr add и bzr merge.

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

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

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

Ответы [ 2 ]

0 голосов
/ 02 декабря 2010

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

0 голосов
/ 30 ноября 2010

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

...