BzrSync

Software screenshot:
BzrSync
Software informatie:
Versie: 0.2
Upload datum: 11 May 15
Ontwikkelaar: Marco Pantaleoni
Licentie: Gratis
Populariteit: 13

Rating: 2.0/5 (Total Votes: 1)

BzrSync is een hulpprogramma om een ​​ontwikkelaar met behulp van Bazaar op meerdere machines te helpen. Het houdt automatisch geselecteerd repositories en takken gesynchroniseerd over de machines. Bazaar zelf wordt gebruikt voor het synchroniseren (met "bzr pull") om consistentie te allen tijde.
installatie
Om de laatste stabiele versie van BzrSync te installeren, met behulp van pip:
pip bzrsync installeren
of het gebruik van setuptools:
easy_install bzrsync
Anders, als noch pip noch setuptools beschikbaar zijn, is het mogelijk om het downloaden van de bron pakket, pak het uit en voer de gebruikelijke setup.py commando's (bijvoorbeeld van PyPI.):
python setup.py installeren
Gebruik
Stel, je werkt vanuit drie verschillende werkstations, en hun hostnames zijn alfa, bèta en gamma. U wilt uw Bazaar repositories en takken gesynchroniseerd tussen alle drie de knooppunten met BzrSync houden. BzrSync is bedoeld om gebruikt te worden met gedeelde repositories, dus als je deze niet gebruikt, moet u opnieuw organiseren van uw takken gedeelde repositories gebruiken. Het is makkelijker om alle repositories in dezelfde directory te houden. In ons voorbeeld zullen onze repositories in ~ / bzr verblijven en hun namen zullen eindigen op ".bzr". In elke gedeelde repository, op het hoogste niveau moet er een map voor elke node. In ons geval alfa, bèta en gamma. Bijvoorbeeld, laten we voorstellen dat we een repository genaamd 'project-foo.bzr ". We werken aan alpha, en een stam en een feature-1 tak hebben gecreëerd. We moeten:
~ / Bzr / project-foo.bzr /
~ / Bzr / project-foo.bzr / alpha
~ / Bzr / project-foo.bzr / alpha / trunk
~ / Bzr / project-foo.bzr / alpha / feature-1
~ / Bzr / project-foo.bzr / beta
~ / Bzr / project-foo.bzr / gamma
Laten we aannemen dat we ook een local.bzr repository we niet wilt synchroniseren, in beide richtingen.
BzrSync heeft een YAML configuratiebestand, standaard ~ / .bazaar / bzrsync.yaml, een opsomming van de repositories en de takken we. In dit voorbeeld wordt de inhoud:
# Remote nodes
# (Een host kan worden uitgerust met een optionele poort als host: port)
hosts:
- Alpha
- Beta
- Gamma
# Waarbij repositories aangegeven met een relatief pad / patroon liggen
root: ~ / bzr
# * Alle * repositories
repositories: "* .bzr"
# Specifieke repositories van 'repositories' uit te sluiten
exclusief:
- Local.bzr
# Repositories te exporteren naar remote nodes
export: "* .bzr"
# Specifieke repositories uitgesloten van export
export_exclude:
- Local.bzr
# Repositories te synchroniseren van afstandsbedieningen
sync: "* .bzr"
# Specifieke repositories uitgesloten van sync
sync_exclude:
- Local.bzr
We kunnen precies dezelfde configuratiebestand op alle drie knooppunten.
BzrSync zal niet de gedeelde repositories te creëren voor u, dus voordat procedure, doe dat dan nu op alle knooppunten, herinneren om ook het knooppunt submappen maken.
Dan start de BzrSync daemon op alle knooppunten:
alpha $ bzrsync dienen
beta $ bzrsync dienen
gamma $ bzrsync dienen
Laten we nu sync project-foo.bzr van alpha naar beta:
& Nbsp; beta $ bzrsync sync ~ / bzr / project-foo.bzr
Dit zal trekken om beta alle takken van ~ / bzr / project-foo.bzr / alpha / op alpha, en alle takken van ~ / bzr / project-foo.bzr / gamma / op gamma. In ons geval, alleen alfa heeft vestigingen op dit moment, dus in de praktijk zullen we de takken alpha / romp en alpha / feature-1 te krijgen van alpha naar beta, houden ze als alfa / romp en alpha / feature-1.
Als je wilt werken aan beta, nu tak van de nieuw gesynchroniseerde takken met hun tegenhangers in de beta / subdirectory:
beta $ bzr branch ~ / bzr / project-foo.bzr / alpha / feature-1 ~ / bzr / project-foo.bzr / beta / feature-1
beta $ bzr co ~ / bzr / project-foo.bzr / beta / feature-1 foo-feature-1
beta $ cd foo-feature-1
...
hack hack hack
...
beta $ plegen
Nu op beta moeten we:
~ / Bzr / project-foo.bzr /
~ / Bzr / project-foo.bzr / alpha
~ / Bzr / project-foo.bzr / alpha / trunk
~ / Bzr / project-foo.bzr / alpha / feature-1
~ / Bzr / project-foo.bzr / beta
~ / Bzr / project-foo.bzr / beta / feature-1
~ / Bzr / project-foo.bzr / gamma
Wanneer u klaar bent met werken op de beta, kunt u synchroniseren van alpha:
& Nbsp; alpha $ bzrsync sync ~ / bzr / project-foo.bzr
en dit zal beta / feature-1 te maken op alpha, die je kunt trekken naar alpha / feature-1 als niet uiteen, of samenvoegen het anders, en opnieuw te beginnen werken vanuit alpha.
Zie het voorbeeld bzrsync.yaml bestand voor een meer volledige voorbeeld, die ook tak sets

Eigenschappen .

  • elke aantal machines worden ondersteund
  • de consistentie gegarandeerd is ten alle tijden

Eisen

  • Python

Vergelijkbare software

hg-github
hg-github

14 Apr 15

RhodeCode
RhodeCode

20 Feb 15

ghsync
ghsync

11 May 15

hgsubversion
hgsubversion

14 Apr 15

Reacties op BzrSync

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!