tests/test-topic-server.t
author Martin von Zweigbergk <martinvonz@google.com>
Mon, 09 Dec 2019 11:09:11 -0800
changeset 5343 ebfd0d875600
parent 5150 e0c091b199bc
child 5162 a7fb433faab6
permissions -rw-r--r--
evolve: handle relocation during divergence resolution producing no changes When resolving divergence and the two divergent commits have different parents, we start by rebasing one of them to have the same parent as the other. That step can result in no changes to commit. When it does, we would crash with a TypeError before this patch. This patch fixes it by instead creating an empty commit in that scenario. The existing code then continues to attempt to merge it, which produces no changes, and no commit is created on top. The other side of the divergence is marked as successor as usual, so orphans from the side that became empty will be evolved to the right place (see test).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5139
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     1
  $ . "$TESTDIR/testlib/topic_setup.sh"
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     2
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     3
  $ cat << EOF >> $HGRCPATH
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     4
  > [experimental]
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     5
  > evolution = all
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     6
  > topic.publish-bare-branch = yes
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     7
  > topic.server-gate-topic-changesets = yes
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     8
  > 
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     9
  > [extensions]
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    10
  > evolve =
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    11
  > 
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    12
  > [phases]
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    13
  > publish = no
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    14
  > 
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    15
  > [ui]
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    16
  > ssh = "$PYTHON" "$RUNTESTDIR/dummyssh"
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    17
  > EOF
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    18
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    19
  $ hg init server
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    20
  $ cd server
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    21
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    22
  $ echo a > a
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    23
  $ hg commit -qAm root
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    24
  $ hg phase --public -r 'all()'
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    25
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    26
  $ cd ..
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    27
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    28
  $ hg clone ssh://user@dummy/server client-topic1
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    29
  requesting all changes
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    30
  adding changesets
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    31
  adding manifests
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    32
  adding file changes
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    33
  added 1 changesets with 1 changes to 1 files
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    34
  new changesets 6569b5a81c7e
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    35
  updating to branch default
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    36
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    37
  $ hg clone ssh://user@dummy/server client-topic2
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    38
  requesting all changes
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    39
  adding changesets
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    40
  adding manifests
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    41
  adding file changes
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    42
  added 1 changesets with 1 changes to 1 files
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    43
  new changesets 6569b5a81c7e
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    44
  updating to branch default
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    45
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    46
  $ hg version -v -R client-topic1
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    47
  warning: --repository ignored
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    48
  Mercurial Distributed SCM (*) (glob)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    49
  (see https://mercurial-scm.org for more information)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    50
  
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    51
  Copyright (C) 2005-* Matt Mackall and others (glob)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    52
  This is free software; see the source for copying conditions. There is NO
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    53
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    54
  
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    55
  Enabled extensions:
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    56
  
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    57
    rebase  internal  
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    58
    topic   external  * (glob)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    59
    evolve  external  * (glob)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    60
  $ hg clone ssh://user@dummy/server client-plain
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    61
  requesting all changes
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    62
  adding changesets
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    63
  adding manifests
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    64
  adding file changes
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    65
  added 1 changesets with 1 changes to 1 files
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    66
  new changesets 6569b5a81c7e
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    67
  updating to branch default
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    68
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    69
  $ cat << EOF >> client-plain/.hg/hgrc
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    70
  > [extensions]
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    71
  > topic = !
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    72
  > EOF
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    73
  $ hg version -v -R client-plain
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    74
  warning: --repository ignored
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    75
  Mercurial Distributed SCM (*) (glob)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    76
  (see https://mercurial-scm.org for more information)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    77
  
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    78
  Copyright (C) 2005-* Matt Mackall and others (glob)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    79
  This is free software; see the source for copying conditions. There is NO
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    80
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    81
  
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    82
  Enabled extensions:
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    83
  
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    84
    rebase  internal  
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    85
    evolve  external  * (glob)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    86
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    87
Make two commits, with and without a topic, and push them to the server
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    88
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    89
  $ cd client-topic1
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    90
  $ echo b > b
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    91
  $ hg topic some-work
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    92
  marked working directory as topic: some-work
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    93
  $ hg commit -Am 'adding b (topic)'
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    94
  adding b
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    95
  active topic 'some-work' grew its first changeset
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    96
  (see 'hg help topics' for more information)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    97
  $ hg up 0
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    98
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    99
  $ echo c > c
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   100
  $ hg commit -Am 'adding c (no topic)'
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   101
  adding c
5150
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   102
  $ hg up some-work
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   103
  switching to topic some-work
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   104
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   105
  $ hg topic --clear
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   106
  $ echo d > d
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   107
  $ hg commit -Am 'adding d (no topic)'
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   108
  adding d
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   109
  created new head
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   110
  (consider using topic for lightweight branches. See 'hg help topic')
5139
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   111
  $ hg log -r 'all() - 0'
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   112
  changeset:   1:2a2e8b3520f2
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   113
  topic:       some-work
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   114
  user:        test
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   115
  date:        Thu Jan 01 00:00:00 1970 +0000
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   116
  summary:     adding b (topic)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   117
  
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   118
  changeset:   2:b46feb4d24f9
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   119
  parent:      0:6569b5a81c7e
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   120
  user:        test
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   121
  date:        Thu Jan 01 00:00:00 1970 +0000
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   122
  summary:     adding c (no topic)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   123
  
5150
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   124
  changeset:   3:be22ca6e89ea
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   125
  tag:         tip
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   126
  parent:      1:2a2e8b3520f2
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   127
  user:        test
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   128
  date:        Thu Jan 01 00:00:00 1970 +0000
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   129
  summary:     adding d (no topic)
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   130
  
5139
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   131
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   132
(disable the bare publishing to put a bare draft on the server)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   133
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   134
  $ cat << EOF >> ../server/.hg/hgrc
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   135
  > [experimental]
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   136
  > topic.publish-bare-branch = no
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   137
  > EOF
5150
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   138
  $ hg push --force
5139
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   139
  pushing to ssh://user@dummy/server
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   140
  searching for changes
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   141
  remote: adding changesets
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   142
  remote: adding manifests
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   143
  remote: adding file changes
5150
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   144
  remote: added 3 changesets with 3 changes to 3 files (+1 heads)
5139
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   145
  $ cd ..
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   146
  $ hg --cwd server phase -r 'tip'
5150
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   147
  3: draft
5139
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   148
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   149
Clients with topic can exchange draft changesets both with and without a topic through the server
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   150
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   151
  $ hg --cwd client-topic2 pull
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   152
  pulling from ssh://user@dummy/server
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   153
  searching for changes
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   154
  adding changesets
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   155
  adding manifests
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   156
  adding file changes
5150
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   157
  added 3 changesets with 3 changes to 3 files (+1 heads)
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   158
  new changesets 2a2e8b3520f2:be22ca6e89ea (3 drafts)
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   159
  (run 'hg heads' to see heads, 'hg merge' to merge)
5139
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   160
  $ hg --cwd client-topic2 log -r 'all() - 0'
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   161
  changeset:   1:2a2e8b3520f2
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   162
  topic:       some-work
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   163
  user:        test
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   164
  date:        Thu Jan 01 00:00:00 1970 +0000
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   165
  summary:     adding b (topic)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   166
  
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   167
  changeset:   2:b46feb4d24f9
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   168
  parent:      0:6569b5a81c7e
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   169
  user:        test
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   170
  date:        Thu Jan 01 00:00:00 1970 +0000
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   171
  summary:     adding c (no topic)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   172
  
5150
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   173
  changeset:   3:be22ca6e89ea
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   174
  tag:         tip
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   175
  parent:      1:2a2e8b3520f2
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   176
  user:        test
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   177
  date:        Thu Jan 01 00:00:00 1970 +0000
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   178
  summary:     adding d (no topic)
e0c091b199bc topic: extend topic gating to descendant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5139
diff changeset
   179
  
5139
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   180
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   181
Client without topic only sees draft changesets if they don't have a topic
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   182
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   183
  $ hg --cwd client-plain pull
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   184
  pulling from ssh://user@dummy/server
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   185
  searching for changes
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   186
  adding changesets
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   187
  adding manifests
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   188
  adding file changes
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   189
  added 1 changesets with 1 changes to 1 files
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   190
  new changesets b46feb4d24f9 (1 drafts)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   191
  (run 'hg update' to get a working copy)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   192
  $ hg --cwd client-plain phase -r 'all() - 0'
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   193
  1: draft
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   194
  $ hg --cwd client-plain log -r 'all() - 0'
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   195
  changeset:   1:b46feb4d24f9
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   196
  tag:         tip
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   197
  user:        test
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   198
  date:        Thu Jan 01 00:00:00 1970 +0000
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   199
  summary:     adding c (no topic)
19b8ffd23795 topic: option to hide topic changesets to plain client
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   200