sobota, 4 kwietnia 2009

Pomocnicze narzędzia Portage

qfile wyświetla z jakiego pakietu jest dany plik:

# qfile /usr/bin/bzr
dev-util/bzr (/usr/bin/bzr)

qlist wyświetla pliki z danego pakietu

# qlist bzrtools
/usr/share/doc/bzrtools-1.9.1/TODO.Shelf.bz2
/usr/share/doc/bzrtools-1.9.1/README.bz2
/usr/share/doc/bzrtools-1.9.1/TODO.bz2
(...)

piątek, 3 kwietnia 2009

Bazaar jako rozproszone repozytorium

Rozproszona praca w Bazaar w skrócie polega na tworzeniu kopii [M] (mirrorow) głównego repozytorium [G] (każdy programista powinien utworzyć własną lokalną kopię repozytorium). Następnie tworzone są robocze wersje [W] gałęzi [M] w których dokonujemy zmian. Cała reszta to jedynie łączenie (merge) poszczególnych gałęzi.

Pierwszym krokiem jest utworzenie mirror'a głównego repozytorium:

bzr branch [url_glownego_repozytorium]/projekt


Następnie tworzymy gałąź (jedną lub więcej) dla naszych zmian

bzr branch projekt roboczy


W przypadku pojawienia się nowych zmian w repozytorium głównym uaktualniamy nasz mirror poleceniem

bzr pull


wykonanym oczywiście w katalogu mirror'a.

Katalog roboczy względem mirror'a uaktualniamy przy pomocy merge (polecenie jest wywołane z katalogu roboczy):

bzr merge


Jeśli występują konflikty to oczywiście musimy je rozwiązać, a następnie zapisujemy zmiany do repozytorium roboczego

bzr commit


Jeżeli teraz chcemy przenieść zmiany z katalogu roboczego do repozytorium głównego to przechodzimy do katalogu z kopią repozytorium głównego (mirrorem), uaktualniamy ją (względem repozytorium głównego) poleceniem:

bzr pull


,a następnie scalamy z wersją roboczą:

bzr merge [scieżka do wersji roboczej]


Po rozwiązaniu ewentualnych konfliktów zapisujemy zmiany do repozytorium mirror'a i wysyłamy do repozytorium głównego:

bzr commit
bzr push

czwartek, 2 kwietnia 2009

Tworzenie projektu w zdalnym repozytorium bazaar

Warunek poczatkowy: mamy działający serwer ftp majacy okreslony adres, port, a także uzytkownika z przypisanym haslem i prawem do zapisu do sciezki.

Pierwszym krokiem jest przedstawienie sie systemowi bazaar:

bzr whoami "Nick "


Poprawnosc operacji możemy sprawdzić poleceniem

bzr whoami


Następnie tworzymy katalog projektu i pierwsze pliki w nim

mkdir projekt
cd projekt
touch file1 file2 file3


Za pomoca polecenia

bzr init


tworzymy lokalne repozytorium w bieżącym katalogu. Bazaar utworzy katalog .bzr.

Następnie wyrażamy chęć dodania wszystkich plików (add bez parametrow) projektu podczas najblizszego commit do repozytorium oraz wykonujemy sam commit, podajac przy tym opis zmiany.

bzr add
bzr commit -m "Import projektu"


Nastepnie poleceniem

bzr push --create-prefix ftp://uzytkownik@adres:port/sciezka/projekt


Przenosimy repozytorium na serwer ftp.

Wlasna gałąź źródeł projektu możemy zawsze pobrać poleceniem:

bzr branch ftp://uzytkownik@adres:port/sciezka/projekt


Mozemy rozpoczynać pracę.