bzr

Se http://bazaar-vcs.org/ for dokumentasjon.

Foreslått katalogstruktur i ITK-s repository

Se http://itk.samfundet.no/bzr/ for ITK-s sentrale repository.

/home/cassarossa/itk/felles/bzr
'- itkprosjekt1 (shared repos)
	'- itkprosjekt1.stable (main stable branch)
	'- itkprosjekt1.devel (main devel branch)
'- itkprosjekt2 (shared repos)
	'- itkprosjekt2 (main branch)
	'- itkprosjekt1.nyfeature1 (nyutvikling i egen branch, flere brukere)
'- bruker1 (personlig katalog)
	'- personligprosjekt1 (shared repos)
	'- personligprosjekt2 (hva enn som passer brukeren)
	'- itkprosjekt1.bruker1 (personlig branch)
'- bruker2 (personlig katalog (shared repos om ønskelig))
	'- itkprosjekt1.bruker2 (personlig branch)
	'- itkprosjekt3.bruker2 (personlig branch)

OBS! Shared repos har to betydninger. Les dok på http://bazaar-vcs.org/SharedRepositoryTutorial.

Initielt oppsett

Før første gangs bruk av bzr

Se http://bazaar-vcs.org/BzrSettingEmail for detaljer.

	vim ~bruker1/.bazaar/bazaar.conf

	[DEFAULT]
	email=Bruker Brukersen <bruker1@example.com>

	bzr whoami

Hvordan sette opp shared repos

Se http://bazaar-vcs.org/SharedRepositoryTutorial for detaljer.

På cassarossa

	bzr init-repo /home/cassarossa/itk/felles/bzr/itkprosjekt1

eller

	bzr init-repo /home/cassarossa/itk/felles/bruker1/personligprosjekt1

Om du skal bruke shared repos ellers (les dok), ønsker du å ha med working trees, så du får noen filer å kode på:

	bzr init-repo --trees prosjektrepo

Hvordan starte et prosjekt

Se http://bazaar-vcs.org/QuickHackingWithBzr for detaljer.

Sentralt prosjekt:

	mkdir /home/cassarossa/itk/felles/bzr/itkprosjekt1/itkprosjekt1.devel
	cd /home/cassarossa/itk/felles/bzr/itkprosjekt1/itkprosjekt1.devel
	bzr init
	(fortsett som for sentralt repos under)

Lokalt prosjekt:

	mkdir prosjekt
	cd prosjekt
	bzr init

Hvordan begynne å jobbe på et eksisterende prosjekt

Se workflow-eksempler under.

Eksempler på workflows

Se http://bazaar-vcs.org/Workflows for detaljer.

Sentralt repos

Også kalt Lock Step, tilsvarende CVS og SVN.

	bzr checkout sftp://login.samfundet.no/home/cassarossa/itk/felles/bzr/itkprosjekt1/itkprosjekt1.devel/ itkprosjekt1.devel
	cd itkprosjekt1.devel/
	(kode)
	bzr update
        (løse konflikt)
        bzr commit
	(sove)
	bzr update
	(kode)
	bzr update
	bzr commit

Sentralt repos med lokale commits

Som over, men med mulighet for commits når du er offline.

	(fortsetter fra over)
	bzr update
        (ta med seg laptop med utsjekket kopi)
	(kode)
	bzr commit --local	ELLER		bzr unbind; bzr commit
	(kode)
	bzr commit --local	ELLER		bzr commit
	(tilbake på nett)
	bzr commit -m "Merging local changes"	ELLER
				bzr bind;  bzr commit -m "Merging local changes"

Desentraliserte repos med delt mainline

Alle har egen branch samt commitrettigheter til en sentral mainline.

	bzr co http://itk.samfundet.no/bzr/itkprosjekt1/itkprosjekt1.devel/
	bzr branch itkprosjekt1.devel itkprosjekt1.nyfeature7
	cd itkprosjekt1.nyfeature7/
	(kode)
	bzr commit -m "More code"
	cd ../itkprosjekt1.devel/
	bzr pull (oppdater en branch)
	cd ../itkprosjekt1.nyfeature7/
	bzr merge ../itkprosjekt1.devel/
	bzr commit -m "Merge with itkprosjekt1.devel"

Desentraliserte repos med delt mainline og shared-repos

Alle har sin egen branch samt comittrettigheter til en sentral mainline. I motsetning til eksempelet over bor alle branchene i et shared-repos (eller: alle som ønsker å benytte seg av shared repos).

        cd /home/cassarossa/felles/bzr/itkprosjekt1
        bzr branch itkprosjekt1.mainline itkprosjekt.brukernavn
        cd ~/utviklingsmappa_di
        bzr co /home/cassarossa/felles/bzr/itkprosjekt1/itkprosjekt1.mainline
        bzr co /home/cassarossa/felles/bzr/itkprosjekt1/itkprosjekt1.brukernavn

Dette gir deg en egen branch som benytter shared repos og en checkout av den branchen i utviklingsmappa di, samt en checkout av mainline.

Konvertere fra bazaar til git

For å konvertere fra bazaar til git kan følgende brukes (mdb2 brukes som eksempel):

mkdir mdb2.git
cd mdb2
git init –bare
bzr fast-export ~/mdb2.mainline/master | git fast-import
cd ..
git clone mdb2.git lokalt-repo-av-mdb/

Det kan nevnes at fast-export tar flere argument som –export-marks og -r <revision(s)>

I akkurat mdb2 sitt tilfelle ble det brukt -r before:29.. ettersom vi manglet noen revisjoner i historien.

Dette henter kun ut master branchen - for flere branches rettes man til følgende guide

Lenker: Start, debianspeil, itkaclprogrammering, puppet, suwi

Mail: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2012-03-16 00:50 | Revisjon: 10 (historie, blame) | Totalt: 1472 kB | Rediger