BzrSync este un utilitar pentru a ajuta un dezvoltator folosind Bazar pe mai multe calculatoare. Se păstrează în mod automat arhive selectate și ramuri sincronizate peste mașinile. Bazar sine este utilizat pentru sincronizarea (cu "pull bzr"), asigurând coerența în orice moment.
Instalare
Pentru a instala cea mai recentă versiune stabilă a BzrSync, folosind PIP:
Pip instala bzrsync
sau folosind setuptools:
easy_install bzrsync
În caz contrar, dacă nici PIP nici setuptools sunt disponibile, este posibil pentru a descărca pachetul sursă, extrage și rulați comenzile setup.py obișnuite (de exemplu, de la PyPI.):
python setup.py instala
Utilizare
Să presupunem că lucrați la trei stații de lucru diferite, și numele gazdelor lor sunt alfa, beta și gama. Doriți să păstrați registrele tale Bazar și ramuri sincronizate între cele trei noduri folosind BzrSync. BzrSync este menit să fie utilizat cu arhive comune, așa că, dacă nu sunt utilizați acestea, ar trebui să re-organizeze ramuri dvs. de a utiliza depozite comune. Este mai ușor să păstrați toate depozitele din interiorul același director. În exemplul nostru arhive noastre vor locui în ~ / bzr și numele lor se va termina în ".bzr". In fiecare depozit comun, la nivel de top ar trebui să existe un director pentru fiecare nod. In cazul nostru alfa, beta și gama. De exemplu, să ne imaginăm că avem un depozit numit "proiect foo.bzr". Lucrăm la alfa, și au creat un portbagaj și o sucursală caracteristică-1. Vom avea:
~ / Bzr / proiect foo.bzr /
~ / Bzr / proiect foo.bzr / alfa
~ / Bzr / proiect foo.bzr / alfa / trunchi
~ / Bzr / proiect foo.bzr / alfa / feature-1
~ / Bzr / proiect foo.bzr / beta
~ / Bzr / proiect foo.bzr / gamma
Să presupunem că avem, de asemenea, un depozit local.bzr nu vrem să sincronizați, în orice direcție.
BzrSync are nevoie de un fișier de configurare YAML, implicit ~ / .bazaar / bzrsync.yaml, listarea arhive și ramurile noi. In acest exemplu, conținutul său va fi:
# nodurile la distanță
# (O gazdă poate fi specificat cu un port opțional ca gazdă: PORT)
gazde:
- Alpha
- Beta
- Gamma
# În cazul în care se află registrele specificate cu o cale / model relativ
rădăcină: ~ / BZR
# * Toate registrele *
arhive: "* .bzr"
# depozite specifice pentru a exclude de la "depozite"
exclude:
- Local.bzr
# depozite să exporte nodurile la distanță
export: "* .bzr"
arhive # specifice excluse din export
export_exclude:
- Local.bzr
depozite # a sincroniza din telecomenzi
sync: "* .bzr"
arhive # specifice excluse din sincronizare
sync_exclude:
- Local.bzr
Putem folosi exact același fișier de configurare pe toate cele trei noduri.
BzrSync nu va crea arhive comune pentru tine, astfel încât înainte de a continua, acest lucru acum pe toate nodurile, amintindu pentru a crea, de asemenea, subdirectoarele nod.
Apoi lansa demonul BzrSync pe toate nodurile:
alfa $ bzrsync servi
beta $ bzrsync servi
gamma $ bzrsync servi
Acum, haideți să sincronizare proiect foo.bzr de alfa la beta:
& Nbsp; beta $ bzrsync sincronizare ~ / bzr / proiect foo.bzr
Acest lucru va trage la beta toate ramurile de la ~ / bzr / proiect foo.bzr / alfa / pe alfa, și toate ramurile de la ~ / bzr / proiect foo.bzr / gamma / pe gamma. În cazul nostru, numai alfa are filiale, chiar acum, astfel încât, în practică, vom avea sucursale alfa / trunchi și alfa / caracteristica-1 de la alfa la beta, menținându-le ca alfa / trunchi și alfa / feature-1.
Dacă doriți să lucreze la beta, acum ramura de ramuri recent sincronizate cu omologii lor din interiorul beta / subdirectorul:
beta ramură $ bzr ~ / bzr / proiect foo.bzr / alfa / feature-1 ~ / bzr / proiect foo.bzr / beta / feature-1
beta $ bzr co ~ / bzr / proiect foo.bzr / beta / feature-1 foo-feature-1
beta $ cd foo-feature-1
...
hack hack hack
...
beta $ comite
Acum, pe beta vom avea:
~ / Bzr / proiect foo.bzr /
~ / Bzr / proiect foo.bzr / alfa
~ / Bzr / proiect foo.bzr / alfa / trunchi
~ / Bzr / proiect foo.bzr / alfa / feature-1
~ / Bzr / proiect foo.bzr / beta
~ / Bzr / proiect foo.bzr / beta / feature-1
~ / Bzr / proiect foo.bzr / gamma
Când ați terminat de lucru pe beta, puteți sincroniza la alfa:
& Nbsp; alfa $ bzrsync sincronizare ~ / bzr / proiect foo.bzr
iar acest lucru va crea beta / feature-1 pe alfa le pe care le puteți trage pe alfa / feature-1 dacă nu s-au separat, sau fuziona l în caz contrar, și începe să lucreze din nou alfa.
Vă rugăm să consultați exemplul bzrsync.yaml fișier pentru un exemplu complet, care include, de asemenea, seturi de sucursale
Caracteristici :.
- orice sunt susținute numărul de masini
- coerență este garantată în orice moment
Cerințe :
- Python
Comentariile nu a fost găsit