File: nonhg.txt

package info (click to toggle)
tortoisehg 1.1.1-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 12,248 kB
  • ctags: 2,416
  • sloc: python: 24,809; xml: 316; makefile: 86
file content (126 lines) | stat: -rw-r--r-- 6,082 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
****************************
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 <http://mercurial.selenic.com/wiki/RepositoryConversion>`_.


Perfarce (Perforce)
===================

* `Perfarce <http://www.kingswood-consulting.co.uk/hg/perfarce/>`_ home page.
* `Mercurial for Perforce users <http://mercurial.selenic.com/wiki/PerforceConcepts>`_

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 <http://bitbucket.org/durin42/hgsubversion/wiki/Home>`_ home page
* `hgsubversion Extension <http://mercurial.selenic.com/wiki/HgSubversion>`_ wiki page
* `Working with Subversion Repositories <http://mercurial.selenic.com/wiki/WorkingWithSubversion>`_

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 <http://hg-git.github.com/>`_ home page
* `hg-git Extension <http://mercurial.selenic.com/wiki/HgGit>`_ wiki page
* `Mercurial for Git users <http://mercurial.selenic.com/wiki/GitConcepts>`_

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