File: synchronize.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 (166 lines) | stat: -rw-r--r-- 5,871 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
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
Synchronize
===========

.. module:: synchronize.dialog
	:synopsis: Dialog used to perform synchronization operations

.. figure:: figures/synchronize.png
	:alt: Synchronize dialog

	Synchronize dialog

.. note::
	The synchronize tool has been deprecated in the 0.9 release, and may
	be removed in a future release.  We suggest you use the changelog
	tool for performing synchronization duties.

The synchronize tool is used to transmit changesets between repositories
or to email recipients.

	:guilabel:`Incoming`
		show changesets that would be pulled from target repository, the
		changes in the target repository that are not in local repository
	:guilabel:`Pull`
		pull incoming changesets from target repository
	:guilabel:`Outgoing`
		show changesets that would be pushed to target repository, the
		changes in the local repository that are not in target
		repository
	:guilabel:`Push`
		push outgoing changesets to target repository, make the local
		*tip* the new *tip* in the target repository
	:guilabel:`Email`
		send outgoing changesets (to target repository) as email
	:guilabel:`Shelve`
		launch the shelve tool to allow working changes to be
		temporarily moved into the shelf, since some operations require
		the working directory to be clean.
	:guilabel:`Stop`
		stop current operation
	:guilabel:`Configure`
		configure repository paths (aliases)

Below the toolbar are two buttons and a text entry:

	:guilabel:`Repo:`
		browse for a local repository to synchronize with
	:guilabel:`Bundle:`
		browse for a local bundle file to pull from

The text entry/combo box is where you enter or select paths of target
repositories. The synchronize tool will seed the drop-down list with
path aliases configured for this repository.

The :guilabel:`Post Pull Operation` frame contains radio buttons for
selecting the operation which is performed after a pull.  This behavior
is configurable via the :guilabel:`Configure` button.  You can select a
default behavior for your user account and override that selection on a
per-repository basis.

	:guilabel:`Nothing`
		No operations are performed after a pull.  You will be allowed to
		view the pulled changesets in the log viewer, and you will have the
		option to update to the new tip if applicable.
	:guilabel:`Update`
		Automatically update to the new branch tip if, and only if, new
		revisions were pulled into the local repository.  This could trigger
		a merge if the pulled changes conflict with local uncommitted
		changes.
	:guilabel:`Fetch`
		Equivalent to hg fetch.  See the fetch extension documentation for
		it's behavior.  This feature is only available if the fetch
		extension has been enabled by the user.
	:guilabel:`Rebase`
		Equivalent to pull --rebase.  See the rebase extension
		documentation for it's behavior.  This feature is only available
		if the rebase extension has been enabled by the user.

The :guilabel:`use proxy` button is a quick way to disable your proxy
configuration for individual operations. The button is only sensitive
when an http proxy is configured.

All operations which require authentication will pop up dialog boxes to
get the required information from the user.  TortoiseHg uses the
TortoisePlink tool (borrowed from the TortoiseSVN distribution) to
handle *ssh:* connections and authentication.  See the FAQ_ for help if
you have trouble connecting to ssh servers.

.. _FAQ: http://bitbucket.org/tortoisehg/stable/wiki/FAQ#tortoisehg-faq

Under the :guilabel:`Advanced Options` fold-up panel are a number of
configurables that are valid for most push/pull operations.

	:guilabel:`Force pull or push`
		override warnings about multiple heads or unrelated repositories
	:guilabel:`Target Revision`
		to avoid sending all revisions
	:guilabel:`Remote Command`
		provides -e argument
	:guilabel:`Show patches`
		show diffs in incoming and outging changes
	:guilabel:`Show Newest First`
		reverse order that changesets are listed
	:guilabel:`Show No Merges`
		filter out merge changesets from output (does not affect push/pull)


After Pull
----------

After changesets are pulled into your repository, a buttons may appear
at the bottom of the dialog:

	:guilabel:`Update to branch tip`
		Update your working directory to the new tip of the current branch

The button will be hidden when it is not applicable.

Email
-----

.. figure:: figures//email.png
	:alt: Email dialog

	Email dialog
 
The email dialog can be launched from two TortoiseHg tools.

1) The changelog tool, in which case the user intends to email a single
   revision or a range of revisions.

2) The synchronize tool, in which case the user intends to email all
   outgoing changes to the current target repository (it's good practice to
   check the outgoing changes before launching the email dialog).

The :guilabel:`Send` button is obvious, and the :guilabel:`Configure`
dialog predictably opens the TortoiseHg Settings dialog to the email tab
where you can configure your SMTP settings and set default
:guilabel:`To:` and :guilabel:`From:` addresses.

:guilabel:`In-Reply-To:` is used to make your patches properly threaded
in mailing lists.

Please consult the Mercurial documentation for the differences between
plain patches, Hg patches, Git patches, and bundles.

From command line
-----------------

The synchronize tool can be started from command line ::

	hgtk synch

	aliases: pull, push, incoming, outgoing, email

	repository synchronization tool

	use "hgtk -v help synch" to show global options

The syntax is simple, no options or parameters are needed, except the
global options.  If the synchronize tool is started via push, outgoing,
or email command aliases, it will automatically select the
*default-push* URL if.  For all other aliases the tool selects the
*default* URL.  If the selected URL is not found, it will use the first
path it finds.

.. vim: noet ts=4