Ce este un bun model de utilizare Mercurial pentru această configurație?

Avem doi dezvoltatori pe aceeași rețea închisă (ugh, stupid gov), un alt dezvoltator care a parcurs câteva minute pe drum și un al patrulea dezvoltator la jumătatea drumului în toată țara. E-mail, ftp și media de ștergere sunt toate metode posibile de transfer pentru persoanele care nu se află în aceeași rețea.

Sunt unul dintre cei doi dezvoltatori de rețele închise, considerați-ne locația "master".

Care este cea mai bună configurație / model Mercurial pentru grup? Care este cel mai bun mod de a trasmite modificările în / de la dezvoltatorii de la distanță? În calitate de responsabil, m-am gândit că ar trebui să păstrez cel puțin un master repo cu un alt repo local pe care să-l pot dezvolta. Fiecare altă persoană ar trebui să aibă nevoie doar de o clonă a maestrului. Este corect? Cred că asta mă face și eu responsabil de fuzionare?

După cum puteți vedea, încă încerc să-mi împachet capul în jurul controlului versiunii distribuite. Nu cred că există altă modalitate de a face acest lucru cu situația conectivității.

0
fr hi bn

3 răspunsuri

Utilizatorii din afara rețelei pot face patch-uri și / sau să utilizeze < prin e-mail pentru a trimite actualizările la repo principal sau pe cineva, ca tine însuți îmbinarea lor. Ceilalți oameni interni pot avea copii locale, cum ar fi tine și care se îmbină - dar dacă aveți aceste patch-uri din rețea, ar fi mai bine ca o persoană să se ocupe de ele, astfel încât nimeni să nu fie confuz, dar asta ar trebui să consideră-te.

Sincronizând altfel, ați crea un patch și le trimiteți prin e-mail sau puteți obține o unitate flash la dezvoltatorii de la distanță pentru a le patch-uri. Vei avea nevoie de o bună comunicare în echipă, sunt recunoscător că nu sunt în pantofii tăi.

Acestea sunt singurele mele sugestii - bine, evident, adu-le o conexiune VPN! Mi-ar plăcea să aud cum merge, ce planuri se stabilizează într-un canal săptămânal și așa mai departe.

0
adăugat

Corect. Singura modalitate de a face ceva pe rețeaua închisă este prin intermediul unității flash.

0
adăugat

Patch-urile sunt o soluție simplă și versatilă.

Pentru a vă deplasa în jurul unor grupuri mai mari de modificări (în special schimbări binare și fuzionări), Mercurial oferă pachete binare. Un pachet este în esență chestiunea binară trimisă în rețea atunci când faceți hg push , dar aici este capturată într-un fișier.

Să ne imaginăm că am obținut o clonă cumva (prin flash, DVD, etc.). Apelați-l upstream . Apoi fac oa doua clonă, o numesc devel . Fac toate dezvoltările mele în devel și fac numeroase comitete, fuzionări etc. De când se distribuie Mercurial pot face toate acestea offline.

Pentru a vedea care seturi de modificări lipsesc în upstream , o fac

% hg outgoing ../upstream

Când am ceva de trimis, pot folosi

% hg bundle changes.hg ../upstream

pentru a obține un fișier comprimat binar care conține setul de modificări, inclusiv toate datele meta. Pot să ard acest fișier pe un CD și să îl trimit prin poștă ...

Destinatarul pachetului poate face

% hg incoming changes.hg

pentru a vedea lista de modificări și

% hg pull changes.hg

să despachetați și să adăugați seturile de modificări în depozitul său. Apoi, cel mai probabil va trebui să fuzioneze - este exact ca și cum ar fi tras direct din depozit prin HTTP sau SSH.

Rețineți că depozitul upstream este utilizat numai ca o modalitate convenabilă de a vă aminti care seturi de modificări se găsesc deja în depozitul din amonte. De asemenea, puteți să notați ID-ul modificărilor și să utilizați hg bundle --base atunci când grupați pentru a specifica setul de modificări de bază (comun). Consultați hg help bundle sau uitați-vă în wiki .

0
adăugat