tests/test-topic-tutorial.t
author Pulkit Goyal <7895pulkit@gmail.com>
Wed, 21 Jun 2017 07:21:50 +0530
changeset 2646 b5723184fc62
parent 2120 e38156312410
child 2261 3e339f6717c7
child 2679 5156a67f66a6
permissions -rw-r--r--
topics: use a dict for successors of changesets produced by topic change This patch adds a dictionary to store the successors of changesets which got obsoleted when we change it's topic. This is an improvement in the fix for issue5441.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2013
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     1
==============
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     2
Topic Tutorial
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     3
==============
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     4
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     5
.. This test file is also supposed to be able to compile as a rest file.
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     6
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     7
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     8
.. Some Setup::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     9
2045
db617700d318 tests: move "test setup" script into a 'testlib' directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2014
diff changeset
    10
  $ . "$TESTDIR/testlib/topic_setup.sh"
2013
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    11
  $ hg init server
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    12
  $ cd server
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    13
  $ cat >> .hg/hgrc << EOF
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    14
  > [ui]
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    15
  > user= Shopping Master
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    16
  > EOF
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    17
  $ cat >> shopping << EOF
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    18
  > Spam
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    19
  > Whizzo butter
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    20
  > Albatross
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    21
  > Rat (rather a lot)
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    22
  > Jugged fish
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    23
  > Blancmange
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    24
  > Salmon mousse
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    25
  > EOF
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    26
  $ hg commit -A -m "Shopping list"
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    27
  adding shopping
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    28
  $ cd ..
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    29
  $ hg clone server client
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    30
  updating to branch default
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    31
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    32
  $ cd client
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    33
  $ cat >> .hg/hgrc << EOF
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    34
  > [ui]
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    35
  > user= Tutorial User
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    36
  > EOF
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    37
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    38
Topic branches are lightweight branches which disappear when changes are
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    39
finalized (move to the public phase). They can help users to organise and share
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    40
their unfinished work.
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    41
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    42
Topic Basics
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    43
============
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    44
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    45
Let's says we use Mercurial to manage our shopping list::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    46
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    47
  $ hg log --graph
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    48
  @  changeset:   0:38da43f0a2ea
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    49
     tag:         tip
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    50
     user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    51
     date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    52
     summary:     Shopping list
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    53
  
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    54
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    55
We are about to do some edition to this list and would like to do them within
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    56
a topic. Creating a new topic is done using the ``topic`` command::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    57
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    58
  $ hg topic food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    59
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    60
As for named branch, our topic is active but it does not contains any changesets yet::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    61
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    62
  $ hg topic
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    63
   * food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    64
  $ hg summary
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    65
  parent: 0:38da43f0a2ea tip
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    66
   Shopping list
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    67
  branch: default
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    68
  commit: (clean)
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    69
  update: (current)
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    70
  topic:  food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    71
  $ hg log --graph
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    72
  @  changeset:   0:38da43f0a2ea
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    73
     tag:         tip
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    74
     user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    75
     date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    76
     summary:     Shopping list
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    77
  
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    78
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    79
Our next commit will be part of the active topic::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    80
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    81
  $ cat >> shopping << EOF
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    82
  > Egg
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    83
  > Suggar
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    84
  > Vinegar
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    85
  > Oil
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    86
  > EOF
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    87
  $ hg commit -m "adding condiments"
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    88
  $ hg log --graph --rev 'topic("food")'
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    89
  @  changeset:   1:13900241408b
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    90
  |  tag:         tip
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    91
  ~  topic:       food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    92
     user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    93
     date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    94
     summary:     adding condiments
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    95
  
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    96
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    97
And future commit will be part of that topic too::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    98
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    99
  $ cat >> shopping << EOF
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   100
  > Bananas
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   101
  > Pear
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   102
  > Apple
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   103
  > EOF
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   104
  $ hg commit -m "adding fruits"
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   105
  $ hg log --graph --rev 'topic("food")'
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   106
  @  changeset:   2:287de11b401f
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   107
  |  tag:         tip
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   108
  |  topic:       food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   109
  |  user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   110
  |  date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   111
  |  summary:     adding fruits
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   112
  |
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   113
  o  changeset:   1:13900241408b
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   114
  |  topic:       food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   115
  ~  user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   116
     date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   117
     summary:     adding condiments
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   118
  
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   119
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   120
We can get a compact view of the content of our topic using the ``stack`` command::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   121
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   122
  $ hg stack
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   123
  ### topic: food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   124
  ### branch: default
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   125
  t2@ adding fruits (current)
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   126
  t1: adding condiments
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   127
    ^ Shopping list
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   128
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   129
The topic desactivate when we update away from it::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   130
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   131
  $ hg up default
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   132
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   133
  $ hg topic
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   134
     food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   135
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   136
Note that ``default`` (name of the branch) now refers to the tipmost changeset of default without a topic::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   137
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   138
  $ hg log --graph
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   139
  o  changeset:   2:287de11b401f
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   140
  |  tag:         tip
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   141
  |  topic:       food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   142
  |  user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   143
  |  date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   144
  |  summary:     adding fruits
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   145
  |
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   146
  o  changeset:   1:13900241408b
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   147
  |  topic:       food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   148
  |  user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   149
  |  date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   150
  |  summary:     adding condiments
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   151
  |
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   152
  @  changeset:   0:38da43f0a2ea
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   153
     user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   154
     date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   155
     summary:     Shopping list
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   156
  
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   157
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   158
And updating back to the topic reactivate it::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   159
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   160
  $ hg up food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   161
  switching to topic food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   162
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   163
  $ hg topic
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   164
   * food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   165
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   166
The name used for updating does not affect the activation of the topic, updating to a revision part of a topic will activate it in all cases::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   167
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   168
  $ hg up default
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   169
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   170
  $ hg up --rev 'desc("condiments")'
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   171
  switching to topic food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   172
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   173
  $ hg topic
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   174
   * food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   175
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   176
.. server side activity::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   177
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   178
  $ cd ../server/
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   179
  $ cat > shopping << EOF
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   180
  > T-Shirt
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   181
  > Trousers
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   182
  > Spam
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   183
  > Whizzo butter
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   184
  > Albatross
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   185
  > Rat (rather a lot)
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   186
  > Jugged fish
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   187
  > Blancmange
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   188
  > Salmon mousse
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   189
  > EOF
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   190
  $ hg commit -A -m "Adding clothes"
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   191
  $ cd ../client
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   192
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   193
Topic will also affect rebase and merge destination. Let's pull the latest update from the main server::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   194
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   195
  $ hg pull
2120
e38156312410 tests: add glob for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 2045
diff changeset
   196
  pulling from $TESTTMP/server (glob)
2013
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   197
  searching for changes
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   198
  adding changesets
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   199
  adding manifests
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   200
  adding file changes
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   201
  added 1 changesets with 1 changes to 1 files (+1 heads)
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   202
  (run 'hg heads' to see heads)
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   203
  $ hg log -G
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   204
  o  changeset:   3:6104862e8b84
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   205
  |  tag:         tip
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   206
  |  parent:      0:38da43f0a2ea
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   207
  |  user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   208
  |  date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   209
  |  summary:     Adding clothes
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   210
  |
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   211
  | o  changeset:   2:287de11b401f
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   212
  | |  topic:       food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   213
  | |  user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   214
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   215
  | |  summary:     adding fruits
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   216
  | |
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   217
  | @  changeset:   1:13900241408b
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   218
  |/   topic:       food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   219
  |    user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   220
  |    date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   221
  |    summary:     adding condiments
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   222
  |
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   223
  o  changeset:   0:38da43f0a2ea
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   224
     user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   225
     date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   226
     summary:     Shopping list
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   227
  
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   228
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   229
The topic head will not be considered when merge from the new head of the branch::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   230
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   231
  $ hg up default
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   232
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   233
  $ hg merge
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   234
  abort: branch 'default' has one head - please merge with an explicit rev
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   235
  (run 'hg heads' to see all heads)
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   236
  [255]
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   237
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   238
But the topic will see that branch head as a valid destination::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   239
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   240
  $ hg up food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   241
  switching to topic food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   242
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   243
  $ hg rebase
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   244
  rebasing 1:13900241408b "adding condiments"
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   245
  merging shopping
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   246
  rebasing 2:287de11b401f "adding fruits"
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   247
  merging shopping
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   248
  $ hg log --graph
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   249
  @  changeset:   5:2d50db8b5b4c
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   250
  |  tag:         tip
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   251
  |  topic:       food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   252
  |  user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   253
  |  date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   254
  |  summary:     adding fruits
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   255
  |
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   256
  o  changeset:   4:4011b46eeb33
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   257
  |  topic:       food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   258
  |  user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   259
  |  date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   260
  |  summary:     adding condiments
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   261
  |
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   262
  o  changeset:   3:6104862e8b84
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   263
  |  parent:      0:38da43f0a2ea
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   264
  |  user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   265
  |  date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   266
  |  summary:     Adding clothes
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   267
  |
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   268
  o  changeset:   0:38da43f0a2ea
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   269
     user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   270
     date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   271
     summary:     Shopping list
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   272
  
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   273
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   274
The topic information will fade out when we publish the changesets::
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   275
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   276
  $ hg topic
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   277
     food
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   278
  $ hg push
2120
e38156312410 tests: add glob for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 2045
diff changeset
   279
  pushing to $TESTTMP/server (glob)
2013
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   280
  searching for changes
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   281
  adding changesets
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   282
  adding manifests
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   283
  adding file changes
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   284
  added 2 changesets with 2 changes to 1 files
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   285
  2 new obsolescence markers
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   286
  $ hg topic
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   287
  $ hg log --graph
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   288
  @  changeset:   5:2d50db8b5b4c
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   289
  |  tag:         tip
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   290
  |  user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   291
  |  date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   292
  |  summary:     adding fruits
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   293
  |
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   294
  o  changeset:   4:4011b46eeb33
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   295
  |  user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   296
  |  date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   297
  |  summary:     adding condiments
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   298
  |
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   299
  o  changeset:   3:6104862e8b84
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   300
  |  parent:      0:38da43f0a2ea
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   301
  |  user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   302
  |  date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   303
  |  summary:     Adding clothes
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   304
  |
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   305
  o  changeset:   0:38da43f0a2ea
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   306
     user:        test
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   307
     date:        Thu Jan 01 00:00:00 1970 +0000
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   308
     summary:     Shopping list
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   309
  
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   310
  $ hg up default
2e8e4619a240 tutorial: add a first version of the tutorial with the basics
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
   311
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
2014
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   312
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   313
Working with Multiple Topics
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   314
============================
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   315
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   316
In the above example, topic are not bring much benefit since you only have one
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   317
line of developement. Topic start to be more useful when you have to work on
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   318
multiple features are the same time.
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   319
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   320
We might go shopping in a hardware store in the same go, so let's add some
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   321
tools to the shopping list withing a new topic::
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   322
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   323
  $ hg topic tools
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   324
  $ echo hammer >> shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   325
  $ hg ci -m 'Adding hammer'
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   326
  $ echo saw >> shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   327
  $ hg ci -m 'Adding saw'
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   328
  $ echo drill >> shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   329
  $ hg ci -m 'Adding drill'
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   330
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   331
But are not sure to actually go in the hardward store, so in the meantime, we
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   332
want to extend the list with drinks. We go back to the official default branch
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   333
and start a new topic::
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   334
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   335
  $ hg up default
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   336
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   337
  $ hg topic drinks
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   338
  $ echo 'apple juice' >> shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   339
  $ hg ci -m 'Adding apple juice'
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   340
  $ echo 'orange juice' >> shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   341
  $ hg ci -m 'Adding orange juice'
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   342
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   343
We now have two topics::
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   344
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   345
  $ hg topic
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   346
   * drinks
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   347
     tools
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   348
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   349
The information ``hg stack`` command adapt to the active topic::
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   350
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   351
  $ hg stack
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   352
  ### topic: drinks
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   353
  ### branch: default
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   354
  t2@ Adding orange juice (current)
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   355
  t1: Adding apple juice
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   356
    ^ adding fruits
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   357
  $ hg up tools
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   358
  switching to topic tools
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   359
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   360
  $ hg stack
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   361
  ### topic: tools
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   362
  ### branch: default
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   363
  t3@ Adding drill (current)
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   364
  t2: Adding saw
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   365
  t1: Adding hammer
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   366
    ^ adding fruits
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   367
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   368
They are seen as independant branch by Mercurial. No rebase or merge betwen them will be attempted by default::
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   369
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   370
  $ hg rebase
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   371
  nothing to rebase
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   372
  [1]
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   373
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   374
.. server activity::
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   375
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   376
  $ cd ../server
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   377
  $ hg up
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   378
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   379
  $ mv shopping foo
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   380
  $ echo 'Coat' > shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   381
  $ cat foo >> shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   382
  $ hg ci -m 'add a coat'
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   383
  $ echo 'Coat' > shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   384
  $ echo 'Shoes' >> shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   385
  $ cat foo >> shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   386
  $ hg rm foo
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   387
  not removing foo: file is untracked
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   388
  [1]
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   389
  $ hg ci -m 'add a pair of shoes'
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   390
  $ cd ../client
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   391
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   392
Lets see what other people did in the mean time::
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   393
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   394
  $ hg pull
2120
e38156312410 tests: add glob for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 2045
diff changeset
   395
  pulling from $TESTTMP/server (glob)
2014
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   396
  searching for changes
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   397
  adding changesets
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   398
  adding manifests
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   399
  adding file changes
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   400
  added 2 changesets with 2 changes to 1 files (+1 heads)
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   401
  (run 'hg heads' to see heads)
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   402
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   403
There is new changes! We can simply use ``hg rebase`` to update our changeset on top of the latest::
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   404
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   405
  $ hg rebase
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   406
  rebasing 6:183984ef46d1 "Adding hammer"
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   407
  merging shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   408
  rebasing 7:cffff85af537 "Adding saw"
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   409
  merging shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   410
  rebasing 8:34255b455dac "Adding drill"
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   411
  merging shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   412
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   413
But what about the other topic? You can use 'hg topic --verbose' to see information about them::
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   414
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   415
  $ hg topic --verbose
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   416
     drinks (on branch: default, 2 changesets, 2 behind)
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   417
     tools  (on branch: default, 3 changesets)
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   418
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   419
The "2 behind" is telling you that there is 2 new changesets on the named branch of the topic. You need to merge or rebase to incorporate them.
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   420
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   421
Pushing that topic would create a new heads will be prevented::
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   422
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   423
  $ hg push --rev drinks
2120
e38156312410 tests: add glob for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 2045
diff changeset
   424
  pushing to $TESTTMP/server (glob)
2014
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   425
  searching for changes
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   426
  abort: push creates new remote head 70dfa201ed73!
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   427
  (merge or see 'hg help push' for details about pushing new heads)
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   428
  [255]
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   429
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   430
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   431
Even after a rebase Pushing all active topics at the same time will complains about the multiple heads it would create on that branch::
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   432
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   433
  $ hg rebase -b drinks
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   434
  rebasing 9:8dfa45bd5e0c "Adding apple juice"
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   435
  merging shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   436
  rebasing 10:70dfa201ed73 "Adding orange juice"
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   437
  merging shopping
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   438
  switching to topic tools
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   439
  $ hg push
2120
e38156312410 tests: add glob for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 2045
diff changeset
   440
  pushing to $TESTTMP/server (glob)
2014
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   441
  searching for changes
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   442
  abort: push creates new remote head 4cd7c1591a67!
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   443
  (merge or see 'hg help push' for details about pushing new heads)
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   444
  [255]
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   445
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   446
Publishing only one of them is allowed (as long as it does not create a new branch head has we just saw in the previous case)::
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   447
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   448
  $ hg push -r drinks
2120
e38156312410 tests: add glob for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 2045
diff changeset
   449
  pushing to $TESTTMP/server (glob)
2014
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   450
  searching for changes
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   451
  adding changesets
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   452
  adding manifests
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   453
  adding file changes
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   454
  added 2 changesets with 2 changes to 1 files
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   455
  2 new obsolescence markers
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   456
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   457
The publishing topic has now vanished, and the one still draft is now marked as "behind"::
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   458
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   459
  $ hg topic --verbose
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   460
   * tools (on branch: default, 3 changesets, 2 behind)
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   461
  $ hg stack
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   462
  ### topic: tools
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   463
  ### branch: default, 2 behind
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   464
  t3@ Adding drill (current)
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   465
  t2: Adding saw
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   466
  t1: Adding hammer
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   467
    ^ add a pair of shoes
cd6d32a0155c tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2013
diff changeset
   468