2009-12-30 23 views
5

Mam trudności ze zrozumieniem bzr init-repo.bzr init-repo i wiele projektów

Mam 3 projekty, które chcę mieć w ich własnym izolowanym repozytorium, w subwersji trzy razy używałbym svnadmin create do ich tworzenia. W ten sposób:

svnadmin create MyProject 
svnadmin create MyHomepage 
svnadmin create MyDocuments 

Powyższe daje 3 pojedyncze repozytoria subversion.

Jak utworzyć 3 pojedyncze wspólne repozytoria bazaru?

byś zrobić to w ten sposób

bzr init-repo ./repo 
bzr init ./repo/MyProject 
bzr init ./repo/MyHomepage 
bzr init ./repo/MyDocuments 

Albo zrobisz to w ten sposób

bzr init-repo ./MyProject 
bzr init ./MyProject/trunk 

bzr init-repo ./MyHomepage 
bzr init ./MyHomepage/trunk 

bzr init-repo ./MyDocuments 
bzr init ./MyDocuments/trunk 

lub istnieje inny sposób?

Odpowiedz

6

Nie używałbym w ogóle init-repo, ponieważ nie są to gałęzie tego samego kodu, ale niezależne projekty.

bym po prostu zrobić:

bzr init ./MyProject 
bzr init ./MyHomepage 
bzr init ./MyDocuments 
+0

O wiele prostsze. Czy zatem inicjowanie bzr init-repo nie jest konieczne przy tworzeniu współdzielonego repozytorium? – neoneye

+1

Zasadniczo to, co zasugerowałeś jako pierwszy, ale bez kroku init-repo. To wcale nie jest konieczne, więc nie zawracałbym sobie tym głowy. init-repo jest używany, gdy chcesz utworzyć wspólne repozytorium do śledzenia partii powiązanych gałęzi tego samego projektu - masz tu trzy niepowiązane projekty. –

+1

http://wiki.bazaar.canonical.com/Tutorials/CentralizedWorkflow mówi o jednym z przypadków, w których warto skorzystać z init-repo, http://wiki.bazaar.canonical.com/Tutorials/CentralizedWorkflow another (chociaż oba są podobne przypadki). W twoim przypadku init-repo jest całkowicie zbędne. –

9

bzr startowe repo tworzy wspólną repozytorium, który jest używany do przechowywania danych historycznych branże. Tak więc wszystkie gałęzie wewnątrz jednego wspólnego repo będą dzielić magazyn. Dlatego będziesz potrzebował mniej miejsca na dane historii każdego oddziału i szybsze rozgałęzienia.

Jeśli nie zależy Ci na wydajności i szybkości tworzenia nowych oddziałów, nie używaj udostępnianych repozytoriów.

Więc jeśli chcesz mieć kilka oddziałów dla każdego ze swoich projektów (myproject, MyHomepage, MyDocuments) prawo sposobem jest:

bzr init-repo ./MyProject 
bzr init ./MyProject/trunk 

bzr init-repo ./MyHomepage 
bzr init ./MyHomepage/trunk 

bzr init-repo ./MyDocuments 
bzr init ./MyDocuments/trunk 

Jeśli planujesz mieć tylko jeden oddział dla każdego twojego projektu, nie korzystaj w ogóle z dzielonego repo i rób to jak zasugerował James Polley.

Możesz nawet utworzyć udostępnione repo później i umieścić bieżący oddział w nim pod numerem bzr reconfigure --use-shared.

+0

Dbam o to, co działa i jest proste. Szybkość i rozmiar nie są ważne. Dziękuję Ci :-) – neoneye

Powiązane problemy