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 .