tests/test-topic.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Wed, 19 Feb 2020 01:35:23 +0100
changeset 5139 19b8ffd23795
parent 4921 a7c01a2a3974
child 5160 7f856606d5a9
permissions -rw-r--r--
topic: option to hide topic changesets to plain client This is the first version of an option that make topic changeset hidden to client without the extension. It might become the default in the future.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2045
db617700d318 tests: move "test setup" script into a 'testlib' directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2019
diff changeset
     1
  $ . "$TESTDIR/testlib/topic_setup.sh"
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
     2
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
     3
  $ hg init pinky
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
     4
  $ cd pinky
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
     5
  $ cat <<EOF >> .hg/hgrc
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
     6
  > [phases]
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
     7
  > publish=false
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
     8
  > EOF
1931
1cc2b87c91df test: disable the new style rendering for "missing parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
     9
  $ cat <<EOF >> $HGRCPATH
1cc2b87c91df test: disable the new style rendering for "missing parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
    10
  > [experimental]
1cc2b87c91df test: disable the new style rendering for "missing parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
    11
  > # disable the new graph style until we drop 3.7 support
1cc2b87c91df test: disable the new style rendering for "missing parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
    12
  > graphstyle.missing = |
1cc2b87c91df test: disable the new style rendering for "missing parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1895
diff changeset
    13
  > EOF
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    14
3763
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    15
  $ hg help -e topic
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    16
  topic extension - support for topic branches
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    17
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    18
  Topic branches are lightweight branches which disappear when changes are
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    19
  finalized (move to the public phase).
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    20
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    21
  Compared to bookmark, topic is reference carried by each changesets of the
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    22
  series instead of just the single head revision.  Topic are quite similar to
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    23
  the way named branch work, except they eventually fade away when the changeset
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    24
  becomes part of the immutable history. Changeset can belong to both a topic
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    25
  and a named branch, but as long as it is mutable, its topic identity will
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    26
  prevail. As a result, default destination for 'update', 'merge', etc...  will
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    27
  take topic into account. When a topic is active these operations will only
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    28
  consider other changesets on that topic (and, in some occurrence, bare
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    29
  changeset on same branch).  When no topic is active, changeset with topic will
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    30
  be ignored and only bare one on the same branch will be taken in account.
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    31
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    32
  There is currently two commands to be used with that extension: 'topics' and
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    33
  'stack'.
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    34
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    35
  The 'hg topics' command is used to set the current topic, change and list
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    36
  existing one. 'hg topics --verbose' will list various information related to
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    37
  each topic.
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    38
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    39
  The 'stack' will show you information about the stack of commit belonging to
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    40
  your current topic.
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    41
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    42
  Topic is offering you aliases reference to changeset in your current topic
4069
a93b74f745a6 topic: update other occurrence of 't0' is 's0' in the code
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4067
diff changeset
    43
  stack as 's#'. For example, 's1' refers to the root of your stack, 's2' to the
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4062
diff changeset
    44
  second commits, etc. The 'hg stack' command show these number. 's0' can be
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4062
diff changeset
    45
  used to refer to the parent of the topic root. Updating using 'hg up s0' will
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4062
diff changeset
    46
  keep the topic active.
3763
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    47
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    48
  Push behavior will change a bit with topic. When pushing to a publishing
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    49
  repository the changesets will turn public and the topic data on them will
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    50
  fade away. The logic regarding pushing new heads will behave has before,
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    51
  ignore any topic related data. When pushing to a non-publishing repository
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    52
  (supporting topic), the head checking will be done taking topic data into
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    53
  account. Push will complain about multiple heads on a branch if you push
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    54
  multiple heads with no topic information on them (or multiple public heads).
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    55
  But pushing a new topic will not requires any specific flag. However, pushing
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    56
  multiple heads on a topic will be met with the usual warning.
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    57
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    58
  The 'evolve' extension takes 'topic' into account. 'hg evolve --all' will
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    59
  evolve all changesets in the active topic. In addition, by default. 'hg next'
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    60
  and 'hg prev' will stick to the current topic.
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    61
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    62
  Be aware that this extension is still an experiment, commands and other
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    63
  features are likely to be change/adjusted/dropped over time as we refine the
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    64
  concept.
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    65
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    66
  topic-mode
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    67
  ==========
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    68
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    69
  The topic extension can be configured to ensure the user do not forget to add
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    70
  a topic when committing a new topic:
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    71
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    72
    [experimental]
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    73
    # behavior when commit is made without an active topic
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    74
    topic-mode = ignore # do nothing special (default)
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    75
    topic-mode = warning # print a warning
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    76
    topic-mode = enforce # abort the commit (except for merge)
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    77
    topic-mode = enforce-all # abort the commit (even for merge)
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    78
    topic-mode = random # use a randomized generated topic (except for merge)
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    79
    topic-mode = random-all # use a randomized generated topic (even for merge)
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    80
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    81
  Single head enforcing
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    82
  =====================
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    83
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    84
  The extensions come with an option to enforce that there is only one heads for
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    85
  each name in the repository at any time.
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    86
  
3764
f0f9139016d8 topic: use preformatted block for config snippets documentation
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3763
diff changeset
    87
    [experimental]
f0f9139016d8 topic: use preformatted block for config snippets documentation
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3763
diff changeset
    88
    enforce-single-head = yes
3763
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    89
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    90
  Publishing behavior
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    91
  ===================
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    92
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    93
  Topic vanish when changeset move to the public phases. Moving to the public
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    94
  phase usually happens on push, but it is possible to update that behavior. The
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    95
  server needs to have specific config for this.
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
    96
  
3765
4aabc5c8b2af topic: dedent items about publishing behavior in docstring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3764
diff changeset
    97
  * everything pushed become public (the default):
3764
f0f9139016d8 topic: use preformatted block for config snippets documentation
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3763
diff changeset
    98
  
3765
4aabc5c8b2af topic: dedent items about publishing behavior in docstring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3764
diff changeset
    99
      [phase]
4aabc5c8b2af topic: dedent items about publishing behavior in docstring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3764
diff changeset
   100
      publish = yes
3764
f0f9139016d8 topic: use preformatted block for config snippets documentation
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3763
diff changeset
   101
  
3765
4aabc5c8b2af topic: dedent items about publishing behavior in docstring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3764
diff changeset
   102
  * nothing push turned public:
3763
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   103
  
3765
4aabc5c8b2af topic: dedent items about publishing behavior in docstring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3764
diff changeset
   104
      [phase]
4aabc5c8b2af topic: dedent items about publishing behavior in docstring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3764
diff changeset
   105
      publish = no
3764
f0f9139016d8 topic: use preformatted block for config snippets documentation
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3763
diff changeset
   106
  
3765
4aabc5c8b2af topic: dedent items about publishing behavior in docstring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3764
diff changeset
   107
  * topic branches are not published, changeset without topic are:
3763
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   108
  
3765
4aabc5c8b2af topic: dedent items about publishing behavior in docstring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3764
diff changeset
   109
      [phase]
4aabc5c8b2af topic: dedent items about publishing behavior in docstring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3764
diff changeset
   110
      publish = no
4aabc5c8b2af topic: dedent items about publishing behavior in docstring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3764
diff changeset
   111
      [experimental]
4aabc5c8b2af topic: dedent items about publishing behavior in docstring
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3764
diff changeset
   112
      topic.publish-bare-branch = yes
3763
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   113
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   114
  In addition, the topic extension adds a "--publish" flag on 'hg push'. When
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   115
  used, the pushed revisions are published if the push succeeds. It also applies
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   116
  to common revisions selected by the push.
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   117
  
4648
493470e7a0f2 test: update output to match the parent changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4647
diff changeset
   118
  One can prevent any publishing to happens in a repository using:
4647
228caeb8b7af topic: add a simple option to reject publishing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4381
diff changeset
   119
  
4648
493470e7a0f2 test: update output to match the parent changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4647
diff changeset
   120
    [experimental]
493470e7a0f2 test: update output to match the parent changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4647
diff changeset
   121
    topic.allow-publish = no
4647
228caeb8b7af topic: add a simple option to reject publishing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4381
diff changeset
   122
  
5139
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4921
diff changeset
   123
  Server side visibility
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4921
diff changeset
   124
  ======================
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4921
diff changeset
   125
  
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4921
diff changeset
   126
  Serving changesets with topics to clients without topic extension can get
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4921
diff changeset
   127
  confusing. Such clients will have multiple anonymous heads without a clear way
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4921
diff changeset
   128
  to distinguish them. They will also "lose" the canonical heads of the branch.
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4921
diff changeset
   129
  
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4921
diff changeset
   130
  To avoid this confusion, server can be configured to only serve changesets
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4921
diff changeset
   131
  with topics to clients with the topic extension (version 9.3+). This might
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4921
diff changeset
   132
  become the default in future:
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4921
diff changeset
   133
  
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4921
diff changeset
   134
    [experimental]
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4921
diff changeset
   135
    topic.server-gate-topic-changesets = yes
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4921
diff changeset
   136
  
3763
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   137
  list of commands:
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   138
  
4894
f9743b13de6d help: categorizing evolve and topic commands
Rodrigo Damazio <rdamazio@google.com>
parents: 4704
diff changeset
   139
  Change organization:
f9743b13de6d help: categorizing evolve and topic commands
Rodrigo Damazio <rdamazio@google.com>
parents: 4704
diff changeset
   140
  
3763
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   141
   topics        View current topic, set current topic, change topic for a set
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   142
                 of revisions, or see all topics.
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   143
  
4894
f9743b13de6d help: categorizing evolve and topic commands
Rodrigo Damazio <rdamazio@google.com>
parents: 4704
diff changeset
   144
  Change navigation:
f9743b13de6d help: categorizing evolve and topic commands
Rodrigo Damazio <rdamazio@google.com>
parents: 4704
diff changeset
   145
  
f9743b13de6d help: categorizing evolve and topic commands
Rodrigo Damazio <rdamazio@google.com>
parents: 4704
diff changeset
   146
   stack         list all changesets in a topic and other information
f9743b13de6d help: categorizing evolve and topic commands
Rodrigo Damazio <rdamazio@google.com>
parents: 4704
diff changeset
   147
  
3763
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   148
  (use 'hg help -v topic' to show built-in aliases and global options)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   149
  $ hg help topics
4914
fcefc052a3b1 topic: add more options to command synopsis string
Anton Shestakov <av6@dwimlabs.net>
parents: 4704
diff changeset
   150
  hg topics [OPTION]... [-r REV]... [TOPIC]
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   151
  
2717
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   152
  View current topic, set current topic, change topic for a set of revisions, or
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   153
  see all topics.
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   154
  
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   155
      Clear topic on existing topiced revisions:
2923
8c2d3c474fc6 doc: make paragraphs before example code end with "::" for reST syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2898
diff changeset
   156
  
2994
1e8ac0fcd6b7 topics: spell out topics completely in help
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2993
diff changeset
   157
        hg topics --rev <related revset> --clear
2717
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   158
  
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   159
      Change topic on some revisions:
2923
8c2d3c474fc6 doc: make paragraphs before example code end with "::" for reST syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2898
diff changeset
   160
  
2994
1e8ac0fcd6b7 topics: spell out topics completely in help
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2993
diff changeset
   161
        hg topics <newtopicname> --rev <related revset>
2717
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   162
  
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   163
      Clear current topic:
2923
8c2d3c474fc6 doc: make paragraphs before example code end with "::" for reST syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2898
diff changeset
   164
  
2994
1e8ac0fcd6b7 topics: spell out topics completely in help
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2993
diff changeset
   165
        hg topics --clear
2717
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   166
  
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   167
      Set current topic:
2923
8c2d3c474fc6 doc: make paragraphs before example code end with "::" for reST syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2898
diff changeset
   168
  
2994
1e8ac0fcd6b7 topics: spell out topics completely in help
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2993
diff changeset
   169
        hg topics <topicname>
2717
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   170
  
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   171
      List of topics:
2923
8c2d3c474fc6 doc: make paragraphs before example code end with "::" for reST syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2898
diff changeset
   172
  
8c2d3c474fc6 doc: make paragraphs before example code end with "::" for reST syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2898
diff changeset
   173
        hg topics
2717
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   174
  
2993
725b660d9886 topics: show the user who last touched the topic in --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2988
diff changeset
   175
      List of topics sorted according to their last touched time displaying last
725b660d9886 topics: show the user who last touched the topic in --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2988
diff changeset
   176
      touched time and the user who last touched the topic:
2923
8c2d3c474fc6 doc: make paragraphs before example code end with "::" for reST syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2898
diff changeset
   177
  
2994
1e8ac0fcd6b7 topics: spell out topics completely in help
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2993
diff changeset
   178
        hg topics --age
2731
d39942773163 topics: add a new flag --age which will show last touched time for topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2718
diff changeset
   179
  
2717
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   180
      The active topic (if any) will be prepended with a "*".
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   181
  
2869
b629874ccaac topics: allow use a --current when setting a topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2868
diff changeset
   182
      The '--current' flag helps to take active topic into account. For example,
b629874ccaac topics: allow use a --current when setting a topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2868
diff changeset
   183
      if you want to set the topic on all the draft changesets to the active
2994
1e8ac0fcd6b7 topics: spell out topics completely in help
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2993
diff changeset
   184
      topic, you can do: 'hg topics -r "draft()" --current'
2869
b629874ccaac topics: allow use a --current when setting a topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2868
diff changeset
   185
  
2011
9c7665e3107b documentation: some basic update of the documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1953
diff changeset
   186
      The --verbose version of this command display various information on the
9c7665e3107b documentation: some basic update of the documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1953
diff changeset
   187
      state of each topic.
9c7665e3107b documentation: some basic update of the documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1953
diff changeset
   188
  
2898
3dfc88c06378 topic: support --rev argument and properly process then as user input
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2889
diff changeset
   189
  options ([+] can be repeated):
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   190
  
4200
3a90986622f7 test-compat: backed out changeset ba1e83c841f2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4197
diff changeset
   191
      --clear             clear active topic if any
3a90986622f7 test-compat: backed out changeset ba1e83c841f2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4197
diff changeset
   192
   -r --rev REV [+]       revset of existing revisions
3a90986622f7 test-compat: backed out changeset ba1e83c841f2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4197
diff changeset
   193
   -l --list              show the stack of changeset in the topic
3a90986622f7 test-compat: backed out changeset ba1e83c841f2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4197
diff changeset
   194
      --age               show when you last touched the topics
3a90986622f7 test-compat: backed out changeset ba1e83c841f2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4197
diff changeset
   195
      --current           display the current topic only
3a90986622f7 test-compat: backed out changeset ba1e83c841f2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4197
diff changeset
   196
   -T --template TEMPLATE display with template
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   197
  
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   198
  (some details hidden, use --verbose to show complete help)
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   199
  $ hg topics
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   200
1851
67d53e8e0c1a topic: only require obsolete support for --change
Matt Mackall <mpm@selenic.com>
parents: 1849
diff changeset
   201
Test topics interaction with evolution:
67d53e8e0c1a topic: only require obsolete support for --change
Matt Mackall <mpm@selenic.com>
parents: 1849
diff changeset
   202
67d53e8e0c1a topic: only require obsolete support for --change
Matt Mackall <mpm@selenic.com>
parents: 1849
diff changeset
   203
  $ hg topics --config experimental.evolution=
2643
a9ca94defc29 topics: rename '--change' flag to '--rev' flag
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2624
diff changeset
   204
  $ hg topics --config experimental.evolution= --rev . bob
a9ca94defc29 topics: rename '--change' flag to '--rev' flag
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2624
diff changeset
   205
  abort: must have obsolete enabled to change topics
1851
67d53e8e0c1a topic: only require obsolete support for --change
Matt Mackall <mpm@selenic.com>
parents: 1849
diff changeset
   206
  [255]
67d53e8e0c1a topic: only require obsolete support for --change
Matt Mackall <mpm@selenic.com>
parents: 1849
diff changeset
   207
67d53e8e0c1a topic: only require obsolete support for --change
Matt Mackall <mpm@selenic.com>
parents: 1849
diff changeset
   208
Create some changes:
67d53e8e0c1a topic: only require obsolete support for --change
Matt Mackall <mpm@selenic.com>
parents: 1849
diff changeset
   209
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   210
  $ for x in alpha beta gamma delta ; do
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   211
  >   echo file $x >> $x
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   212
  >   hg addremove
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   213
  >   hg ci -m "Add file $x"
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   214
  > done
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   215
  adding alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   216
  adding beta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   217
  adding gamma
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   218
  adding delta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   219
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   220
Still no topics
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   221
  $ hg topics
2867
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   222
  $ hg topics --current
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   223
  no active topic
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   224
  [1]
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   225
  $ hg topics --current somerandomtopic
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   226
  abort: cannot use --current when setting a topic
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   227
  [255]
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   228
  $ hg topics --current --clear
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   229
  abort: cannot use --current and --clear
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   230
  [255]
2868
e46b68547017 topic: make --clear + topicname invalid
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2867
diff changeset
   231
  $ hg topics --clear somerandomtopic
e46b68547017 topic: make --clear + topicname invalid
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2867
diff changeset
   232
  abort: cannot use --clear when setting a topic
e46b68547017 topic: make --clear + topicname invalid
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2867
diff changeset
   233
  [255]
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   234
2888
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   235
Trying some invalid topicnames
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   236
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   237
  $ hg topic '.'
2889
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   238
  abort: the name '.' is reserved
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   239
  [255]
2888
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   240
  $ hg topic null
2889
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   241
  abort: the name 'null' is reserved
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   242
  [255]
2888
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   243
  $ hg topic tip
2889
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   244
  abort: the name 'tip' is reserved
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   245
  [255]
2888
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   246
  $ hg topic 12345
2889
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   247
  abort: cannot use an integer as a name
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   248
  [255]
2888
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   249
  $ hg topic '   '
2889
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   250
  abort: topic name cannot consist entirely of whitespaces
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   251
  [255]
2888
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   252
3652
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   253
  $ hg topic 'a12#45'
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   254
  abort: invalid topic name: 'a12#45'
3667
a346b1641dfa topic: allow '.' in topic names
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3652
diff changeset
   255
  (topic names can only consist of alphanumeric, '-' '_' and '.' characters)
3652
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   256
  [255]
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   257
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   258
  $ hg topic 'foo bar'
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   259
  abort: invalid topic name: 'foo bar'
3667
a346b1641dfa topic: allow '.' in topic names
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3652
diff changeset
   260
  (topic names can only consist of alphanumeric, '-' '_' and '.' characters)
3652
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   261
  [255]
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   262
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   263
this is trying to list topic names
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   264
  $ hg topic ''
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   265
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   266
  $ hg topic '*12 B23'
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   267
  abort: invalid topic name: '*12 B23'
3667
a346b1641dfa topic: allow '.' in topic names
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3652
diff changeset
   268
  (topic names can only consist of alphanumeric, '-' '_' and '.' characters)
3652
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   269
  [255]
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   270
1852
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   271
Test commit flag and help text
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   272
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   273
  $ echo stuff >> alpha
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   274
  $ HGEDITOR=cat hg ci -t topicflag
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   275
  
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   276
  
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   277
  HG: Enter commit message.  Lines beginning with 'HG:' are removed.
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   278
  HG: Leave message empty to abort commit.
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   279
  HG: --
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   280
  HG: user: test
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   281
  HG: topic 'topicflag'
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   282
  HG: branch 'default'
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   283
  HG: changed alpha
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   284
  abort: empty commit message
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   285
  [255]
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   286
  $ hg revert alpha
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   287
  $ hg topic
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   288
   * topicflag (0 changesets)
1852
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   289
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   290
Make a topic
2935
6f7f8c6fcfb0 topics: add tests for cases when a topic is empty
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2929
diff changeset
   291
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   292
  $ hg topic narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   293
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   294
   * narf (0 changesets)
2935
6f7f8c6fcfb0 topics: add tests for cases when a topic is empty
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2929
diff changeset
   295
  $ hg topics -v
2936
3a9303b7b648 topics: show working directory branch when topic is empty
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2935
diff changeset
   296
   * narf (on branch: default, 0 changesets)
2935
6f7f8c6fcfb0 topics: add tests for cases when a topic is empty
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2929
diff changeset
   297
  $ hg stack
6f7f8c6fcfb0 topics: add tests for cases when a topic is empty
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2929
diff changeset
   298
  ### topic: narf
2997
a61634f52742 topic: try to clarify the "branch" part in stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2995
diff changeset
   299
  ### target: default (branch)
2937
b54abc7e80e2 topics: improve the description if topic is not touched
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2936
diff changeset
   300
  (stack is empty)
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4065
diff changeset
   301
  s0^ Add file delta (base current)
2935
6f7f8c6fcfb0 topics: add tests for cases when a topic is empty
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2929
diff changeset
   302
6f7f8c6fcfb0 topics: add tests for cases when a topic is empty
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2929
diff changeset
   303
Add commits to topic
6f7f8c6fcfb0 topics: add tests for cases when a topic is empty
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2929
diff changeset
   304
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   305
  $ echo topic work >> alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   306
  $ hg ci -m 'start on narf'
2988
62201935e1a7 topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas
parents: 2986
diff changeset
   307
  active topic 'narf' grew its first changeset
3769
1bc4b0807c37 topic: display a hint pointing at help when a topic becomes non-empty
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3765
diff changeset
   308
  (see 'hg help topics' for more information)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   309
  $ hg co .^
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   310
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   311
  $ hg topic fran
2985
f63c97c01f92 topics/ui: signal when the topics command creates a new (empty) topic
Aurélien Campéas
parents: 2984
diff changeset
   312
  marked working directory as topic: fran
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   313
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   314
   * fran (0 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   315
     narf (1 changesets)
2867
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   316
  $ hg topics --current
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   317
  fran
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   318
  $ echo >> fran work >> beta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   319
  $ hg ci -m 'start on fran'
2988
62201935e1a7 topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas
parents: 2986
diff changeset
   320
  active topic 'fran' grew its first changeset
3769
1bc4b0807c37 topic: display a hint pointing at help when a topic becomes non-empty
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3765
diff changeset
   321
  (see 'hg help topics' for more information)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   322
  $ hg co narf
1853
8db7828751b7 topic: wrap the underlying update function rather than the command
Matt Mackall <mpm@selenic.com>
parents: 1852
diff changeset
   323
  switching to topic narf
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   324
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   325
  $ hg topic
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   326
     fran (1 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   327
   * narf (1 changesets)
1869
995617c7f2fc template: test that topic is accessible through template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1868
diff changeset
   328
  $ hg log -r . -T '{topics}\n'
995617c7f2fc template: test that topic is accessible through template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1868
diff changeset
   329
  narf
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   330
  $ echo 'narf!!!' >> alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   331
  $ hg ci -m 'narf!'
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   332
  $ hg log -G
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   333
  @  changeset:   6:7c34953036d6
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   334
  |  tag:         tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   335
  |  topic:       narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   336
  |  parent:      4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   337
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   338
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   339
  |  summary:     narf!
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   340
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   341
  | o  changeset:   5:0469d521db49
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   342
  | |  topic:       fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   343
  | |  parent:      3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   344
  | |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   345
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   346
  | |  summary:     start on fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   347
  | |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   348
  o |  changeset:   4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   349
  |/   topic:       narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   350
  |    user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   351
  |    date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   352
  |    summary:     start on narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   353
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   354
  o  changeset:   3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   355
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   356
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   357
  |  summary:     Add file delta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   358
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   359
  o  changeset:   2:15d1eb11d2fa
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   360
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   361
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   362
  |  summary:     Add file gamma
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   363
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   364
  o  changeset:   1:c692ea2c9224
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   365
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   366
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   367
  |  summary:     Add file beta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   368
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   369
  o  changeset:   0:c2b7d2f7d14b
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   370
     user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   371
     date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   372
     summary:     Add file alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   373
  
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   374
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   375
Exchanging of topics:
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   376
  $ cd ..
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   377
  $ hg init brain
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   378
  $ hg -R pinky push -r 4 brain
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   379
  pushing to brain
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   380
  searching for changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   381
  adding changesets
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   382
  adding manifests
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   383
  adding file changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   384
  added 5 changesets with 5 changes to 4 files
1866
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   385
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   386
Export
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   387
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   388
  $ hg -R pinky export
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   389
  # HG changeset patch
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   390
  # User test
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   391
  # Date 0 0
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   392
  #      Thu Jan 01 00:00:00 1970 +0000
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   393
  # Node ID 7c34953036d6a36eae468c550d0592b89ee8bffc
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   394
  # Parent  fb147b0b417c25ca15547cd945acf51cf8dcaf02
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   395
  # EXP-Topic narf
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   396
  narf!
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   397
  
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   398
  diff -r fb147b0b417c -r 7c34953036d6 alpha
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   399
  --- a/alpha	Thu Jan 01 00:00:00 1970 +0000
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   400
  +++ b/alpha	Thu Jan 01 00:00:00 1970 +0000
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   401
  @@ -1,2 +1,3 @@
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   402
   file alpha
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   403
   topic work
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   404
  +narf!!!
1867
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   405
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   406
Import
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   407
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   408
  $ hg -R pinky export > narf.diff
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   409
  $ hg -R pinky --config extensions.strip= strip .
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   410
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   411
  saved backup bundle to $TESTTMP/pinky/.hg/strip-backup/7c34953036d6-1ff3bae2-backup.hg (glob)
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   412
  $ hg -R pinky import narf.diff
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   413
  applying narf.diff
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   414
  $ hg -R pinky log -r .
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   415
  changeset:   6:7c34953036d6
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   416
  tag:         tip
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   417
  topic:       narf
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   418
  parent:      4:fb147b0b417c
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   419
  user:        test
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   420
  date:        Thu Jan 01 00:00:00 1970 +0000
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   421
  summary:     narf!
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   422
  
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   423
Now that we've pushed to brain, the work done on narf is no longer a
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   424
draft, so we won't see that topic name anymore:
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   425
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   426
  $ hg log -R pinky -G
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   427
  @  changeset:   6:7c34953036d6
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   428
  |  tag:         tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   429
  |  topic:       narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   430
  |  parent:      4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   431
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   432
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   433
  |  summary:     narf!
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   434
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   435
  | o  changeset:   5:0469d521db49
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   436
  | |  topic:       fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   437
  | |  parent:      3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   438
  | |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   439
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   440
  | |  summary:     start on fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   441
  | |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   442
  o |  changeset:   4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   443
  |/   user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   444
  |    date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   445
  |    summary:     start on narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   446
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   447
  o  changeset:   3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   448
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   449
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   450
  |  summary:     Add file delta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   451
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   452
  o  changeset:   2:15d1eb11d2fa
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   453
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   454
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   455
  |  summary:     Add file gamma
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   456
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   457
  o  changeset:   1:c692ea2c9224
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   458
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   459
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   460
  |  summary:     Add file beta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   461
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   462
  o  changeset:   0:c2b7d2f7d14b
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   463
     user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   464
     date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   465
     summary:     Add file alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   466
  
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   467
  $ cd brain
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   468
  $ hg co tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   469
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   470
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   471
Because the change is public, we won't inherit the topic from narf.
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   472
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   473
  $ hg topic
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   474
  $ echo what >> alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   475
  $ hg topic query
2985
f63c97c01f92 topics/ui: signal when the topics command creates a new (empty) topic
Aurélien Campéas
parents: 2984
diff changeset
   476
  marked working directory as topic: query
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   477
  $ hg ci -m 'what is narf, pinky?'
2988
62201935e1a7 topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas
parents: 2986
diff changeset
   478
  active topic 'query' grew its first changeset
3769
1bc4b0807c37 topic: display a hint pointing at help when a topic becomes non-empty
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3765
diff changeset
   479
  (see 'hg help topics' for more information)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   480
  $ hg log -Gl2
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   481
  @  changeset:   5:c01515cfc331
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   482
  |  tag:         tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   483
  |  topic:       query
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   484
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   485
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   486
  |  summary:     what is narf, pinky?
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   487
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   488
  o  changeset:   4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   489
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   490
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   491
  |  summary:     start on narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   492
  |
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
   493
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   494
  $ hg push -f ../pinky -r query
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   495
  pushing to ../pinky
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   496
  searching for changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   497
  adding changesets
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   498
  adding manifests
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   499
  adding file changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   500
  added 1 changesets with 1 changes to 1 files (+1 heads)
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
   501
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   502
  $ hg -R ../pinky log -Gl 4
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   503
  o  changeset:   7:c01515cfc331
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   504
  |  tag:         tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   505
  |  topic:       query
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   506
  |  parent:      4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   507
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   508
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   509
  |  summary:     what is narf, pinky?
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   510
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   511
  | @  changeset:   6:7c34953036d6
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   512
  |/   topic:       narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   513
  |    parent:      4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   514
  |    user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   515
  |    date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   516
  |    summary:     narf!
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   517
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   518
  | o  changeset:   5:0469d521db49
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   519
  | |  topic:       fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   520
  | |  parent:      3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   521
  | |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   522
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   523
  | |  summary:     start on fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   524
  | |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   525
  o |  changeset:   4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   526
  |/   user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   527
  |    date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   528
  |    summary:     start on narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   529
  |
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
   530
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   531
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   532
   * query (1 changesets)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   533
  $ cd ../pinky
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   534
  $ hg co query
1853
8db7828751b7 topic: wrap the underlying update function rather than the command
Matt Mackall <mpm@selenic.com>
parents: 1852
diff changeset
   535
  switching to topic query
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   536
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   537
  $ echo answer >> alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   538
  $ hg ci -m 'Narf is like `zort` or `poit`!'
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   539
  $ hg merge narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   540
  merging alpha
1868
5cdd5e0a421c test: adapt to newer mercurial
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1867
diff changeset
   541
  warning: conflicts while merging alpha! (edit, then use 'hg resolve --mark')
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   542
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
3430
14fbb847be5a test: update output for new `merge --abort` message
Boris Feld <boris.feld@octobus.net>
parents: 3397
diff changeset
   543
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   544
  [1]
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   545
  $ hg revert -r narf alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   546
  $ hg resolve -m alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   547
  (no more unresolved files)
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   548
  $ hg topic narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   549
  $ hg ci -m 'Finish narf'
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   550
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   551
     fran  (1 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   552
   * narf  (2 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   553
     query (2 changesets)
1885
d49f75eab6a3 topic: take topic in account for all branch head computation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1874
diff changeset
   554
  $ hg debugnamecomplete # branch:topic here is a buggy side effect
1857
a506ed8ab8da topics: add listnames hook so completion works
Matt Mackall <mpm@selenic.com>
parents: 1853
diff changeset
   555
  default
1885
d49f75eab6a3 topic: take topic in account for all branch head computation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1874
diff changeset
   556
  default:fran
d49f75eab6a3 topic: take topic in account for all branch head computation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1874
diff changeset
   557
  default:narf
d49f75eab6a3 topic: take topic in account for all branch head computation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1874
diff changeset
   558
  default:query
1857
a506ed8ab8da topics: add listnames hook so completion works
Matt Mackall <mpm@selenic.com>
parents: 1853
diff changeset
   559
  fran
a506ed8ab8da topics: add listnames hook so completion works
Matt Mackall <mpm@selenic.com>
parents: 1853
diff changeset
   560
  narf
a506ed8ab8da topics: add listnames hook so completion works
Matt Mackall <mpm@selenic.com>
parents: 1853
diff changeset
   561
  query
a506ed8ab8da topics: add listnames hook so completion works
Matt Mackall <mpm@selenic.com>
parents: 1853
diff changeset
   562
  tip
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   563
  $ hg phase --public narf
2986
4746b92cc1f8 topics/ui: signal when an operation entails voiding a topic
Aurélien Campéas
parents: 2985
diff changeset
   564
  active topic 'narf' is now empty
3770
eb928f5728c4 topic: suggest to clear a topic that becomes empty
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3769
diff changeset
   565
  (use 'hg topic --clear' to clear it if needed)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   566
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   567
POSSIBLE BUG: narf topic stays alive even though we just made all
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   568
narf commits public:
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   569
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   570
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   571
     fran (1 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   572
   * narf (0 changesets)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   573
  $ hg log -Gl 6
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   574
  @    changeset:   9:ae074045b7a7
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   575
  |\   tag:         tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   576
  | |  parent:      8:54c943c1c167
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   577
  | |  parent:      6:7c34953036d6
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   578
  | |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   579
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   580
  | |  summary:     Finish narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   581
  | |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   582
  | o  changeset:   8:54c943c1c167
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   583
  | |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   584
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   585
  | |  summary:     Narf is like `zort` or `poit`!
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   586
  | |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   587
  | o  changeset:   7:c01515cfc331
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   588
  | |  parent:      4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   589
  | |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   590
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   591
  | |  summary:     what is narf, pinky?
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   592
  | |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   593
  o |  changeset:   6:7c34953036d6
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   594
  |/   parent:      4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   595
  |    user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   596
  |    date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   597
  |    summary:     narf!
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   598
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   599
  | o  changeset:   5:0469d521db49
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   600
  | |  topic:       fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   601
  | |  parent:      3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   602
  | |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   603
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   604
  | |  summary:     start on fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   605
  | |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   606
  o |  changeset:   4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   607
  |/   user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   608
  |    date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   609
  |    summary:     start on narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   610
  |
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
   611
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   612
  $ cd ../brain
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   613
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   614
   * query (1 changesets)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   615
  $ hg pull ../pinky -r narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   616
  pulling from ../pinky
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   617
  abort: unknown revision 'narf'!
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   618
  [255]
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   619
  $ hg pull ../pinky -r default
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   620
  pulling from ../pinky
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   621
  searching for changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   622
  adding changesets
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   623
  adding manifests
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   624
  adding file changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   625
  added 3 changesets with 3 changes to 1 files
3075
8feb2cae7eae test: adapt to output change from eb586ed5d8ce
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3060
diff changeset
   626
  new changesets 7c34953036d6:ae074045b7a7
3837
dda5b2134b32 tests: update tests output with changes in d0abd7949ea3 in core hg
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3786
diff changeset
   627
  1 local changesets published
2986
4746b92cc1f8 topics/ui: signal when an operation entails voiding a topic
Aurélien Campéas
parents: 2985
diff changeset
   628
  active topic 'query' is now empty
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   629
  (run 'hg update' to get a working copy)
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   630
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   631
   * query (0 changesets)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   632
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   633
We can pull in the draft-phase change and we get the new topic
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   634
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   635
  $ hg pull ../pinky
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   636
  pulling from ../pinky
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   637
  searching for changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   638
  adding changesets
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   639
  adding manifests
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   640
  adding file changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   641
  added 1 changesets with 1 changes to 1 files (+1 heads)
4197
1dd5c6e6cd53 test-compat: backed out changeset ccbfbeee6cf3
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4165
diff changeset
   642
  new changesets 0469d521db49 (1 drafts)
1885
d49f75eab6a3 topic: take topic in account for all branch head computation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1874
diff changeset
   643
  (run 'hg heads' to see heads)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   644
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   645
     fran  (1 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   646
   * query (0 changesets)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   647
  $ hg log -Gr 'draft()'
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   648
  o  changeset:   9:0469d521db49
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   649
  |  tag:         tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   650
  |  topic:       fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   651
  |  parent:      3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   652
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   653
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   654
  |  summary:     start on fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   655
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   656
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   657
query is not an open topic, so when we clear the current topic it'll
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   658
disappear:
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   659
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   660
  $ hg topics --clear
2984
30f6030dca8f topics: signal to the end user when a topic has been forgotten
Aurélien Campéas
parents: 2938
diff changeset
   661
  clearing empty topic "query"
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   662
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   663
     fran (1 changesets)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   664
1843
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   665
Topic revset
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   666
  $ hg log -r 'topic()' -G
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   667
  o  changeset:   9:0469d521db49
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   668
  |  tag:         tip
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   669
  |  topic:       fran
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   670
  |  parent:      3:a53952faf762
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   671
  |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   672
  |  date:        Thu Jan 01 00:00:00 1970 +0000
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   673
  |  summary:     start on fran
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   674
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   675
  $ hg log -r 'not topic()' -G
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   676
  o    changeset:   8:ae074045b7a7
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   677
  |\   parent:      7:54c943c1c167
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   678
  | |  parent:      6:7c34953036d6
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   679
  | |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   680
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   681
  | |  summary:     Finish narf
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   682
  | |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   683
  | o  changeset:   7:54c943c1c167
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   684
  | |  parent:      5:c01515cfc331
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   685
  | |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   686
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   687
  | |  summary:     Narf is like `zort` or `poit`!
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   688
  | |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   689
  o |  changeset:   6:7c34953036d6
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   690
  | |  parent:      4:fb147b0b417c
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   691
  | |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   692
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   693
  | |  summary:     narf!
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   694
  | |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   695
  | @  changeset:   5:c01515cfc331
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   696
  |/   user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   697
  |    date:        Thu Jan 01 00:00:00 1970 +0000
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   698
  |    summary:     what is narf, pinky?
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   699
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   700
  o  changeset:   4:fb147b0b417c
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   701
  |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   702
  |  date:        Thu Jan 01 00:00:00 1970 +0000
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   703
  |  summary:     start on narf
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   704
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   705
  o  changeset:   3:a53952faf762
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   706
  |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   707
  |  date:        Thu Jan 01 00:00:00 1970 +0000
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   708
  |  summary:     Add file delta
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   709
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   710
  o  changeset:   2:15d1eb11d2fa
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   711
  |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   712
  |  date:        Thu Jan 01 00:00:00 1970 +0000
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   713
  |  summary:     Add file gamma
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   714
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   715
  o  changeset:   1:c692ea2c9224
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   716
  |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   717
  |  date:        Thu Jan 01 00:00:00 1970 +0000
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   718
  |  summary:     Add file beta
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   719
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   720
  o  changeset:   0:c2b7d2f7d14b
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   721
     user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   722
     date:        Thu Jan 01 00:00:00 1970 +0000
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   723
     summary:     Add file alpha
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   724
  
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   725
No matches because narf is already closed:
4062
6774820c8a2e test: search for empty topic as a string
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4061
diff changeset
   726
  $ hg log -r 'topic("narf")' -G
1843
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   727
This regexp should match the topic `fran`:
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   728
  $ hg log -r 'topic("re:.ra.")' -G
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   729
  o  changeset:   9:0469d521db49
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   730
  |  tag:         tip
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   731
  |  topic:       fran
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   732
  |  parent:      3:a53952faf762
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   733
  |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   734
  |  date:        Thu Jan 01 00:00:00 1970 +0000
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   735
  |  summary:     start on fran
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   736
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   737
Exact match on fran:
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   738
  $ hg log -r 'topic(fran)' -G
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   739
  o  changeset:   9:0469d521db49
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   740
  |  tag:         tip
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   741
  |  topic:       fran
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   742
  |  parent:      3:a53952faf762
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   743
  |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   744
  |  date:        Thu Jan 01 00:00:00 1970 +0000
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   745
  |  summary:     start on fran
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   746
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   747
1864
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   748
Match current topic:
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   749
  $ hg topic
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   750
     fran (1 changesets)
1864
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   751
  $ hg log -r 'topic(.)'
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   752
(no output is expected)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   753
  $ hg co fran
1853
8db7828751b7 topic: wrap the underlying update function rather than the command
Matt Mackall <mpm@selenic.com>
parents: 1852
diff changeset
   754
  switching to topic fran
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   755
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1864
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   756
  $ hg log -r 'topic(.)'
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   757
  changeset:   9:0469d521db49
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   758
  tag:         tip
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   759
  topic:       fran
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   760
  parent:      3:a53952faf762
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   761
  user:        test
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   762
  date:        Thu Jan 01 00:00:00 1970 +0000
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   763
  summary:     start on fran
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   764
  
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   765
4060
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   766
Using revsets in topic()
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   767
  $ tlog() {
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   768
  >   hg log -T '{rev}: {topic}\n' -r "$1"
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   769
  > }
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   770
4061
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   771
  $ tlog 'topic(9)'
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   772
  9: fran
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   773
  $ tlog 'topic(8)'
4060
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   774
  $ tlog 'topic(head())'
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   775
  9: fran
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   776
  $ tlog 'topic(:)'
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   777
  9: fran
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   778
  $ tlog 'topic(all())'
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   779
  9: fran
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   780
  $ tlog 'topic(topic(fran))'
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   781
  9: fran
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   782
  $ tlog 'topic(wdir())'
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   783
  9: fran
4061
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   784
  $ tlog 'topic(nonsense)'
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   785
  abort: unknown revision 'nonsense'!
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   786
  [255]
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   787
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   788
Pattern matching in topic() revset
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   789
  $ tlog 'topic("re:nonsense")'
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   790
  $ tlog 'topic("literal:nonsense")'
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   791
  abort: topic 'nonsense' does not exist!
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   792
  [255]
4060
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   793
1864
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   794
Deactivate the topic.
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   795
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   796
   * fran (1 changesets)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   797
  $ hg topics --clear
4060
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   798
  $ hg log -r 'topic(wdir())'
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   799
  $ echo fran? >> beta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   800
  $ hg ci -m 'fran?'
1885
d49f75eab6a3 topic: take topic in account for all branch head computation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1874
diff changeset
   801
  created new head
3397
f7129e3d5a38 topic: suggest using topic when user creates a new head on branch
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3225
diff changeset
   802
  (consider using topic for lightweight branches. See 'hg help topic')
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   803
  $ hg log -Gr 'draft()'
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   804
  @  changeset:   10:4073470c35e1
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   805
  |  tag:         tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   806
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   807
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   808
  |  summary:     fran?
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   809
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   810
  o  changeset:   9:0469d521db49
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   811
  |  topic:       fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   812
  |  parent:      3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   813
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   814
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   815
  |  summary:     start on fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   816
  |
3037
5c8d5f980f49 tests: add a new test for testing changing or clearing topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3027
diff changeset
   817
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   818
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   819
     fran (1 changesets)
2712
f19b314d8475 topics: add t0 and b0 to the stack
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2691
diff changeset
   820
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4062
diff changeset
   821
Testing for updating to s0
2712
f19b314d8475 topics: add t0 and b0 to the stack
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2691
diff changeset
   822
==========================
f19b314d8475 topics: add t0 and b0 to the stack
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2691
diff changeset
   823
3037
5c8d5f980f49 tests: add a new test for testing changing or clearing topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3027
diff changeset
   824
  $ hg up fran
5c8d5f980f49 tests: add a new test for testing changing or clearing topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3027
diff changeset
   825
  switching to topic fran
5c8d5f980f49 tests: add a new test for testing changing or clearing topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3027
diff changeset
   826
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2712
f19b314d8475 topics: add t0 and b0 to the stack
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2691
diff changeset
   827
  $ hg stack
3037
5c8d5f980f49 tests: add a new test for testing changing or clearing topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3027
diff changeset
   828
  ### topic: fran
3225
28fb347a5bf8 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com>
parents: 3085
diff changeset
   829
  ### target: default (branch), ambiguous rebase destination - branch 'default' has 2 heads
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4065
diff changeset
   830
  s1@ start on fran (current)
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4065
diff changeset
   831
  s0^ Add file delta (base)
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
   832
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4062
diff changeset
   833
  $ hg up s0
3037
5c8d5f980f49 tests: add a new test for testing changing or clearing topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3027
diff changeset
   834
  preserving the current topic 'fran'
5c8d5f980f49 tests: add a new test for testing changing or clearing topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3027
diff changeset
   835
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
   836
2712
f19b314d8475 topics: add t0 and b0 to the stack
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2691
diff changeset
   837
  $ hg topic
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   838
   * fran (1 changesets)
2712
f19b314d8475 topics: add t0 and b0 to the stack
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2691
diff changeset
   839
  $ hg stack
3037
5c8d5f980f49 tests: add a new test for testing changing or clearing topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3027
diff changeset
   840
  ### topic: fran
3225
28fb347a5bf8 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com>
parents: 3085
diff changeset
   841
  ### target: default (branch), ambiguous rebase destination - branch 'default' has 2 heads
4067
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4065
diff changeset
   842
  s1: start on fran
fb4801478d5d stack: display 's#' instead of 't#' and 'b#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4065
diff changeset
   843
  s0^ Add file delta (base current)
2718
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   844
2731
d39942773163 topics: add a new flag --age which will show last touched time for topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2718
diff changeset
   845
  $ hg topics --age
4303
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
   846
   * fran (1970-01-01 by test, 1 changesets)
2731
d39942773163 topics: add a new flag --age which will show last touched time for topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2718
diff changeset
   847
2718
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   848
  $ cd ..
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   849
4339
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   850
Relation subscript in revsets
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   851
=============================
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   852
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   853
  $ hg init more-than-one-commit-per-topic
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   854
  $ cd more-than-one-commit-per-topic
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   855
  $ cat > .hg/hgrc << EOF
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   856
  > [phases]
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   857
  > publish=false
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   858
  > EOF
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   859
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   860
  $ echo 0 > foo
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   861
  $ hg ci -qAm 0
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   862
  $ hg topic featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   863
  marked working directory as topic: featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   864
  $ echo 1 > foo
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   865
  $ hg ci -qm 1
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   866
  $ echo 2 > foo
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   867
  $ hg ci -qm 2
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   868
  $ echo 3 > foo
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   869
  $ hg ci -qm 3
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   870
  $ hg topic --clear
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   871
  $ echo 4 > foo
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   872
  $ hg ci -qm 4
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   873
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   874
  $ tlog 'all()'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   875
  0: 
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   876
  1: featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   877
  2: featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   878
  3: featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   879
  4: 
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   880
4339
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   881
topic subscript relation
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   882
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   883
  $ tlog 'featureA'
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   884
  3: featureA
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   885
  $ tlog 'featureA#topic[0]'
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   886
  3: featureA
4379
2893b127923b topic: make ranges work in revset relations like 'foo#topic[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4339
diff changeset
   887
  $ tlog 'featureA#topic[:]'
2893b127923b topic: make ranges work in revset relations like 'foo#topic[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4339
diff changeset
   888
  1: featureA
2893b127923b topic: make ranges work in revset relations like 'foo#topic[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4339
diff changeset
   889
  2: featureA
2893b127923b topic: make ranges work in revset relations like 'foo#topic[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4339
diff changeset
   890
  3: featureA
4339
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   891
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   892
  $ tlog '2#t[-2]'
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   893
  $ tlog '2#t[-1]'
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   894
  1: featureA
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   895
  $ tlog '2#t[0]'
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   896
  2: featureA
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   897
  $ tlog '2#t[1]'
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   898
  3: featureA
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   899
  $ tlog '2#t[2]'
4379
2893b127923b topic: make ranges work in revset relations like 'foo#topic[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4339
diff changeset
   900
  $ tlog '2#t[-1:1]'
2893b127923b topic: make ranges work in revset relations like 'foo#topic[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4339
diff changeset
   901
  1: featureA
2893b127923b topic: make ranges work in revset relations like 'foo#topic[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4339
diff changeset
   902
  2: featureA
2893b127923b topic: make ranges work in revset relations like 'foo#topic[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4339
diff changeset
   903
  3: featureA
4339
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   904
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   905
stack subscript relation
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   906
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   907
  $ hg stack
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   908
  ### target: default (branch)
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   909
  s2@ 4 (current)
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   910
    ^ 3
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   911
  s1: 0
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   912
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   913
  $ tlog 'tip#stack[0]'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   914
  $ tlog 'tip#stack[1]'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   915
  0: 
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   916
  $ tlog 'tip#stack[2]'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   917
  4: 
4323
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   918
  $ tlog 'tip#stack[-1]'
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   919
  4: 
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   920
  $ tlog 'tip#stack[-2]'
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   921
  0: 
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   922
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   923
  $ hg stack featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   924
  ### topic: featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   925
  ### target: default (branch), 3 behind
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   926
  s3: 3
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   927
  s2: 2
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   928
  s1: 1
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   929
  s0^ 0 (base)
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   930
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   931
  $ tlog 'featureA#s[0]'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   932
  0: 
4381
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   933
  $ tlog 'featureA#s[0:0]'
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   934
  0: 
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   935
  $ tlog 'featureA#s[:]'
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   936
  1: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   937
  2: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   938
  3: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   939
  $ tlog 'featureA#s[2:]'
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   940
  2: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   941
  3: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   942
  $ tlog 'featureA#s[:2]'
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   943
  1: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   944
  2: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   945
  $ tlog 'featureA#s[0:1]'
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   946
  0: 
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   947
  1: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   948
  $ tlog 'featureA#s[-1:0]'
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   949
  0: 
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   950
  3: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   951
  $ tlog 'featureA#s[-3:3]'
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   952
  1: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   953
  2: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   954
  3: featureA
4323
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   955
  $ tlog 'featureA#s[1] and featureA#s[-3]'
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   956
  1: featureA
4323
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   957
  $ tlog 'featureA#s[2] and featureA#s[-2]'
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   958
  2: featureA
4323
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   959
  $ tlog 'featureA#s[3] and featureA#s[-1]'
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   960
  3: featureA
4323
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   961
  $ tlog 'featureA#s[-4]'
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   962
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   963
  $ tlog 'all()#s[-1]'
4323
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   964
  3: featureA
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   965
  4: 
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   966
  $ tlog 'all()#s[0]'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   967
  0: 
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   968
  $ tlog 'all()#s[1]'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   969
  0: 
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   970
  1: featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   971
  $ tlog 'all()#s[9999]'
4323
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   972
  $ tlog 'all()#s[-9999]'
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   973
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   974
  $ hg topic featureB
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   975
  marked working directory as topic: featureB
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   976
  $ hg stack
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   977
  ### topic: featureB
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   978
  ### target: default (branch)
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   979
  (stack is empty)
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   980
  s0^ 4 (base current)
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   981
  $ tlog 'wdir()#s[0]'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   982
  4: 
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   983
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   984
  $ cd ..
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   985
2718
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   986
Testing the new config knob to forbid untopiced commit
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   987
======================================================
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   988
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   989
  $ hg init ponky
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   990
  $ cd ponky
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   991
  $ cat <<EOF >> .hg/hgrc
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   992
  > [phases]
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   993
  > publish=false
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   994
  > EOF
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   995
  $ cat <<EOF >> $HGRCPATH
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   996
  > [experimental]
3021
5f4c42d4f2e8 test: update tests to use topic-mode enforce
Boris Feld <boris.feld@octobus.net>
parents: 3013
diff changeset
   997
  > topic-mode = enforce
2718
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   998
  > EOF
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   999
  $ touch a b c d
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
  1000
  $ hg add a
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
  1001
  $ hg ci -m "Added a"
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
  1002
  abort: no active topic
3027
b220e2f5ebd5 topic: update the topic-mode hint
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3023
diff changeset
  1003
  (see 'hg help -e topic.topic-mode' for details)
2718
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
  1004
  [255]
2733
adfbb984ebbb topics: check for topic on commit before a user enters message
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2731
diff changeset
  1005
adfbb984ebbb topics: check for topic on commit before a user enters message
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2731
diff changeset
  1006
(same test, checking we abort before the editor)
adfbb984ebbb topics: check for topic on commit before a user enters message
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2731
diff changeset
  1007
adfbb984ebbb topics: check for topic on commit before a user enters message
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2731
diff changeset
  1008
  $ EDITOR=cat hg ci -m "Added a" --edit
adfbb984ebbb topics: check for topic on commit before a user enters message
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2731
diff changeset
  1009
  abort: no active topic
3027
b220e2f5ebd5 topic: update the topic-mode hint
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3023
diff changeset
  1010
  (see 'hg help -e topic.topic-mode' for details)
2733
adfbb984ebbb topics: check for topic on commit before a user enters message
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2731
diff changeset
  1011
  [255]
3021
5f4c42d4f2e8 test: update tests to use topic-mode enforce
Boris Feld <boris.feld@octobus.net>
parents: 3013
diff changeset
  1012
  $ hg ci -m "added a" --config experimental.topic-mode=off
2718
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
  1013
  $ hg log
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
  1014
  changeset:   0:a154386e50d1
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
  1015
  tag:         tip
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
  1016
  user:        test
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
  1017
  date:        Thu Jan 01 00:00:00 1970 +0000
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
  1018
  summary:     added a
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
  1019
  
3023
cc740c545776 topicmode: add new warning topicmode
Boris Feld <boris.feld@octobus.net>
parents: 3021
diff changeset
  1020
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1021
Testing the --age flag for `hg topics`
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1022
======================================
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1023
2747
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1024
  $ hg topic topic1970 --rev 0
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1025
  switching to topic topic1970
4268
d5a2cc19903f topics: improve the message around topic changing
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 4208
diff changeset
  1026
  changed topic on 1 changesets to "topic1970"
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1027
2747
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1028
  $ hg add b
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1029
  $ hg topic topic1990
2993
725b660d9886 topics: show the user who last touched the topic in --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2988
diff changeset
  1030
  $ hg ci -m "Added b" --config devel.default-date="631152000 0" --user "foo"
2988
62201935e1a7 topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas
parents: 2986
diff changeset
  1031
  active topic 'topic1990' grew its first changeset
3769
1bc4b0807c37 topic: display a hint pointing at help when a topic becomes non-empty
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3765
diff changeset
  1032
  (see 'hg help topics' for more information)
2747
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1033
  $ hg add c
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1034
  $ hg topic topic2010
2993
725b660d9886 topics: show the user who last touched the topic in --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2988
diff changeset
  1035
  $ hg ci -m "Added c" --config devel.default-date="1262304000 0" --user "bar"
2988
62201935e1a7 topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas
parents: 2986
diff changeset
  1036
  active topic 'topic2010' grew its first changeset
3769
1bc4b0807c37 topic: display a hint pointing at help when a topic becomes non-empty
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3765
diff changeset
  1037
  (see 'hg help topics' for more information)
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1038
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1039
  $ hg log -G
2993
725b660d9886 topics: show the user who last touched the topic in --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2988
diff changeset
  1040
  @  changeset:   3:76b16af75125
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1041
  |  tag:         tip
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1042
  |  topic:       topic2010
2993
725b660d9886 topics: show the user who last touched the topic in --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2988
diff changeset
  1043
  |  user:        bar
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1044
  |  date:        Fri Jan 01 00:00:00 2010 +0000
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1045
  |  summary:     Added c
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1046
  |
2993
725b660d9886 topics: show the user who last touched the topic in --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2988
diff changeset
  1047
  o  changeset:   2:bba5bde53608
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1048
  |  topic:       topic1990
2993
725b660d9886 topics: show the user who last touched the topic in --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2988
diff changeset
  1049
  |  user:        foo
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1050
  |  date:        Mon Jan 01 00:00:00 1990 +0000
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1051
  |  summary:     Added b
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1052
  |
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1053
  o  changeset:   1:e5a30a141954
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1054
     topic:       topic1970
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1055
     parent:      -1:000000000000
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1056
     user:        test
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1057
     date:        Thu Jan 01 00:00:00 1970 +0000
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1058
     summary:     added a
2747
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1059
  
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1060
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
  1061
     topic1970 (1 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
  1062
     topic1990 (1 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
  1063
   * topic2010 (1 changesets)
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1064
2747
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1065
  $ hg topics --age
4303
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1066
   * topic2010 (2010-01-01 by bar, 1 changesets)
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1067
     topic1990 (1990-01-01 by foo, 1 changesets)
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1068
     topic1970 (1970-01-01 by test, 1 changesets)
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1069
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1070
  $ hg topics --age --verbose
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1071
   * topic2010 (2010-01-01 by bar, on branch: default, 1 changesets)
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1072
     topic1990 (1990-01-01 by foo, on branch: default, 1 changesets)
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1073
     topic1970 (1970-01-01 by test, on branch: default, 1 changesets)
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1074
2747
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1075
  $ hg up topic1970
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1076
  switching to topic topic1970
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1077
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1078
2747
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1079
  $ hg topics --age
4303
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1080
     topic2010 (2010-01-01 by bar, 1 changesets)
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1081
     topic1990 (1990-01-01 by foo, 1 changesets)
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1082
   * topic1970 (1970-01-01 by test, 1 changesets)
2747
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1083
2995
dbc896a7a1c3 topics: make sure user don't pass both the age option and a topic name
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2994
diff changeset
  1084
  $ hg topics --age random
dbc896a7a1c3 topics: make sure user don't pass both the age option and a topic name
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2994
diff changeset
  1085
  abort: cannot use --age while setting a topic
dbc896a7a1c3 topics: make sure user don't pass both the age option and a topic name
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2994
diff changeset
  1086
  [255]
2718
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
  1087
  $ cd ..
4703
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1088
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1089
Test that topics doesn't confuse branchheads checking logic
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1090
-----------------------------------------------------------
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1091
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1092
  $ hg init hgtags
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1093
  $ cd hgtags
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1094
  $ echo a > a
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1095
  $ hg ci -Am "added a" --config experimental.topic-mode=default
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1096
  adding a
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1097
  $ echo b > b
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1098
  $ hg ci -Am "added b" --config experimental.topic-mode=default
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1099
  adding b
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1100
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1101
  $ hg topic foo -r .
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1102
  switching to topic foo
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1103
  changed topic on 1 changesets to "foo"
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1104
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1105
Try to put a tag on current rev which also has an active topic:
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1106
  $ hg tag 1.0
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1107
  $ hg tags
4704
5f90eb8fd63c evolve: fix confusion in branch heads checking logic when topic in play
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4703
diff changeset
  1108
  tip                                3:9efc5c3ac635
5f90eb8fd63c evolve: fix confusion in branch heads checking logic when topic in play
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4703
diff changeset
  1109
  1.0                                2:3bbb3fdb2546
4703
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1110
e15dc6defc99 topic: add tests to demonstrate topic confuses the branchhead checking logic
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4648
diff changeset
  1111
  $ cd ..