tests/test-topic.t
author Martin von Zweigbergk <martinvonz@google.com>
Tue, 23 Apr 2019 09:35:34 -0700
changeset 4598 2c094d4ee9cd
parent 4381 5f1d0cff514d
child 4525 a51b6684ad8f
child 4647 228caeb8b7af
permissions -rw-r--r--
evolve: don't update progress just before clearing it _cleanup() will clear the progress, so there's little reason to update it just before (except for progress.debug=yes).
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
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   118
  list of commands:
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   119
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   120
   stack         list all changesets in a topic and other information
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   121
   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
   122
                 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
   123
  
6f56ff701746 tests: add a test for "hg help -e topic"
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 3667
diff changeset
   124
  (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
   125
  $ hg help topics
1847
9fa5b8f4e98e topics: add command summary
Matt Mackall <mpm@selenic.com>
parents: 1844
diff changeset
   126
  hg topics [TOPIC]
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   127
  
2717
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   128
  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
   129
  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
   130
  
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   131
      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
   132
  
2994
1e8ac0fcd6b7 topics: spell out topics completely in help
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2993
diff changeset
   133
        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
   134
  
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   135
      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
   136
  
2994
1e8ac0fcd6b7 topics: spell out topics completely in help
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2993
diff changeset
   137
        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
   138
  
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   139
      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
   140
  
2994
1e8ac0fcd6b7 topics: spell out topics completely in help
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2993
diff changeset
   141
        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
   142
  
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   143
      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
   144
  
2994
1e8ac0fcd6b7 topics: spell out topics completely in help
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2993
diff changeset
   145
        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
   146
  
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   147
      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
   148
  
8c2d3c474fc6 doc: make paragraphs before example code end with "::" for reST syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 2898
diff changeset
   149
        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
   150
  
2993
725b660d9886 topics: show the user who last touched the topic in --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2988
diff changeset
   151
      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
   152
      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
   153
  
2994
1e8ac0fcd6b7 topics: spell out topics completely in help
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2993
diff changeset
   154
        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
   155
  
2717
ed45a5fb4452 topics: update the help for `hg topics` describing ways to use the command
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2712
diff changeset
   156
      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
   157
  
2869
b629874ccaac topics: allow use a --current when setting a topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2868
diff changeset
   158
      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
   159
      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
   160
      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
   161
  
2011
9c7665e3107b documentation: some basic update of the documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1953
diff changeset
   162
      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
   163
      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
   164
  
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
   165
  options ([+] can be repeated):
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   166
  
4200
3a90986622f7 test-compat: backed out changeset ba1e83c841f2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4197
diff changeset
   167
      --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
   168
   -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
   169
   -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
   170
      --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
   171
      --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
   172
   -T --template TEMPLATE display with template
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   173
  
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   174
  (some details hidden, use --verbose to show complete help)
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   175
  $ hg topics
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   176
1851
67d53e8e0c1a topic: only require obsolete support for --change
Matt Mackall <mpm@selenic.com>
parents: 1849
diff changeset
   177
Test topics interaction with evolution:
67d53e8e0c1a topic: only require obsolete support for --change
Matt Mackall <mpm@selenic.com>
parents: 1849
diff changeset
   178
67d53e8e0c1a topic: only require obsolete support for --change
Matt Mackall <mpm@selenic.com>
parents: 1849
diff changeset
   179
  $ hg topics --config experimental.evolution=
2643
a9ca94defc29 topics: rename '--change' flag to '--rev' flag
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2624
diff changeset
   180
  $ hg topics --config experimental.evolution= --rev . bob
a9ca94defc29 topics: rename '--change' flag to '--rev' flag
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2624
diff changeset
   181
  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
   182
  [255]
67d53e8e0c1a topic: only require obsolete support for --change
Matt Mackall <mpm@selenic.com>
parents: 1849
diff changeset
   183
67d53e8e0c1a topic: only require obsolete support for --change
Matt Mackall <mpm@selenic.com>
parents: 1849
diff changeset
   184
Create some changes:
67d53e8e0c1a topic: only require obsolete support for --change
Matt Mackall <mpm@selenic.com>
parents: 1849
diff changeset
   185
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   186
  $ for x in alpha beta gamma delta ; do
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   187
  >   echo file $x >> $x
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   188
  >   hg addremove
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   189
  >   hg ci -m "Add file $x"
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   190
  > done
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   191
  adding alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   192
  adding beta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   193
  adding gamma
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   194
  adding delta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   195
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   196
Still no topics
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   197
  $ hg topics
2867
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   198
  $ hg topics --current
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   199
  no active topic
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   200
  [1]
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   201
  $ hg topics --current somerandomtopic
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   202
  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
   203
  [255]
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   204
  $ hg topics --current --clear
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   205
  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
   206
  [255]
2868
e46b68547017 topic: make --clear + topicname invalid
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2867
diff changeset
   207
  $ hg topics --clear somerandomtopic
e46b68547017 topic: make --clear + topicname invalid
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2867
diff changeset
   208
  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
   209
  [255]
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   210
2888
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   211
Trying some invalid topicnames
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   212
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   213
  $ hg topic '.'
2889
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   214
  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
   215
  [255]
2888
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   216
  $ hg topic null
2889
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   217
  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
   218
  [255]
2888
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   219
  $ hg topic tip
2889
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   220
  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
   221
  [255]
2888
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   222
  $ hg topic 12345
2889
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   223
  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
   224
  [255]
2888
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   225
  $ hg topic '   '
2889
31cbace4c0f1 topics: make sure we have some restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2888
diff changeset
   226
  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
   227
  [255]
2888
aa5268900ba1 topic: add test showing no restrictions on topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2869
diff changeset
   228
3652
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   229
  $ hg topic 'a12#45'
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   230
  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
   231
  (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
   232
  [255]
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   233
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   234
  $ hg topic 'foo bar'
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   235
  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
   236
  (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
   237
  [255]
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   238
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   239
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
   240
  $ hg topic ''
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   241
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   242
  $ hg topic '*12 B23'
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   243
  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
   244
  (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
   245
  [255]
81985b9d3e74 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3430
diff changeset
   246
1852
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   247
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
   248
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   249
  $ echo stuff >> alpha
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   250
  $ 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
   251
  
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   252
  
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   253
  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
   254
  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
   255
  HG: --
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   256
  HG: user: test
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   257
  HG: topic 'topicflag'
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   258
  HG: branch 'default'
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   259
  HG: changed alpha
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   260
  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
   261
  [255]
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   262
  $ hg revert alpha
3084687f7994 commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com>
parents: 1851
diff changeset
   263
  $ hg topic
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   264
   * 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
   265
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   266
Make a topic
2935
6f7f8c6fcfb0 topics: add tests for cases when a topic is empty
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2929
diff changeset
   267
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   268
  $ hg topic narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   269
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   270
   * narf (0 changesets)
2935
6f7f8c6fcfb0 topics: add tests for cases when a topic is empty
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2929
diff changeset
   271
  $ hg topics -v
2936
3a9303b7b648 topics: show working directory branch when topic is empty
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2935
diff changeset
   272
   * 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
   273
  $ hg stack
6f7f8c6fcfb0 topics: add tests for cases when a topic is empty
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2929
diff changeset
   274
  ### 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
   275
  ### target: default (branch)
2937
b54abc7e80e2 topics: improve the description if topic is not touched
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2936
diff changeset
   276
  (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
   277
  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
   278
6f7f8c6fcfb0 topics: add tests for cases when a topic is empty
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2929
diff changeset
   279
Add commits to topic
6f7f8c6fcfb0 topics: add tests for cases when a topic is empty
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2929
diff changeset
   280
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   281
  $ echo topic work >> alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   282
  $ 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
   283
  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
   284
  (see 'hg help topics' for more information)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   285
  $ hg co .^
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   286
  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
   287
  $ 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
   288
  marked working directory as topic: fran
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   289
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   290
   * fran (0 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   291
     narf (1 changesets)
2867
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   292
  $ hg topics --current
5c0b6af37b21 topics: add a current flag to display current topic
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2860
diff changeset
   293
  fran
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   294
  $ echo >> fran work >> beta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   295
  $ 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
   296
  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
   297
  (see 'hg help topics' for more information)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   298
  $ hg co narf
1853
8db7828751b7 topic: wrap the underlying update function rather than the command
Matt Mackall <mpm@selenic.com>
parents: 1852
diff changeset
   299
  switching to topic narf
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   300
  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
   301
  $ hg topic
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   302
     fran (1 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   303
   * 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
   304
  $ 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
   305
  narf
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   306
  $ echo 'narf!!!' >> alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   307
  $ hg ci -m 'narf!'
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   308
  $ hg log -G
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   309
  @  changeset:   6:7c34953036d6
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   310
  |  tag:         tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   311
  |  topic:       narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   312
  |  parent:      4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   313
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   314
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   315
  |  summary:     narf!
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   316
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   317
  | o  changeset:   5:0469d521db49
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   318
  | |  topic:       fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   319
  | |  parent:      3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   320
  | |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   321
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   322
  | |  summary:     start on fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   323
  | |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   324
  o |  changeset:   4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   325
  |/   topic:       narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   326
  |    user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   327
  |    date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   328
  |    summary:     start on narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   329
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   330
  o  changeset:   3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   331
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   332
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   333
  |  summary:     Add file delta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   334
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   335
  o  changeset:   2:15d1eb11d2fa
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   336
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   337
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   338
  |  summary:     Add file gamma
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   339
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   340
  o  changeset:   1:c692ea2c9224
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   341
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   342
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   343
  |  summary:     Add file beta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   344
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   345
  o  changeset:   0:c2b7d2f7d14b
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   346
     user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   347
     date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   348
     summary:     Add file alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   349
  
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   350
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   351
Exchanging of topics:
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   352
  $ cd ..
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   353
  $ hg init brain
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   354
  $ hg -R pinky push -r 4 brain
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   355
  pushing to brain
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   356
  searching for changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   357
  adding changesets
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   358
  adding manifests
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   359
  adding file changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   360
  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
   361
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   362
Export
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   363
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   364
  $ hg -R pinky export
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   365
  # HG changeset patch
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   366
  # User test
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   367
  # Date 0 0
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   368
  #      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
   369
  # Node ID 7c34953036d6a36eae468c550d0592b89ee8bffc
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   370
  # Parent  fb147b0b417c25ca15547cd945acf51cf8dcaf02
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   371
  # EXP-Topic narf
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   372
  narf!
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   373
  
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   374
  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
   375
  --- 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
   376
  +++ 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
   377
  @@ -1,2 +1,3 @@
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   378
   file alpha
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   379
   topic work
13fc93fb7fbe patch: add topic to exported patch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1864
diff changeset
   380
  +narf!!!
1867
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   381
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   382
Import
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   383
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   384
  $ 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
   385
  $ 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
   386
  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
   387
  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
   388
  $ 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
   389
  applying narf.diff
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   390
  $ hg -R pinky log -r .
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   391
  changeset:   6:7c34953036d6
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   392
  tag:         tip
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   393
  topic:       narf
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   394
  parent:      4:fb147b0b417c
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   395
  user:        test
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   396
  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
   397
  summary:     narf!
c9cacc62fa17 patch: import topic from patch header
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1866
diff changeset
   398
  
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   399
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
   400
draft, so we won't see that topic name anymore:
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   401
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   402
  $ hg log -R pinky -G
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   403
  @  changeset:   6:7c34953036d6
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   404
  |  tag:         tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   405
  |  topic:       narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   406
  |  parent:      4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   407
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   408
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   409
  |  summary:     narf!
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   410
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   411
  | o  changeset:   5:0469d521db49
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   412
  | |  topic:       fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   413
  | |  parent:      3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   414
  | |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   415
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   416
  | |  summary:     start on fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   417
  | |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   418
  o |  changeset:   4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   419
  |/   user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   420
  |    date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   421
  |    summary:     start on narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   422
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   423
  o  changeset:   3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   424
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   425
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   426
  |  summary:     Add file delta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   427
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   428
  o  changeset:   2:15d1eb11d2fa
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   429
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   430
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   431
  |  summary:     Add file gamma
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   432
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   433
  o  changeset:   1:c692ea2c9224
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   434
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   435
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   436
  |  summary:     Add file beta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   437
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   438
  o  changeset:   0:c2b7d2f7d14b
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   439
     user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   440
     date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   441
     summary:     Add file alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   442
  
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   443
  $ cd brain
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   444
  $ hg co tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   445
  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
   446
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   447
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
   448
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   449
  $ hg topic
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   450
  $ echo what >> alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   451
  $ 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
   452
  marked working directory as topic: query
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   453
  $ 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
   454
  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
   455
  (see 'hg help topics' for more information)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   456
  $ hg log -Gl2
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   457
  @  changeset:   5:c01515cfc331
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   458
  |  tag:         tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   459
  |  topic:       query
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   460
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   461
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   462
  |  summary:     what is narf, pinky?
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   463
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   464
  o  changeset:   4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   465
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   466
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   467
  |  summary:     start on narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   468
  |
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
   469
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   470
  $ hg push -f ../pinky -r query
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   471
  pushing to ../pinky
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   472
  searching for changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   473
  adding changesets
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   474
  adding manifests
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   475
  adding file changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   476
  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
   477
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   478
  $ hg -R ../pinky log -Gl 4
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   479
  o  changeset:   7:c01515cfc331
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   480
  |  tag:         tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   481
  |  topic:       query
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   482
  |  parent:      4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   483
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   484
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   485
  |  summary:     what is narf, pinky?
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   486
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   487
  | @  changeset:   6:7c34953036d6
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   488
  |/   topic:       narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   489
  |    parent:      4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   490
  |    user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   491
  |    date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   492
  |    summary:     narf!
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   493
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   494
  | o  changeset:   5:0469d521db49
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   495
  | |  topic:       fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   496
  | |  parent:      3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   497
  | |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   498
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   499
  | |  summary:     start on fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   500
  | |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   501
  o |  changeset:   4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   502
  |/   user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   503
  |    date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   504
  |    summary:     start on narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   505
  |
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
   506
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   507
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   508
   * query (1 changesets)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   509
  $ cd ../pinky
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   510
  $ hg co query
1853
8db7828751b7 topic: wrap the underlying update function rather than the command
Matt Mackall <mpm@selenic.com>
parents: 1852
diff changeset
   511
  switching to topic query
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   512
  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
   513
  $ echo answer >> alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   514
  $ hg ci -m 'Narf is like `zort` or `poit`!'
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   515
  $ hg merge narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   516
  merging alpha
1868
5cdd5e0a421c test: adapt to newer mercurial
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1867
diff changeset
   517
  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
   518
  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
   519
  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
   520
  [1]
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   521
  $ hg revert -r narf alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   522
  $ hg resolve -m alpha
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   523
  (no more unresolved files)
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   524
  $ hg topic narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   525
  $ hg ci -m 'Finish narf'
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   526
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   527
     fran  (1 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   528
   * narf  (2 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   529
     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
   530
  $ 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
   531
  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
   532
  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
   533
  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
   534
  default:query
1857
a506ed8ab8da topics: add listnames hook so completion works
Matt Mackall <mpm@selenic.com>
parents: 1853
diff changeset
   535
  fran
a506ed8ab8da topics: add listnames hook so completion works
Matt Mackall <mpm@selenic.com>
parents: 1853
diff changeset
   536
  narf
a506ed8ab8da topics: add listnames hook so completion works
Matt Mackall <mpm@selenic.com>
parents: 1853
diff changeset
   537
  query
a506ed8ab8da topics: add listnames hook so completion works
Matt Mackall <mpm@selenic.com>
parents: 1853
diff changeset
   538
  tip
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   539
  $ hg phase --public narf
2986
4746b92cc1f8 topics/ui: signal when an operation entails voiding a topic
Aurélien Campéas
parents: 2985
diff changeset
   540
  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
   541
  (use 'hg topic --clear' to clear it if needed)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   542
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   543
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
   544
narf commits public:
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   545
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   546
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   547
     fran (1 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   548
   * narf (0 changesets)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   549
  $ hg log -Gl 6
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   550
  @    changeset:   9:ae074045b7a7
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   551
  |\   tag:         tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   552
  | |  parent:      8:54c943c1c167
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   553
  | |  parent:      6:7c34953036d6
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   554
  | |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   555
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   556
  | |  summary:     Finish narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   557
  | |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   558
  | o  changeset:   8:54c943c1c167
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   559
  | |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   560
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   561
  | |  summary:     Narf is like `zort` or `poit`!
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   562
  | |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   563
  | o  changeset:   7:c01515cfc331
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   564
  | |  parent:      4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   565
  | |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   566
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   567
  | |  summary:     what is narf, pinky?
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   568
  | |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   569
  o |  changeset:   6:7c34953036d6
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   570
  |/   parent:      4:fb147b0b417c
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   571
  |    user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   572
  |    date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   573
  |    summary:     narf!
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   574
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   575
  | o  changeset:   5:0469d521db49
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   576
  | |  topic:       fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   577
  | |  parent:      3:a53952faf762
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:     start on fran
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:   4:fb147b0b417c
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:     start on narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   586
  |
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
   587
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   588
  $ cd ../brain
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   589
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   590
   * query (1 changesets)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   591
  $ hg pull ../pinky -r narf
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   592
  pulling from ../pinky
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   593
  abort: unknown revision 'narf'!
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   594
  [255]
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   595
  $ hg pull ../pinky -r default
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   596
  pulling from ../pinky
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   597
  searching for changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   598
  adding changesets
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   599
  adding manifests
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   600
  adding file changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   601
  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
   602
  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
   603
  1 local changesets published
2986
4746b92cc1f8 topics/ui: signal when an operation entails voiding a topic
Aurélien Campéas
parents: 2985
diff changeset
   604
  active topic 'query' is now empty
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   605
  (run 'hg update' to get a working copy)
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   606
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   607
   * query (0 changesets)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   608
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   609
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
   610
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   611
  $ hg pull ../pinky
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   612
  pulling from ../pinky
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   613
  searching for changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   614
  adding changesets
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   615
  adding manifests
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   616
  adding file changes
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   617
  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
   618
  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
   619
  (run 'hg heads' to see heads)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   620
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   621
     fran  (1 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   622
   * query (0 changesets)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   623
  $ hg log -Gr 'draft()'
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   624
  o  changeset:   9:0469d521db49
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   625
  |  tag:         tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   626
  |  topic:       fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   627
  |  parent:      3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   628
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   629
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   630
  |  summary:     start on fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   631
  |
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
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
   634
disappear:
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   635
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   636
  $ 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
   637
  clearing empty topic "query"
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   638
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   639
     fran (1 changesets)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   640
1843
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   641
Topic revset
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   642
  $ hg log -r 'topic()' -G
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   643
  o  changeset:   9:0469d521db49
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   644
  |  tag:         tip
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   645
  |  topic:       fran
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   646
  |  parent:      3:a53952faf762
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   647
  |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   648
  |  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
   649
  |  summary:     start on fran
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   650
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   651
  $ hg log -r 'not topic()' -G
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   652
  o    changeset:   8:ae074045b7a7
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   653
  |\   parent:      7:54c943c1c167
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   654
  | |  parent:      6:7c34953036d6
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   655
  | |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   656
  | |  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
   657
  | |  summary:     Finish narf
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   658
  | |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   659
  | o  changeset:   7:54c943c1c167
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   660
  | |  parent:      5:c01515cfc331
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   661
  | |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   662
  | |  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
   663
  | |  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
   664
  | |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   665
  o |  changeset:   6:7c34953036d6
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   666
  | |  parent:      4:fb147b0b417c
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   667
  | |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   668
  | |  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
   669
  | |  summary:     narf!
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   670
  | |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   671
  | @  changeset:   5:c01515cfc331
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   672
  |/   user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   673
  |    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
   674
  |    summary:     what is narf, pinky?
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   675
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   676
  o  changeset:   4:fb147b0b417c
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   677
  |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   678
  |  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
   679
  |  summary:     start on narf
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   680
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   681
  o  changeset:   3:a53952faf762
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   682
  |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   683
  |  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
   684
  |  summary:     Add file delta
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   685
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   686
  o  changeset:   2:15d1eb11d2fa
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   687
  |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   688
  |  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
   689
  |  summary:     Add file gamma
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   690
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   691
  o  changeset:   1:c692ea2c9224
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   692
  |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   693
  |  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
   694
  |  summary:     Add file beta
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   695
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   696
  o  changeset:   0:c2b7d2f7d14b
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   697
     user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   698
     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
   699
     summary:     Add file alpha
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   700
  
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   701
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
   702
  $ 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
   703
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
   704
  $ 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
   705
  o  changeset:   9:0469d521db49
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   706
  |  tag:         tip
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   707
  |  topic:       fran
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   708
  |  parent:      3:a53952faf762
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   709
  |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   710
  |  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
   711
  |  summary:     start on fran
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   712
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   713
Exact match on fran:
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   714
  $ hg log -r 'topic(fran)' -G
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   715
  o  changeset:   9:0469d521db49
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   716
  |  tag:         tip
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   717
  |  topic:       fran
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   718
  |  parent:      3:a53952faf762
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   719
  |  user:        test
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   720
  |  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
   721
  |  summary:     start on fran
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   722
  |
0ba067a97d06 revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com>
parents: 1839
diff changeset
   723
1864
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   724
Match current topic:
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   725
  $ hg topic
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   726
     fran (1 changesets)
1864
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   727
  $ hg log -r 'topic(.)'
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   728
(no output is expected)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   729
  $ hg co fran
1853
8db7828751b7 topic: wrap the underlying update function rather than the command
Matt Mackall <mpm@selenic.com>
parents: 1852
diff changeset
   730
  switching to topic fran
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   731
  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
   732
  $ hg log -r 'topic(.)'
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   733
  changeset:   9:0469d521db49
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   734
  tag:         tip
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   735
  topic:       fran
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   736
  parent:      3:a53952faf762
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   737
  user:        test
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   738
  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
   739
  summary:     start on fran
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   740
  
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   741
4060
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   742
Using revsets in topic()
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   743
  $ tlog() {
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   744
  >   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
   745
  > }
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   746
4061
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   747
  $ tlog 'topic(9)'
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   748
  9: fran
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   749
  $ tlog 'topic(8)'
4060
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   750
  $ tlog 'topic(head())'
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   751
  9: fran
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   752
  $ tlog 'topic(:)'
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   753
  9: fran
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   754
  $ tlog 'topic(all())'
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   755
  9: fran
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   756
  $ tlog 'topic(topic(fran))'
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   757
  9: fran
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   758
  $ tlog 'topic(wdir())'
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   759
  9: fran
4061
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   760
  $ tlog 'topic(nonsense)'
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   761
  abort: unknown revision 'nonsense'!
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   762
  [255]
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   763
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   764
Pattern matching in topic() revset
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   765
  $ tlog 'topic("re:nonsense")'
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   766
  $ tlog 'topic("literal:nonsense")'
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   767
  abort: topic 'nonsense' does not exist!
ad4194399b47 topic: handle ambiguous arguments to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 4060
diff changeset
   768
  [255]
4060
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   769
1864
70d1191fceed topic: allow use of topic(.) to match the p1 topic
Augie Fackler <raf@durin42.com>
parents: 1862
diff changeset
   770
Deactivate the topic.
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   771
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   772
   * fran (1 changesets)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   773
  $ hg topics --clear
4060
54eade86ac31 topic: handle revsets passed to topic() revset
Anton Shestakov <av6@dwimlabs.net>
parents: 3837
diff changeset
   774
  $ hg log -r 'topic(wdir())'
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   775
  $ echo fran? >> beta
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   776
  $ 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
   777
  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
   778
  (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
   779
  $ hg log -Gr 'draft()'
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   780
  @  changeset:   10:4073470c35e1
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   781
  |  tag:         tip
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   782
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   783
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   784
  |  summary:     fran?
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   785
  |
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   786
  o  changeset:   9:0469d521db49
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   787
  |  topic:       fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   788
  |  parent:      3:a53952faf762
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   789
  |  user:        test
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   790
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   791
  |  summary:     start on fran
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   792
  |
3037
5c8d5f980f49 tests: add a new test for testing changing or clearing topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3027
diff changeset
   793
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
   794
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   795
     fran (1 changesets)
2712
f19b314d8475 topics: add t0 and b0 to the stack
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2691
diff changeset
   796
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4062
diff changeset
   797
Testing for updating to s0
2712
f19b314d8475 topics: add t0 and b0 to the stack
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2691
diff changeset
   798
==========================
f19b314d8475 topics: add t0 and b0 to the stack
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2691
diff changeset
   799
3037
5c8d5f980f49 tests: add a new test for testing changing or clearing topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3027
diff changeset
   800
  $ hg up fran
5c8d5f980f49 tests: add a new test for testing changing or clearing topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3027
diff changeset
   801
  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
   802
  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
   803
  $ hg stack
3037
5c8d5f980f49 tests: add a new test for testing changing or clearing topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3027
diff changeset
   804
  ### topic: fran
3225
28fb347a5bf8 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com>
parents: 3085
diff changeset
   805
  ### 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
   806
  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
   807
  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
   808
4065
fbc51e98cf13 alias: allow reference through 's#'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4062
diff changeset
   809
  $ 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
   810
  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
   811
  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
   812
2712
f19b314d8475 topics: add t0 and b0 to the stack
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2691
diff changeset
   813
  $ hg topic
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
   814
   * fran (1 changesets)
2712
f19b314d8475 topics: add t0 and b0 to the stack
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2691
diff changeset
   815
  $ hg stack
3037
5c8d5f980f49 tests: add a new test for testing changing or clearing topics
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3027
diff changeset
   816
  ### topic: fran
3225
28fb347a5bf8 typos: fix typos in several locations
Kyle Lippincott <spectral@google.com>
parents: 3085
diff changeset
   817
  ### 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
   818
  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
   819
  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
   820
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
   821
  $ hg topics --age
4303
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
   822
   * 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
   823
2718
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   824
  $ cd ..
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   825
4339
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   826
Relation subscript in revsets
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   827
=============================
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   828
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   829
  $ 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
   830
  $ 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
   831
  $ cat > .hg/hgrc << EOF
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   832
  > [phases]
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   833
  > publish=false
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   834
  > EOF
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   835
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   836
  $ echo 0 > foo
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   837
  $ hg ci -qAm 0
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   838
  $ hg topic featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   839
  marked working directory as topic: featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   840
  $ echo 1 > foo
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   841
  $ hg ci -qm 1
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   842
  $ echo 2 > foo
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   843
  $ hg ci -qm 2
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   844
  $ echo 3 > foo
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   845
  $ hg ci -qm 3
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   846
  $ hg topic --clear
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   847
  $ echo 4 > foo
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   848
  $ hg ci -qm 4
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   849
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   850
  $ tlog 'all()'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   851
  0: 
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   852
  1: featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   853
  2: featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   854
  3: featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   855
  4: 
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   856
4339
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   857
topic subscript relation
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   858
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   859
  $ tlog 'featureA'
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   860
  3: featureA
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   861
  $ tlog 'featureA#topic[0]'
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   862
  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
   863
  $ 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
   864
  1: featureA
2893b127923b topic: make ranges work in revset relations like 'foo#topic[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4339
diff changeset
   865
  2: featureA
2893b127923b topic: make ranges work in revset relations like 'foo#topic[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4339
diff changeset
   866
  3: featureA
4339
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   867
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   868
  $ tlog '2#t[-2]'
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   869
  $ tlog '2#t[-1]'
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   870
  1: featureA
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   871
  $ tlog '2#t[0]'
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   872
  2: featureA
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   873
  $ tlog '2#t[1]'
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   874
  3: featureA
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   875
  $ 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
   876
  $ 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
   877
  1: featureA
2893b127923b topic: make ranges work in revset relations like 'foo#topic[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4339
diff changeset
   878
  2: featureA
2893b127923b topic: make ranges work in revset relations like 'foo#topic[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4339
diff changeset
   879
  3: featureA
4339
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   880
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   881
stack subscript relation
0f015fe4f71f topic: make revsets like 'foo#topic[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4323
diff changeset
   882
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   883
  $ hg stack
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   884
  ### target: default (branch)
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   885
  s2@ 4 (current)
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   886
    ^ 3
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   887
  s1: 0
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   888
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   889
  $ tlog 'tip#stack[0]'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   890
  $ tlog 'tip#stack[1]'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   891
  0: 
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   892
  $ tlog 'tip#stack[2]'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   893
  4: 
4323
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   894
  $ tlog 'tip#stack[-1]'
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   895
  4: 
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   896
  $ tlog 'tip#stack[-2]'
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   897
  0: 
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   898
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   899
  $ hg stack featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   900
  ### topic: featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   901
  ### target: default (branch), 3 behind
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   902
  s3: 3
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   903
  s2: 2
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   904
  s1: 1
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   905
  s0^ 0 (base)
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   906
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   907
  $ tlog 'featureA#s[0]'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   908
  0: 
4381
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   909
  $ 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
   910
  0: 
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   911
  $ 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
   912
  1: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   913
  2: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   914
  3: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   915
  $ 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
   916
  2: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   917
  3: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   918
  $ 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
   919
  1: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   920
  2: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   921
  $ 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
   922
  0: 
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   923
  1: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   924
  $ 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
   925
  0: 
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   926
  3: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   927
  $ 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
   928
  1: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   929
  2: featureA
5f1d0cff514d topic: make ranges work in revset relations like 'foo#stack[1:2]'
Anton Shestakov <av6@dwimlabs.net>
parents: 4379
diff changeset
   930
  3: featureA
4323
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   931
  $ 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
   932
  1: featureA
4323
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   933
  $ 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
   934
  2: featureA
4323
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   935
  $ 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
   936
  3: featureA
4323
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   937
  $ tlog 'featureA#s[-4]'
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   938
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   939
  $ tlog 'all()#s[-1]'
4323
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   940
  3: featureA
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   941
  4: 
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   942
  $ tlog 'all()#s[0]'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   943
  0: 
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   944
  $ tlog 'all()#s[1]'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   945
  0: 
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   946
  1: featureA
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   947
  $ tlog 'all()#s[9999]'
4323
482992803db6 topic: make revsets like foo#stack[-1] work too
Anton Shestakov <av6@dwimlabs.net>
parents: 4322
diff changeset
   948
  $ tlog 'all()#s[-9999]'
4322
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   949
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   950
  $ hg topic featureB
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   951
  marked working directory as topic: featureB
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   952
  $ hg stack
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   953
  ### topic: featureB
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   954
  ### target: default (branch)
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   955
  (stack is empty)
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   956
  s0^ 4 (base current)
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   957
  $ tlog 'wdir()#s[0]'
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   958
  4: 
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   959
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   960
  $ cd ..
41f38bf15b4c topic: make revsets like 'foo#stack[0]' work
Anton Shestakov <av6@dwimlabs.net>
parents: 4303
diff changeset
   961
2718
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   962
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
   963
======================================================
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   964
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   965
  $ hg init ponky
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   966
  $ cd ponky
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   967
  $ cat <<EOF >> .hg/hgrc
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   968
  > [phases]
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   969
  > publish=false
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   970
  > EOF
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   971
  $ cat <<EOF >> $HGRCPATH
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   972
  > [experimental]
3021
5f4c42d4f2e8 test: update tests to use topic-mode enforce
Boris Feld <boris.feld@octobus.net>
parents: 3013
diff changeset
   973
  > topic-mode = enforce
2718
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   974
  > EOF
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   975
  $ touch a b c d
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   976
  $ hg add a
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   977
  $ hg ci -m "Added a"
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   978
  abort: no active topic
3027
b220e2f5ebd5 topic: update the topic-mode hint
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3023
diff changeset
   979
  (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
   980
  [255]
2733
adfbb984ebbb topics: check for topic on commit before a user enters message
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2731
diff changeset
   981
adfbb984ebbb topics: check for topic on commit before a user enters message
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2731
diff changeset
   982
(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
   983
adfbb984ebbb topics: check for topic on commit before a user enters message
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2731
diff changeset
   984
  $ 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
   985
  abort: no active topic
3027
b220e2f5ebd5 topic: update the topic-mode hint
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3023
diff changeset
   986
  (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
   987
  [255]
3021
5f4c42d4f2e8 test: update tests to use topic-mode enforce
Boris Feld <boris.feld@octobus.net>
parents: 3013
diff changeset
   988
  $ 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
   989
  $ hg log
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   990
  changeset:   0:a154386e50d1
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   991
  tag:         tip
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   992
  user:        test
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   993
  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
   994
  summary:     added a
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
   995
  
3023
cc740c545776 topicmode: add new warning topicmode
Boris Feld <boris.feld@octobus.net>
parents: 3021
diff changeset
   996
2860
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
   997
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
   998
======================================
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
   999
2747
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1000
  $ 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
  1001
  switching to topic topic1970
4268
d5a2cc19903f topics: improve the message around topic changing
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 4208
diff changeset
  1002
  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
  1003
2747
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1004
  $ 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
  1005
  $ 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
  1006
  $ 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
  1007
  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
  1008
  (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
  1009
  $ 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
  1010
  $ 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
  1011
  $ 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
  1012
  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
  1013
  (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
  1014
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1015
  $ 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
  1016
  @  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
  1017
  |  tag:         tip
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1018
  |  topic:       topic2010
2993
725b660d9886 topics: show the user who last touched the topic in --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2988
diff changeset
  1019
  |  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
  1020
  |  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
  1021
  |  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
  1022
  |
2993
725b660d9886 topics: show the user who last touched the topic in --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2988
diff changeset
  1023
  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
  1024
  |  topic:       topic1990
2993
725b660d9886 topics: show the user who last touched the topic in --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2988
diff changeset
  1025
  |  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
  1026
  |  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
  1027
  |  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
  1028
  |
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1029
  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
  1030
     topic:       topic1970
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1031
     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
  1032
     user:        test
27ae7afd9a2a tests: add whitespaces in test-topic.t to make it more readable
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2834
diff changeset
  1033
     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
  1034
     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
  1035
  
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1036
  $ hg topics
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
  1037
     topic1970 (1 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
  1038
     topic1990 (1 changesets)
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3037
diff changeset
  1039
   * 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
  1040
2747
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1041
  $ hg topics --age
4303
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1042
   * topic2010 (2010-01-01 by bar, 1 changesets)
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1043
     topic1990 (1990-01-01 by foo, 1 changesets)
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1044
     topic1970 (1970-01-01 by test, 1 changesets)
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1045
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1046
  $ hg topics --age --verbose
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1047
   * 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
  1048
     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
  1049
     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
  1050
2747
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1051
  $ 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
  1052
  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
  1053
  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
  1054
2747
9fd6c8efda5b topics: add a test demonstarting sorting of topics by time using --age
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2733
diff changeset
  1055
  $ hg topics --age
4303
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1056
     topic2010 (2010-01-01 by bar, 1 changesets)
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1057
     topic1990 (1990-01-01 by foo, 1 changesets)
78700a59192a topic: merge _showlasttouched logic into _listtopics
Anton Shestakov <av6@dwimlabs.net>
parents: 4268
diff changeset
  1058
   * 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
  1059
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
  1060
  $ 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
  1061
  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
  1062
  [255]
2718
b6fa7b3e13d4 topics: add a config knob to forbid untopiced commit
Pulkit Goyal <7895pulkit@gmail.com>
parents: 2717
diff changeset
  1063
  $ cd ..