Mercurial > hg-website
annotate text/quick_start.txt @ 200:7ad3b0348ffc
quick_start.txt polishing
author | Arne Babenhauserheide <bab@draketo.de> |
---|---|
date | Thu, 25 Jun 2009 00:24:04 +0200 |
parents | 5bc5fe45852a |
children |
rev | line source |
---|---|
105
7a057bf137c5
Added a bastic draft for a quick_start - copied from the mailing list :) .
Arne Babenhauserheide <bab@draketo.de>
parents:
diff
changeset
|
1 = Quick Start = |
7a057bf137c5
Added a bastic draft for a quick_start - copied from the mailing list :) .
Arne Babenhauserheide <bab@draketo.de>
parents:
diff
changeset
|
2 |
200
7ad3b0348ffc
quick_start.txt polishing
Arne Babenhauserheide <bab@draketo.de>
parents:
195
diff
changeset
|
3 *This site should get you going at once. You can find a slightly longer quick_start [in the wiki](http://mercurial.selenic.com/wiki/QuickStart)* |
195
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
4 |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
5 == Part 0: Instant usage == |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
6 |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
7 *(you know this from the main page)* |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
8 |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
9 Clone a project and create a patch |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
10 |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
11 $ hg clone http://hg-scm.org/hello |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
12 $ cd hello |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
13 $ (edit files) |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
14 $ hg add (new files) |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
15 $ hg commit -m 'My changes' |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
16 $ hg export tip > patch.diff |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
17 |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
18 |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
19 Create a project and commit |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
20 |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
21 $ hg init (project-directory) |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
22 $ cd (project-directory) |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
23 $ (add some files) |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
24 $ hg add |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
25 $ hg commit -m 'Initial commit' |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
26 |
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
27 |
191
e288850bd825
Some polishing of quick_start.
Arne Babenhauserheide <bab@draketo.de>
parents:
121
diff
changeset
|
28 == Part 1: Using Mercurial == |
e288850bd825
Some polishing of quick_start.
Arne Babenhauserheide <bab@draketo.de>
parents:
121
diff
changeset
|
29 |
195
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
30 Aside from the practical Quick Start above, there are only a few commands you need to start working. |
114
aa325d9f79cd
Reqorked quick start text.
Arne Babenhauserheide <bab@draketo.de>
parents:
105
diff
changeset
|
31 |
195
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
32 Even if you stick to these basics, Mercurial is quite powerful. And they are very easy to use, once you see the model behind that: Each repository has the whole history, and history is not necessarily linear (part 2 explains that model in a bit more detail). |
105
7a057bf137c5
Added a bastic draft for a quick_start - copied from the mailing list :) .
Arne Babenhauserheide <bab@draketo.de>
parents:
diff
changeset
|
33 |
114
aa325d9f79cd
Reqorked quick start text.
Arne Babenhauserheide <bab@draketo.de>
parents:
105
diff
changeset
|
34 A quick overview of the basic commands: |
105
7a057bf137c5
Added a bastic draft for a quick_start - copied from the mailing list :) .
Arne Babenhauserheide <bab@draketo.de>
parents:
diff
changeset
|
35 |
114
aa325d9f79cd
Reqorked quick start text.
Arne Babenhauserheide <bab@draketo.de>
parents:
105
diff
changeset
|
36 - hg init: create a new repository |
aa325d9f79cd
Reqorked quick start text.
Arne Babenhauserheide <bab@draketo.de>
parents:
105
diff
changeset
|
37 - hg commit: save your changes in the current repository |
aa325d9f79cd
Reqorked quick start text.
Arne Babenhauserheide <bab@draketo.de>
parents:
105
diff
changeset
|
38 - hg log: see all changes in your repository |
aa325d9f79cd
Reqorked quick start text.
Arne Babenhauserheide <bab@draketo.de>
parents:
105
diff
changeset
|
39 - hg pull: get all changes from another repository int the current one |
aa325d9f79cd
Reqorked quick start text.
Arne Babenhauserheide <bab@draketo.de>
parents:
105
diff
changeset
|
40 - hg push: get all changes from your repository into another one |
aa325d9f79cd
Reqorked quick start text.
Arne Babenhauserheide <bab@draketo.de>
parents:
105
diff
changeset
|
41 - hg serve: create an instant-webserver. People can see the history there and pull from it |
aa325d9f79cd
Reqorked quick start text.
Arne Babenhauserheide <bab@draketo.de>
parents:
105
diff
changeset
|
42 - hg merge: join different lines of history |
105
7a057bf137c5
Added a bastic draft for a quick_start - copied from the mailing list :) .
Arne Babenhauserheide <bab@draketo.de>
parents:
diff
changeset
|
43 |
114
aa325d9f79cd
Reqorked quick start text.
Arne Babenhauserheide <bab@draketo.de>
parents:
105
diff
changeset
|
44 If you want to see a nice graph of the history, just do "hg serve" in your repository and then direct your browser to |
105
7a057bf137c5
Added a bastic draft for a quick_start - copied from the mailing list :) .
Arne Babenhauserheide <bab@draketo.de>
parents:
diff
changeset
|
45 |
7a057bf137c5
Added a bastic draft for a quick_start - copied from the mailing list :) .
Arne Babenhauserheide <bab@draketo.de>
parents:
diff
changeset
|
46 http://127.0.0.1:8000 |
7a057bf137c5
Added a bastic draft for a quick_start - copied from the mailing list :) .
Arne Babenhauserheide <bab@draketo.de>
parents:
diff
changeset
|
47 |
7a057bf137c5
Added a bastic draft for a quick_start - copied from the mailing list :) .
Arne Babenhauserheide <bab@draketo.de>
parents:
diff
changeset
|
48 This also helps getting a feeling for what the commands do. |
7a057bf137c5
Added a bastic draft for a quick_start - copied from the mailing list :) .
Arne Babenhauserheide <bab@draketo.de>
parents:
diff
changeset
|
49 |
114
aa325d9f79cd
Reqorked quick start text.
Arne Babenhauserheide <bab@draketo.de>
parents:
105
diff
changeset
|
50 (you can also do a lot of finegrained stuff by using different command options. Just call "hg help <command>" to see them). |
105
7a057bf137c5
Added a bastic draft for a quick_start - copied from the mailing list :) .
Arne Babenhauserheide <bab@draketo.de>
parents:
diff
changeset
|
51 |
200
7ad3b0348ffc
quick_start.txt polishing
Arne Babenhauserheide <bab@draketo.de>
parents:
195
diff
changeset
|
52 One step you'll likely want to do is setting your username in your Mercurial config file. |
7ad3b0348ffc
quick_start.txt polishing
Arne Babenhauserheide <bab@draketo.de>
parents:
195
diff
changeset
|
53 |
7ad3b0348ffc
quick_start.txt polishing
Arne Babenhauserheide <bab@draketo.de>
parents:
195
diff
changeset
|
54 For this you can configure a proper name and email address in ~/.hgrc (or on a Windows system in %USERPROFILE%\Mercurial.ini) by adding lines such as the following: |
7ad3b0348ffc
quick_start.txt polishing
Arne Babenhauserheide <bab@draketo.de>
parents:
195
diff
changeset
|
55 |
7ad3b0348ffc
quick_start.txt polishing
Arne Babenhauserheide <bab@draketo.de>
parents:
195
diff
changeset
|
56 [ui] |
7ad3b0348ffc
quick_start.txt polishing
Arne Babenhauserheide <bab@draketo.de>
parents:
195
diff
changeset
|
57 username = John Doe <john@example.com> |
7ad3b0348ffc
quick_start.txt polishing
Arne Babenhauserheide <bab@draketo.de>
parents:
195
diff
changeset
|
58 |
195
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
59 I you want more than this quick overview, please have a look at our longer [practical guide]({% url workflow_guide %}). |
105
7a057bf137c5
Added a bastic draft for a quick_start - copied from the mailing list :) .
Arne Babenhauserheide <bab@draketo.de>
parents:
diff
changeset
|
60 |
200
7ad3b0348ffc
quick_start.txt polishing
Arne Babenhauserheide <bab@draketo.de>
parents:
195
diff
changeset
|
61 == Part 2: Understanding Mercurial == |
105
7a057bf137c5
Added a bastic draft for a quick_start - copied from the mailing list :) .
Arne Babenhauserheide <bab@draketo.de>
parents:
diff
changeset
|
62 |
195
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
63 Now we'll look at some of the basic concepts of Mercurial to get a better understanding of its internals: |
192
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
64 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
65 * Like in Subversion, history consists of a number of commits. They're |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
66 called changesets in Mercurial. |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
67 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
68 * Subversion requires a strict linear ordering of the commits and |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
69 gives nice linear revision numbers to them. So revision N has only |
195
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
70 one child revision, N+1. |
192
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
71 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
72 This is simple, but it requires a central server to make sure that |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
73 everybody agrees on the revision numbers. |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
74 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
75 * Mercurial generalizes this by letting each changeset have multiple |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
76 children. If I work alone and make commits I'll make |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
77 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
78 C1 --> C2 --> C3 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
79 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
80 by making three commits. The commit C3 with no children is a "head". |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
81 It is also the newest changeset in the repository -- called "tip". |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
82 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
83 If I shared C1 with you and you started your work from that, your |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
84 commits will build a repository like this: |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
85 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
86 C1 --> C2' --> C3' |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
87 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
88 Here C3' is a head in your repository and I don't know anything |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
89 about C2' and C3' yet. |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
90 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
91 * If I pull from you, or you push to me, the two repositories are |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
92 compared. By default, all missing changesets are transferred. This |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
93 is all there is to push/pull: compare two graphs of changesets and |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
94 transfer the missing ones. |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
95 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
96 After a pull from you my repository will look like this: |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
97 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
98 /-> C2 --> C3 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
99 C1 -< |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
100 \-> C2' --> C3' |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
101 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
102 Here C1 has two child changesets, and the repository has two heads |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
103 since the development has diverged. |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
104 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
105 The changeset C3' will be the new tip since it is the newest |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
106 changeset in the repository. Note that tip is always a head, but a |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
107 head need not be the tip. |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
108 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
109 * Having two heads suggest that someone should merge them -- otherwise |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
110 the changes from one will never be combined with the changed made in |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
111 the other head. |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
112 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
113 When merging with 'hg merge' the task is to figure out the canonical |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
114 way to combine the changesets. If the changes do not overlap this is |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
115 usually trivial, otherwise you have to do a three-way merge. The |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
116 merge must be committed and this creates a changeset which explains |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
117 to the world how you think the two heads should be combined: |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
118 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
119 /-> C2 --> C3 -\ |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
120 C1 -< >-> M |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
121 \-> C2' --> C3' -/ |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
122 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
123 Note that the merge changeset M has two parents. |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
124 |
195
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
125 If you do not merge C3 and C3' and try to push, you get the 'new |
192
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
126 remote head' message and push aborts. It aborts since it is a little |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
127 "impolite" to leave the job of merging to someone else -- he who |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
128 created the two heads by pulling in some code should also normally |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
129 do the merging. |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
130 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
131 |
195
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
132 It helped my understanding a lot to think in terms of the changeset graph. Just remember that: |
192
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
133 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
134 * "hg commit" adds a new node. The parent changesets of the new node |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
135 is given by "hg parents" |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
136 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
137 * "hg push" and "hg pull" transfer nodes in the graph between two |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
138 repositories. |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
139 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
140 * "hg update" updates the working copy to reflect a given node in |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
141 the history graph. This also changes the parent changeset of the |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
142 next commit, see "hg parents". |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
143 |
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
144 |
195
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
145 And you want to quickly look up something, you can use one of the [Mercurial cheatsheets](http://www.selenic.com/mercurial/wiki/index.cgi/QuickReferenceCardsAndCheatSheets). |
192
3b95da26a544
quick start: Included and partly reworked the mail from Martin Geisler for understanding Mercurial.
Arne Babenhauserheide <bab@draketo.de>
parents:
191
diff
changeset
|
146 |
195
5bc5fe45852a
cleaned up quickstart a bit.
Arne Babenhauserheide <bab@draketo.de>
parents:
193
diff
changeset
|
147 *compiled from a great email by Martin Geisler* |