Skip to content

Latest commit

 

History

History
157 lines (114 loc) · 6.93 KB

import-bzr.asc

File metadata and controls

157 lines (114 loc) · 6.93 KB

Базаар

Базаар је DVCS алат који веома личи на Гит, па је стога прилично једноставно конвертовати Базаар репозиторијум у Гит. Да бисте то постигли, потребан вам је bzr-fastimport додатак.

Преузимање bzr-fastimport додатка

Процедура за инсталацију fastimport додатка се разликује на Виндоуз и системима сличним Јуниксу. У другом случају је најједноставније да инсталирате bzr-fastimport пакет који ће инсталирати и све неопходне зависности.

На пример, на Дебијан и системима изведеним из њега, урадили бисте следеће:

$ sudo apt-get install bzr-fastimport

На RHEL, урадили бисте следеће:

$ sudo yum install bzr-fastimport

На Федори, почевши од издања 22, нови менаџер пакета је dnf:

$ sudo dnf install bzr-fastimport

Ако пакет није доступан, можете да га инсталирате као додатак:

$ mkdir --parents ~/.bazaar/plugins     # creates the necessary folders for the plugins
$ cd ~/.bazaar/plugins
$ bzr branch lp:bzr-fastimport fastimport   # imports the fastimport plugin
$ cd fastimport
$ sudo python setup.py install --record=files.txt   # installs the plugin

Да би овај додатак радио, такође вам је потребан и fastimport Пајтон модул. Следећим командама можете проверити да ли је присутан или не и инсталирати га ако треба:

$ python -c "import fastimport"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named fastimport
$ pip install fastimport

Ако није доступан, преузмите га са адресе https://pypi.python.org/pypi/fastimport/.

У првом случају (на Виндоуз систему), bzr-fastimport се аутоматски инсталира са самосталном верзијом и подразумеваном инсталацијом (оставите штиклирана сва поља). Тако да у овом случају није потребно да било шта урадите.

Сада се начин увоза Базаар репозиторијума разликује у зависности од тога да ли имате једну грану или радите са репозиторијумом који има неколико грана.

Пројекти са једном граном

Извршите cd у директоријум који садржи ваш Базаар репозиторијум и иницијализујте Гит репозиторијум:

$ cd /path/to/the/bzr/repository
$ git init

Сада једноставно извезете свој Базаар репозиторијум и конвертујете га у Гит репозиторијум следећом командом:

$ bzr fast-export --plain . | git fast-import

Зависно од величине пројекта, ваш Гит репозиторијум се изграђује у року од неколико секунди до неколико минута.

Случај пројекта са главном граном и радним гранама

Такође можете да увезете и Базаар репозиторијум који садржи гране. Претпоставимо да имате две гране: једна представља главну грану (myProject.trunk), а друга је радна грана (myProject.work).

$ ls
myProject.trunk myProject.work

Креирајте Гит репозиторијум и извршите cd у њега:

$ git init git-repo
$ cd git-repo

Повуците master грану у Гит:

$ bzr fast-export --export-marks=../marks.bzr ../myProject.trunk | \
git fast-import --export-marks=../marks.git

Повуците радну грану у Гит:

$ bzr fast-export --marks=../marks.bzr --git-branch=work ../myProject.work | \
git fast-import --import-marks=../marks.git --export-marks=../marks.git

Сада вам команда git branch приказује master грану као и work грану. Проверите логове да потврдите јесу ли комплетни и решите се marks.bzr и marks.git фајлова.

Синхронизација стејџа

Колико год грана да сте имали и који год метод за увоз употребили, ваш стејџ се не синхронизује са HEAD, а увозом неколико грана се чак ни ваш радни директоријум не синхронизује. Ситуација се једноставно решава следећом командом:

$ git reset --hard HEAD
Игнорисање фајлова који су игнорисани са .bzrignore

Хајде сада да погледамо како се игноришу фајлови. Прва ствар коју треба да урадите је да преименујете .bzrignore у .gitignore. Ако .bzrignore фајл садржи једну или неколико линија које почињу са „!!” или „RE:”, мораћете да измените и можда креирате и неколико .gitignore фајлова како би се игнорисали потпуно исти фајлови које је игнорисао и програм Базаар.

Коначно, мораћете да креирате комит који садржи ову измену за миграцију:

$ git mv .bzrignore .gitignore
$ # modify .gitignore if needed
$ git commit -am 'Migration from Bazaar to Git'
Слање вашег репозиторијума на сервер

Ево нас! Сада репозиторијум можете да гурнете на његов нови сервер:

$ git remote add origin git@my-git-server:mygitrepository.git
$ git push origin --all
$ git push origin --tags

Ваш Гит репозиторијум је спреман за употребу.