Tutoriál 7 - Export změny do souboru
Předchozí kapitola Tutoriálu pojednávala o Stažení změn z jiného repozitáře, příští bude o Slučování změn
V předchozí kapitole jsme se dozvěděli jak stahovat changeset z jednoho repozitáře do druhého. Jsou i další způsoby sdílení změn mezi repozitáři a osobami, z nichž nejdůležitější je prostřednictvím emailu.
Poté, co potvrdíme změnu příkazem commit, můžeme ji exportovat do souboru a odeslat jako přílohu emailem někomu dalšímu. Export provádíme příkazem export. Musíme zadat tag, číslo revize nebo ID changesetu aby Mercurial věděl co má exportovat. V našem případě chceme exportovat tip. Jsme-li stále v adresáři moje-halo-share, zadáme:
> hg export tip # HG changeset patch # User mpm@selenic.com # Date 1209943246 -7200 # Node ID 86794f718fb1ea9e633f7c052757663b8ce90e30 # Parent 82e55d328c8ca4ee16520036c0aaace03a5beb65 Ať žije DVCS Hg Mercurial! diff -r 82e55d328c8c -r 86794f718fb1 hello.c --- a/hello.c Fri Aug 26 01:21:28 2005 -0700 +++ b/hello.c Mon May 05 01:20:46 2008 +0200 @@ -12,5 +12,6 @@ int main(int argc, char **argv) { printf("hello, world!\n"); + printf("to jsem rád, že mám Merkuriál!\n"); return 0; }
Příkaz export implicitně oprávku (patch) jenom zobrazí, takže obvykle přesměrujeme výstup do souboru (nebo použijeme opci -o). Tento soubor je oprávkovým souborem (patch file) v unifikovaném diffovém formátu unified diff.
Úplný příkaz k exportu do souboru může vypadat takto:
> hg export tip -o holub
Příkaz se tiše provede a v adresáři moje-halo-share přibude nový soubor holub, který použijeme jako přílohu emailu. Příjemce našeho emailu si přílohu uloží a příkazem import převede obsažený changeset do svého repozitáře.
O slučování změn (merge) z rozdílných repozitářů pojednává následující kapitola Slučování změn.