Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.8.2, 0.8.3, and 0.9

doc: add a quick tour chapter

from wiki 'A Gentle Introduction to Using TortoiseHG on Windows'
left commented some pictures, because not updated.

Changeset 1dfe4bea58e4

Parent 201efb81f7cc

by Giampaolo Fadel

Changes to 2 files · Browse files at 1dfe4bea58e4 Showing diff from parent 201efb81f7cc Diff from another changeset...

 
13
14
15
 
16
17
18
 
13
14
15
16
17
18
19
@@ -13,6 +13,7 @@
    preface   intro + quick   common   explorer   commit
Change 1 of 1 Show Entire File doc/​source/​quick.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
@@ -0,0 +1,97 @@
+============================== +A quick tour for the impatient +============================== + +.. module:: tour + :synopsis: A Gentle Introduction to Using TortoiseHG on Windows + +One of the great things about Mercurial is that there are lots of different +`Collaboration Models <http://hgbook.red-bean.com/hgbookch6.html#x10-1110006.2>`_. +The following describes just one of those ways: a single central repository. + +To get started, suppose you volunteer to create the first version. There are +`ways of importing already existing repositories <http://www.selenic.com/mercurial/wiki/index.cgi/RepositoryConversion>`_, +but lets assume we're starting from scratch. First you need to make sure that you are correctly identified in TortoiseHG. +You do this by adjusting the global settings of TortoiseHG. Try right-clicking your source folder and following +:menuselection:`TortoiseHG --> Settings --> Global` + +.. figure:: figures/contextmenu.png + :alt: Context Menu + + +From there you should be able to find what TortoiseHG thinks your name is, and correct it. +Create the repository on your local machine by using the :guilabel:`Create Repository Here` selection above. +Mercurial places a subdirectory in your folder called :file:`.hg`. This is where it keeps all its versioning +information. It is called the *repository*, and the directory containing the repository is called the +*working directory*. You never specify the :file`.hg` directory. It is mentioned here just so you'll better +understand how Mercurial is working. + +Add the files contained in the folder by following the menu :menuselection:`TortoiseHG --> Add Files`. + +.. {{images/image008.gif}} + +Commit to your local repository by right-clicking anywhere in the folder, or on the folder itself, +and then selecting :guilabel:`HG Commit ...`. + +.. {{images/image001.png}} + +Now you are ready to share your work. You do this by making a copy of your repository in a public place +that everyone in your group can access. Mercurial calls this *cloning your repository*. Clone your repository +to a common area, such as a shared drive or web site, which will be the merge point for the team. + +.. {{images/image003.gif}} + +Other team members will then work from this clone. + +Fetching from the group repository +================================== + +You want to start collaborating with your team. They tell you something like *fetch the repository from x*. +What does it mean? It means that you want to make a copy of the repository saved at x on your local machine. +Mercurial calls this cloning and has a special interface for it. Right click in the directory where you want your copy + +.. {{images/Clone.gif}} + +Working with your repository +============================ + +Suppose you've introduced some changes. It is easy to see that there are a couple of directories with changes pending. +You can traverse the directories to find specific changes and commit them from Explorer. A quicker way is to use the +commit tool: + +.. {{images/image001.png}} + +The commit tool gives you a way to see differences or you can use your visual difference tool (kdiff). You may commit +many times before synchronizing with the group repository. + +.. figure:: figures/commit.png + :alt: Commit dialog + +When you're ready to publish your changes, you + +1. commit your changes to your local repository, if you haven't already. +2. pull changes from the group repository into your repository +3. commit the merge to your local repository +4. make sure your work still builds and passes your extensive test suite +5. push your changes to the group repository. + +Which may sound complicated, but it is just pushing the buttons on the synchronize tool. + +.. {{images/image005.gif}} + +Which makes the synchronize tool come up: + +.. figure:: figures/synchronize.png + :alt: Synchronize dialog + + +:guilabel:`Incoming` + show me what changes in the group repository that are not in my repository +:guilabel:`Pull` + bring them on over and start merging +:guilabel:`Outgoing` + show me what is different in my repository compared to the group repository. +:guilabel:`Push` + make my changes the current changeset (tip) in the group repository. + +Mercurial makes collaboration easy, fast, and productive. Learn more at http://www.selenic.com/mercurial/wiki/