**************************** Použití s jinými systémy VCS **************************** .. module:: nonhg :synopsis: Describe using TortoiseHg as a front-end to other VCS Tato kapitola popisuje tři nejoblíbenější extenze Mercurialu pro spolupráci s *cizími* systémy VCS. Viz také `Konverze repozitáře `_. Perfarce (Perforce) =================== * `Perfarce `_ home page. * `Mercurial for Perforce users `_ Tato extenze upravuje obsluhu vzdáleného repozitáře tak, že cesta repozitáře, která připomíná:: p4://p4server[:port]/clientname způsobí operace na jmenované klientské specifikaci p4 na serveru p4. Klientská specifikace musí již na serveru existovat před použitím této extenze. Provádění změn u klienstské specifikace Views působí problémy při synchronizaci repozitářů a měli bychom se jim vyhnout. Extenze přepisuje pět vestavěných příkazů Mercurialu. odchozí:: Jestliže název cílového repozitáře začíná s p4:// potom jsou oznámeny soubory ovlivněné revizemi lokálního repozitáře, nikoliv repozitáře v lokaci p4. push:: Jestliže název cílového repozitáře začíná p4://, potom jsou exportovány změny z lokálního repozitáře do lokace p4. Není-li určena žádná revize, potom jsou odeslány všechny změny od posledního výpisu změn p4. V obou případech jsou všechny revize, které mají být odeslány, shrnuty v jediném výpisu změn p4. Volitelně je výsledný changelist předán serveru p4 na základě volby --submit pro push nebo na základě nastavení **perfarce.submit** na True. Je-li **perfarce.keep** nastaveno na False potom se po úspěšném předání souborů smaže pracovní prostor p4. pull:: Začíná-li jméno zdrojového repozitáře *p4://*, potom jsou změny importovány z depotu, přičemž se automaticky slučují changelisty podané příkazem hg push. Je-li **perfarce.keep** nastaveno na False, potom se po úspěšném importu souborů smaže pracovní prostor p4; v opačném případě je pracovní prostor p4 novými soubory aktualizován. příchozí:: Začíná-li název zdrojového repozitáře *p4://*, potom jsou oznámeny změny v depotu p4, které dosud nejsou v lokálním repozitáři. clone:: Začíná-li název zdrojového repozitáře *p4://*, potom se vytvoří cílový repozitář a přetáhnou se do něho všechny změny z depotu p4. *Integrace TortoiseHg* Je-li umožněna extenze perfarce, přidá se volba :guilabel:`start revision` do nástroje *klonovat* a nabídka :guilabel:`Perforce` do Průzkumníka repozitáře. Nabídka má dvě položky: identity:: Nalezne poslední (tip) revizi (v Perforce označována jako changelist) a vybere ji v okně Průzkumníka. pending:: Nalezne *pending* revize Perforce, které byly příkazem push poslány do naší klientské extenze Perforce ale nebyly ani zapsány do repozitáře, ani staženy zpět. V této situaci se otevře dialog, ve kterém můžeme nepřevzaté (pending) revize převzít nebo odmítnout. *Instalace* Perfarce se dodává společně s instalátorem TortoiseHg 1.0 pro Windows takže jej snadno umožníme přidáním záznamu do souboru Mercurial.ini nebo do konfiguračního souboru hgrc repozitáře:: [extensions] perfarce= hgsubversion (SVN) ================== * `hgsubversion `_ home page * `hgsubversion Extension `_ wiki page * `Working with Subversion Repositories `_ hgsubversion, jak název napovídá, umožňuje použít Mercurial jako klientskou aplikaci pro server SVN. Lze jej také použít pro přímý převod repozitářů SVN do Mercurialu. *Instalace* Instalační programy TotroiseHg pro Window obsahují pojítka python-svn, potřebná pro hgsubversion, takže je možné klonovat repozitář hgsubversion do vlastního počítače:: hg clone http://bitbucket.org/durin42/hgsubversion/ C:\hgsvn Potom umožníme extenzi v našem souboru Mercurail.ini uvedením názvu vyhrazené složky:: [extensions] hgsubversion = C:\hgsvn\hgsubversion Funkčnost instalace si ověříme zadáním :command:`hg help hgsubversion` Podrobnosti nalezneme na stránkách wiki pro hgsubversion. .. warning:: Při klonování serveru Subversion se vřele doporučuje klonovat jenom několik prvních revizí a zbytek přetáhnout (pull). Vyskytne-li se chyba při klonování, bývá smazán celý neúplný klon. Akce pull je mnohem shovívavější. *Integrace TortoiseHg* Importované changesety ze Subversion se v Průzkumníku repozitáře zobrazí s původními čísly v Subversion. hg-git (git) ============ * `hg-git `_ home page * `hg-git Extension `_ wiki page * `Mercurial for Git users `_ hg-git, jak název naznačuje, nám umožní použít Mercurial jako klientskou aplikaci pro server git. Lze jej použít také pro přímý převod repozitáře Git do Mercurialu. *Instalace* Instalační programy TotroiseHg pro Window obsahují pojítka python-git (označovaná jako dulwich), potřebná pro hg-git, takže je možné klonovat repozitář hg-git do vlastního počítače:: hg clone http://bitbucket.org/durin42/hg-git/ C:\hg-git Potom umožnit hggit a bookmarks v souboru Mercurial.ini:: [extensions] bookmarks = hggit = C:\hg-git\hggit Funkčnost instlace si ověříme zadáním :command:`hg help hggit` Podrobnosti viz dokumentace hggit. Mějme na vědomí, že příkazy 'příchozí' a 'odchozí' při komunikaci s repozitáři git mají deformované zobrazení. Jsme tedy odkázání na prostá push a pull, což není neobvyklé při propojení s nástroji externího systému revizí. .. vim: noet ts=4