Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.0, 1.0.1, and 1.0.2

stable doc: add a page for interop with other vcs

Changeset 158180b55ebd

Parent c98cd8c89f54

by Steve Borho

Changes to 3 files · Browse files at 158180b55ebd Showing diff from parent c98cd8c89f54 Diff from another changeset...

 
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
 
190
191
192
 
112
113
114
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
116
117
118
@@ -112,81 +112,7 @@
 `Perfarce <http://www.kingswood-consulting.co.uk/hg/perfarce/>`_ home  page.   -This extension modifies the remote repository handling so that repository -paths that resemble:: - - p4://p4server[:port]/clientname - -cause operations on the named p4 client specification on the p4 server. -The client specification must already exist on the server before using -this extension. Making changes to the client specification Views causes -problems when synchronizing the repositories, and should be avoided. - -Five built-in Mercurial commands are overridden. - -outgoing:: - - If the destination repository name starts with p4:// then this - reports files affected by the revision(s) that are in the local - repository but not in the p4 depot. - -push:: - - If the destination repository name starts with p4:// then this - exports changes from the local repository to the p4 depot. If no - revision is specified then all changes since the last p4 changelist - are pushed. In either case, all revisions to be pushed are foled - into a single p4 changelist. Optionally the resulting changelist is - submitted to the p4 server, controlled by the --submit option to - push, or by setting **perfarce.submit** to True. If the option - **perfarce.keep** is False then after a successful submit the files - in the p4 workarea will be deleted. - -pull:: - - If the source repository name starts with p4:// then this imports - changes from the p4 depot, automatically creating merges of - changelists submitted by hg push. If the config option - **perfarce.keep** is False then the import does not leave files in - the p4 workarea, otherwise the p4 workarea will be updated with the - new files. - -incoming:: - - If the source repository name starts with p4:// then this - reports changes in the p4 depot that are not yet in the local - repository. - -clone:: - - If the source repository name starts with p4:// then this - creates the destination repository and pulls all changes from - the p4 depot into it. - -**TortoiseHg Integration** - -When the perfarce extension is enabled, it adds a :guilabel:`start revision` -configurable option to the clone tool, and a :guilabel:`Perforce` menu -to the Repository Explorer. The menu has two items: - -identity:: - - Finds the tip Perforce changelist in your local repository and - selects it in the changelog window. - -pending:: - - Detects pending Perforce changelists that have been "push"ed to your - Perforce client but have not been submitted, or have not been pulled - back. This opens the pending changelist dialog so that you can view - these pending changelists and either submit or revert them. - -**Installation** - -You may want to add it to your Mercurial.ini or a repository's hgrc like this:: - - [extensions] - perfarce= +This extension is documented `elsewhere <nonhg.html#perfarce>`_.    HGEOL  =====
 
20
21
22
 
23
24
25
 
20
21
22
23
24
25
26
@@ -20,6 +20,7 @@
  recovery   patches   extensions + nonhg   faq   debugging  
Change 1 of 1 Show Entire File doc/​source/​nonhg.txt Stacked
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
@@ -0,0 +1,160 @@
+************************** +Use with other VCS systems +************************** + +.. module:: nonhg + :synopsis: Describe using TortoiseHg as a front-end to other VCS + +This chapter describes the three most popular Mercurial extensions for +interoperating with *foreign* VCS systems. + +Perfarce (Perforce) +=================== + +`Perfarce <http://www.kingswood-consulting.co.uk/hg/perfarce/>`_ home +page. + +This extension modifies the remote repository handling so that repository +paths that resemble:: + + p4://p4server[:port]/clientname + +cause operations on the named p4 client specification on the p4 server. +The client specification must already exist on the server before using +this extension. Making changes to the client specification Views causes +problems when synchronizing the repositories, and should be avoided. + +Five built-in Mercurial commands are overridden. + +outgoing:: + + If the destination repository name starts with p4:// then this + reports files affected by the revision(s) that are in the local + repository but not in the p4 depot. + +push:: + + If the destination repository name starts with p4:// then this + exports changes from the local repository to the p4 depot. If no + revision is specified then all changes since the last p4 changelist + are pushed. In either case, all revisions to be pushed are foled + into a single p4 changelist. Optionally the resulting changelist is + submitted to the p4 server, controlled by the --submit option to + push, or by setting **perfarce.submit** to True. If the option + **perfarce.keep** is False then after a successful submit the files + in the p4 workarea will be deleted. + +pull:: + + If the source repository name starts with p4:// then this imports + changes from the p4 depot, automatically creating merges of + changelists submitted by hg push. If the config option + **perfarce.keep** is False then the import does not leave files in + the p4 workarea, otherwise the p4 workarea will be updated with the + new files. + +incoming:: + + If the source repository name starts with p4:// then this + reports changes in the p4 depot that are not yet in the local + repository. + +clone:: + + If the source repository name starts with p4:// then this + creates the destination repository and pulls all changes from + the p4 depot into it. + +*TortoiseHg Integration* + +When the perfarce extension is enabled, it adds a :guilabel:`start revision` +configurable option to the clone tool, and a :guilabel:`Perforce` menu +to the Repository Explorer. The menu has two items: + +identity:: + + Finds the tip Perforce changelist in your local repository and + selects it in the changelog window. + +pending:: + + Detects pending Perforce changelists that have been "push"ed to your + Perforce client but have not been submitted, or have not been pulled + back. This opens the pending changelist dialog so that you can view + these pending changelists and either submit or revert them. + +*Installation* + +Perfarce comes bundled with TortoiseHg 1.0 Windows installers, so you +enable perfarce by simply adding it to your Mercurial.ini or a +repository's hgrc like this:: + + [extensions] + perfarce= + +hgsubversion (SVN) +================== + +`hgsubversion <http://bitbucket.org/durin42/hgsubversion/wiki/Home>`_ home page + +hgsubversion, as it's name implies, allows you to use Mercurial as a +client to a Subversion server. It can also be used to do straight +conversions of Subversion repositories into Mercurial. + +*Installation* + +TortoiseHg Windows installers come with the python-svn bindings that +hgsubversion requires, so one only needs to clone the hgsubversion +repository to your local computer:: + + hg clone http://bitbucket.org/durin42/hgsubversion/ C:\hgsvn + +Then enable the extension in your Mercurial.ini file, specifying the +hgsubversion folder inside the cloned repository:: + + [extensions] + hgsubversion = C:\hgsvn\hgsubversion + +You can verify that worked by typing :command:`hg help hgsubversion` + +See the hgsubversion wiki for details of use. + +.. warning:: + When doing a clone of a Subversion server, it is highly recommended + to clone only the first few revisions, then pull the rest. Clone's + failure behavior is to delete the entire incomplete cloned + repository. Pull is much more forgiving. + +*TortoiseHg Integration* + +Imported Subversion changesets will display the original Subversion +checkin number in the Repository Explorer browser. + +hg-git (git) +============ + +`hg-git <http://hg-git.github.com/>`_ home page + +hg-git, as it's name implies, allows you to use Mercurial as a +client to a git server. It can also be used to do straight conversions +of Git repositories into Mercurial. + +*Installation* + +TortoiseHg Windows installers come with the python-git bindings (named +dulwich) that hg-git requires, so one only needs to clone the +hg-git repository to your local computer:: + + hg clone http://bitbucket.org/abderrahim/hg-git/ C:\hggit + +Then enable hggit and bookmarks in your Mercurial.ini file:: + + [extensions] + bookmarks = + hggit = C:\hggit + +You can verify that worked by typing :command:`hg help hggit` + +See the hggit documentation for details of use. + +.. vim: noet ts=4