git-aggregator

Publicat el 16 de setembre de 2017 a les 11:02 per cubells. Etiquetes: pip, yaml, git-aggregator, git

Si feu servir el git, i col·laboreu en projectes lliures solucionant errades mitjançant pedaços o afegint millores al codi, segurament haureu comprovat que, malgrat la qualitat del codi que heu presentat, hi ha un temps d'espera relativament llarg entre que feu un push i els desenvolupadors en cap fan el merge del vostre codi, és a dir, entre que pugeu el vostre codi i el desenvolupador l'afegeix a la branca principal del projecte.

Si per casualitat, necessiteu provar el vostre codi en local o bé voleu posar-lo en producció sabent que és correcte, entendreu que és una mica fastigós haver de baixar-te per un costat el codi en producció i els pedaços que hi ha.

Hi ha una meravellosa eina que ho facilita tot això: git-aggregator.

Aquesta eina et permet, mitjançant un fitxer .yaml o .yml, baixar-te tot el codi font, l'oficial i els pedaços, i deixar-lo llest per a utilitzar.

L'estructura del fitxer per a baixar-se el codi oficial seria aquesta:

./server-tools:
remotes:
oca: https://github.com/OCA/server-tools.git
merges:
- oca 10.0
target: oca 10.0
fetch_all:
- oca

./stock-logistics-barcode:
remotes:
oca: https://github.com/OCA/stock-logistics-barcode.git
merges:
- oca 10.0
target: oca 10.0
fetch_all:
- oca

 

En aquest tros del fitxer, podeu comprobar com es pot baixar la branca 10.0 dels repositoris https://github.com/OCA/server-tools.git i https://github.com/OCA/stock-logistics-barcode.git.

Fins ací res que no puga fer directament amb

$ git clone -b 10.0 https://github.com/OCA/server-tools.git

$ git clone -b 10.0 https://github.com/OCA/stock-logistics-barcode.git

L'important d'aquesta eina és que et permet afegir tants repositoris com vulgues i els pedaços que vulgues, és a dir, em permet afegir també una cosa així:

./l10n-spain:
defaults:
depth: 50
remotes:
oca: https://github.com/OCA/l10n-spain.git
merges:
- oca 10.0
- oca refs/pull/491/head
- oca refs/pull/616/head
- oca refs/pull/619/head
target: oca 10.0
fetch_all:
- oca

 

Això el que fa és baixar-me el codi font de la branca 10.0 del repositori https://github.com/OCA/l10n-spain.git, i a més a més, els pull requests 491, 616 y 619 que encara no estan aprovats pels desenvolupadors del projectes i el codi dels quals encara no forma part del codi oficial del projecte.

Fixeu-vos que he afegit una variable depth: 50, que et permet definir fins a quants commits ha de cercar el git-aggregator a l'historial per fer el merge del codi dels pedaços. Si per casualitat, el pr és molt antic, igual us convé augmentar aquesta xifra per a què no hi hagen conflictes al fer el merge.

Aleshores, una vegada creat el fitxer amb tots els repositoris i pedaços que necessiteu, solamente cal executar:

$ gitaggregate -c repos.yaml

sent repos.yaml el fitxer que hem creat, i es baixarà tot el codi font, tots els pedaços, farà el merge i tindreu el codi font perfecte per fer servir com si els pedaços ja formaren part del codi oficial.

O siga, una meravella.

El git-aggregator està al pip, per tant, el podeu instal·lar amb un

# pip install git-aggregator

Més documentació al projecte i a la seua documentació.

Puja dalt

Entrades similars

No hi ha entrades similars encara.

Hi ha 0 comentaris

No hi ha comentaris encara.

Afegeix un comentari