BzrSync ay isang utility upang makatulong sa isang developer gamit Bazaar sa maramihang machine. Ito ay awtomatikong mapigil ang napiling mga repositoryo at sanga synchronize sa kabuuan sa mga machine. Bazaar mismo ay ginamit para sa pag-synchronise (na may "bzr pull"), na tinitiyak na pare-pareho sa lahat ng oras.
Pag-install
Upang i-install ang pinakabagong matatag na bersyon ng BzrSync, gamit pip:
PIP install bzrsync
o gamit setuptools:
easy_install bzrsync
Kung hindi, kung hindi pip o setuptools ay magagamit, ito ay posible na i-download ang source package, kunin ito at patakbuhin ang mga dati setup.py utos (eg mula PyPI.):
python setup.py install
Usage
Ipagpalagay ikaw trabaho mula sa tatlong iba't ibang mga workstations, at ang kanilang mga hostname ay alpha, beta at gamma Hayaan. Gusto mong panatilihin ang iyong mga repositoryo Bazaar at sanga-synchronize sa pagitan ng lahat ng tatlong nodes gamit BzrSync. BzrSync ay sinadya upang gamitin sa mga shared repositoryo, kaya kung ikaw ay hindi gumagamit ng mga ito, dapat mong muling ayusin ang iyong mga sanga na gamitin shared repositoryo. Ito ay mas madali upang panatilihin ang lahat ng mga repositoryo sa loob ng parehong directory. Sa aming halimbawa ng aming mga repositoryo ay naninirahan sa ~ / bzr at ang kanilang mga pangalan ay matatapos sa ".bzr". Sa bawat shared repository, sa tuktok na antas ay dapat na mayroong isang direktoryo para sa bawat node. Sa aming kaso alpha, beta at gamma. Halimbawa, sabihin akala namin isang lalagyan na pinangalanang "project-foo.bzr" hayaan. Kami ay nagtatrabaho sa alpha, at ginawa ng isang puno ng kahoy at ng isang tampok-1 branch. Kami ay may:
~ / Bzr / proyekto-foo.bzr /
~ / Bzr / proyekto-foo.bzr / alpha
~ / Bzr / proyekto-foo.bzr / alpha / trunk
~ / Bzr / proyekto-foo.bzr / alpha / feature-1
~ / Bzr / proyekto-foo.bzr / beta
~ / Bzr / proyekto-foo.bzr / gamma
Ipagpalagay din kami ng isang local.bzr repository hindi namin nais i-synchronise, sa alinman sa direksyon Hayaan.
Pangangailangan BzrSync isang YAML config file, sa pamamagitan ng default ~ / .bazaar / bzrsync.yaml, na naglilista ng mga repositoryo at ang mga sanga. Sa halimbawa na ito ang mga nilalaman nito ay magiging:
# Remote nodes
# (Maaaring tinukoy sa isang host sa isang opsyonal na port bilang HOST: PORT)
host:
- Alpha
- Beta
- Gamma
# Kung saan repositoryo tinukoy sa isang kamag-anak landas / pattern ay matatagpuan
root: ~ / bzr
# * * Lahat repositoryo
repositoryo: "* .bzr"
# Tukoy repositoryo upang ibukod mula sa 'repositoryo'
ibukod:
- Local.bzr
# Repositoryo mag-export sa remote nodes
export: "* .bzr"
# Tukoy repositoryo ibinukod mula export
export_exclude:
- Local.bzr
# Repositoryo upang i-sync mula sa remotes
sync: "* .bzr"
# Tukoy repositoryo ibinukod mula sa pag-sync
sync_exclude:
- Local.bzr
Maaari naming gamitin ang eksaktong ito parehong configuration file sa lahat ng tatlong nodes.
BzrSync hindi lumikha ng mga shared repositoryo para sa iyo, kaya bago magpatuloy, gawin na ito ngayon sa lahat ng mga nodes, pagtanda upang lumikha din ang node subdirectory.
Pagkatapos ilunsad ang BzrSync demonyo sa lahat ng nodes:
alpha $ bzrsync maglingkod
beta $ bzrsync maglingkod
gamma $ bzrsync maglingkod
Sync proyekto-foo.bzr mula sa alpha upang beta Mag Ngayon ipaalam:
& Nbsp; beta $ bzrsync sync ~ / bzr / proyekto-foo.bzr
Ito ay pull sa beta sa lahat ng mga sanga mula sa ~ / bzr / proyekto-foo.bzr / alpha / on alpha, at ang lahat ng mga sanga mula sa ~ / bzr / proyekto-foo.bzr / gamma / on gamma. Sa aming kaso, tanging ang alpha ay ngayon sanga, kaya sa pagsasanay kami makakuha ng mga sanga alpha / trunk at alpha / feature-1 mula sa alpha na beta, pinapanatili ang mga ito bilang alpha / trunk at alpha / feature-1.
Kung nais mo upang magtrabaho sa beta, ngayon sangay mula sa mga bagong na-synchronize sanga sa kanilang counterparts sa loob ng beta / subdirectory:
beta $ bzr branch ~ / bzr / proyekto-foo.bzr / alpha / feature-1 ~ / bzr / proyekto-foo.bzr / beta / feature-1
beta $ bzr co ~ / bzr / proyekto-foo.bzr / beta / feature-1 foo-feature-1
beta $ cd foo-feature-1
...
hack hack hack
...
beta $ magkasala
Ngayon sa beta ka namin:
~ / Bzr / proyekto-foo.bzr /
~ / Bzr / proyekto-foo.bzr / alpha
~ / Bzr / proyekto-foo.bzr / alpha / trunk
~ / Bzr / proyekto-foo.bzr / alpha / feature-1
~ / Bzr / proyekto-foo.bzr / beta
~ / Bzr / proyekto-foo.bzr / beta / feature-1
~ / Bzr / proyekto-foo.bzr / gamma
Kapag kayo ay tapos na nagtatrabaho sa beta, maaari mong i-sync mula sa alpha:
& Nbsp; alpha $ bzrsync sync ~ / bzr / proyekto-foo.bzr
at ito ay lumikha ng beta / tampok-1 sa alpha masyadong, na maaari mong pull papunta alpha / feature-1 kung hindi diverged, o sumanib ito sa kabilang banda, at simulan ang nagtatrabaho mula sa alpha muli.
Mangyaring tingnan ang halimbawa bzrsync.yaml file para sa isang mas kumpletong halimbawa, kung saan kabilang branch set din
Features .
- anumang bilang ng mga machine ay suportado
- pagbabago ay garantisadong sa lahat ng oras
Kinakailangan :
- sawa
Mga Komento hindi natagpuan