equal
deleted
inserted
replaced
38 > [ui] |
38 > [ui] |
39 > user = Princess Flore |
39 > user = Princess Flore |
40 > EOF |
40 > EOF |
41 |
41 |
42 |
42 |
43 This tutorial use the following configuration for Mercurial: |
43 This tutorial uses the following configuration for Mercurial: |
44 |
44 |
45 A compact log template with phase data: |
45 A compact log template with phase data: |
46 |
46 |
47 $ hg showconfig ui |
47 $ hg showconfig ui |
48 ui.slash=True |
48 ui.slash=True |
141 Oil |
141 Oil |
142 +Bananos |
142 +Bananos |
143 +Pear |
143 +Pear |
144 +Apple |
144 +Apple |
145 |
145 |
146 The faulty changeset is in the "draft" phase because he was not exchanged with |
146 The faulty changeset is in the "draft" phase because it has not been exchanged with |
147 the outside. The first one have been exchanged and is an immutable public |
147 the outside. The first one has been exchanged and is "public" (immutable). |
148 changeset. |
|
149 |
148 |
150 $ hg log -G |
149 $ hg log -G |
151 @ d85de4546133 (draft): adding fruit |
150 @ d85de4546133 (draft): adding fruit |
152 | |
151 | |
153 o 4d5dc8187023 (draft): adding condiment |
152 o 4d5dc8187023 (draft): adding condiment |
198 Oil |
197 Oil |
199 +Banana |
198 +Banana |
200 +Pear |
199 +Pear |
201 +Apple |
200 +Apple |
202 |
201 |
203 Getting Ride of branchy history |
202 Getting rid of branchy history |
204 ---------------------------------- |
203 ---------------------------------- |
205 |
204 |
206 While I was working on my list. someone help made a change remotly. |
205 While I was working on my list. someone help made a change remotly. |
207 |
206 |
208 $ cd ../remote |
207 $ cd ../remote |
218 searching for changes |
217 searching for changes |
219 adding changesets |
218 adding changesets |
220 adding manifests |
219 adding manifests |
221 adding file changes |
220 adding file changes |
222 added 1 changesets with 1 changes to 1 files (+1 heads) |
221 added 1 changesets with 1 changes to 1 files (+1 heads) |
223 (run 'hg heads .' to see heads, 'hg merge' to merge) |
222 (run 'hg heads' to see heads, 'hg merge' to merge) |
224 |
223 |
225 I now have a new heads. Note that this remote head is immutable |
224 I now have a new heads. Note that this remote head is immutable |
226 |
225 |
227 $ hg log -G |
226 $ hg log -G |
228 o 9ca060c80d74 (public): SPAM |
227 o 9ca060c80d74 (public): SPAM |
252 o 9ca060c80d74 (public): SPAM |
251 o 9ca060c80d74 (public): SPAM |
253 | |
252 | |
254 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
253 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
255 |
254 |
256 |
255 |
257 Removing changeset |
256 Removing changesets |
258 ------------------------ |
257 ------------------------ |
259 |
258 |
260 I add new item to my list |
259 I add new item to my list |
261 |
260 |
262 $ cat >> shopping << EOF |
261 $ cat >> shopping << EOF |
295 o 9ca060c80d74 (public): SPAM |
294 o 9ca060c80d74 (public): SPAM |
296 | |
295 | |
297 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
296 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
298 |
297 |
299 |
298 |
300 Reordering changeset |
299 Reordering changesets |
301 ------------------------ |
300 ------------------------ |
302 |
301 |
303 |
302 |
304 We create two changesets. |
303 We create two changesets. |
305 |
304 |
329 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
328 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
330 |
329 |
331 |
330 |
332 .. note: We can't amend changeset 7e82d3f3c2cb or 9ca060c80d74 as they are immutable. |
331 .. note: We can't amend changeset 7e82d3f3c2cb or 9ca060c80d74 as they are immutable. |
333 |
332 |
334 I now want to push to remote all my change but the bathroom one that i'm not |
333 I now want to push to remote all my changes except the bathroom one, which I'm not |
335 totally happy with yet. To be able to push "SPAM SPAM" I need a version of "SPAM SPAM" not children of |
334 totally happy with yet. To be able to push "SPAM SPAM" I need a version of "SPAM SPAM" which is not a child of |
336 "bathroom stuff" |
335 "bathroom stuff" |
337 |
336 |
338 You can use 'rebase -r' or 'graft -O' for that: |
337 You can use 'rebase -r' or 'graft -O' for that: |
339 |
338 |
340 $ hg up 'p1(10b8aeaa8cc8)' # going on "bathroom stuff" parent |
339 $ hg up 'p1(10b8aeaa8cc8)' # going on "bathroom stuff" parent |
435 |
434 |
436 |
435 |
437 sharing mutable changeset |
436 sharing mutable changeset |
438 ---------------------------- |
437 ---------------------------- |
439 |
438 |
440 To share mutable changeset with other just check that the repo you interact |
439 To share mutable changeset with others, just check that the repo you interact |
441 with is "not publishing". Otherwise you will get the previously observe |
440 with is "not publishing". Otherwise you will get the previously observe |
442 behavior where exchanged changeset are automatically published. |
441 behavior where exchanged changeset are automatically published. |
443 |
442 |
444 $ cd ../remote |
443 $ cd ../remote |
445 $ hg -R ../local/ showconfig phases |
444 $ hg -R ../local/ showconfig phases |
566 searching for changes |
565 searching for changes |
567 adding changesets |
566 adding changesets |
568 adding manifests |
567 adding manifests |
569 adding file changes |
568 adding file changes |
570 added 1 changesets with 1 changes to 1 files (+1 heads) |
569 added 1 changesets with 1 changes to 1 files (+1 heads) |
571 (run 'hg heads .' to see heads, 'hg merge' to merge) |
570 (run 'hg heads' to see heads, 'hg merge' to merge) |
572 1 new unstable changesets |
571 1 new unstable changesets |
573 |
572 |
574 |
573 |
575 The new changeset "animal" is based one an old changeset of "bathroom". You can |
574 The new changeset "animal" is based on an old changeset of "bathroom". You can |
576 see both version showing up in the log. |
575 see both version showing up in the log. |
577 |
576 |
578 $ hg log -G |
577 $ hg log -G |
579 o bf1b0d202029 (draft): animals |
578 o bf1b0d202029 (draft): animals |
580 | |
579 | |
592 | |
591 | |
593 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
592 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
594 |
593 |
595 |
594 |
596 The older version 75954b8cd933 never ceased to exist in the local repo. It was |
595 The older version 75954b8cd933 never ceased to exist in the local repo. It was |
597 jsut hidden and excluded from pull and push. |
596 just hidden and excluded from pull and push. |
598 |
597 |
599 .. note:: In hgview there is a nice doted relation highlighting a44c85f957d3 as a new version of 75954b8cd933. this is not yet ported to graphlog. |
598 .. note:: In hgview there is a nice dotted relation highlighting a44c85f957d3 as a new version of 75954b8cd933. this is not yet ported to ``hg log -G``. |
600 |
599 |
601 Their is **unstable** changeset in this history now. Mercurial will refuse to |
600 There is now an **unstable** changeset in this history. Mercurial will refuse to |
602 share it with the outside: |
601 share it with the outside: |
603 |
602 |
604 $ hg push other |
603 $ hg push other |
605 pushing to $TESTTMP/other |
604 pushing to $TESTTMP/other |
606 searching for changes |
605 searching for changes |
610 |
609 |
611 |
610 |
612 |
611 |
613 |
612 |
614 To resolve this unstable state, you need to rebase bf1b0d202029 onto |
613 To resolve this unstable state, you need to rebase bf1b0d202029 onto |
615 a44c85f957d3 the "hg evolve" command will make this for you. |
614 a44c85f957d3. The "hg evolve" command will do this for you. |
616 |
615 |
617 It has a --dry-run option to only suggest the next move. |
616 It has a --dry-run option to only suggest the next move. |
618 |
617 |
619 $ hg evolve --dry-run |
618 $ hg evolve --dry-run |
620 move:[15] animals |
619 move:[15] animals |
761 |
760 |
762 |
761 |
763 Handling Conflicting amend |
762 Handling Conflicting amend |
764 ---------------------------------------------- |
763 ---------------------------------------------- |
765 |
764 |
766 We can detect that multiple diverging//conflicting amend have been made. |
765 We can detect that multiple diverging/conflicting amendments have been made. There |
767 hg evolve is able to solve several of them |
766 will be a "evol-merge" command to merge conflicting amendments. |
768 |
767 |
769 This section need to be written |
768 This section needs to be written. |