tests/test-obsolete-distributed.t
author Raphaël Gomès <rgomes@octobus.net>
Wed, 04 Mar 2020 15:12:08 +0100
changeset 44534 8a237131ff0f
parent 42893 34a46d48d24e
child 44545 bd7b2c8d06cc
permissions -rw-r--r--
rust-pathauditor: actually populate the `audited_dirs` cache I forgot this when rewriting this logic during the review process. Differential Revision: https://phab.mercurial-scm.org/D8212
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     1
=============================
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     2
Test distributed obsolescence
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     3
=============================
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     4
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     5
This file test various cases where data (changeset, phase, obsmarkers) is
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     6
added to the repository in a specific order. Usually, this order is unlikely
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     7
to happen in the local case but can easily happen in the distributed case.
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     8
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     9
  $ unset HGUSER
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    10
  $ unset EMAIL
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    11
  $ . $TESTDIR/testlib/obsmarker-common.sh
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    12
  $ cat >> $HGRCPATH << EOF
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
    13
  > [extensions]
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
    14
  > rebase =
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    15
  > [experimental]
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    16
  > evolution = all
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    17
  > [phases]
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    18
  > publish = False
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    19
  > [ui]
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
    20
  > logtemplate= {rev}:{node|short} {desc}{if(obsfate, " [{join(obsfate, "; ")}]")}\n
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    21
  > EOF
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    22
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    23
Check distributed chain building
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    24
================================
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    25
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    26
Test case where a changeset is marked as a successor of another local
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    27
changeset while the successor has already been obsoleted remotely.
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    28
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    29
The chain of evolution should seamlessly connect and all but the new version
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    30
(created remotely) should be seen as obsolete.
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    31
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    32
Initial setup
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    33
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    34
  $ mkdir distributed-chain-building
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    35
  $ cd distributed-chain-building
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    36
  $ hg init server
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    37
  $ cd server
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    38
  $ cat << EOF >> .hg/hgrc
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    39
  > [ui]
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    40
  > username = server
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    41
  > EOF
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    42
  $ mkcommit ROOT
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    43
  $ mkcommit c_A0
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    44
  $ hg up 'desc("ROOT")'
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    45
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    46
  $ mkcommit c_A1
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    47
  created new head
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    48
  $ hg up 'desc("ROOT")'
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    49
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    50
  $ mkcommit c_B0
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    51
  created new head
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    52
  $ hg debugobsolete `getid 'desc("c_A0")'` `getid 'desc("c_A1")'`
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42130
diff changeset
    53
  1 new obsolescence markers
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    54
  obsoleted 1 changesets
34850
62a4ccf9784a obsfate: filter out current user if not in verbose
Boris Feld <boris.feld@octobus.net>
parents: 34847
diff changeset
    55
  $ hg log -G --hidden -v
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    56
  @  3:e5d7dda7cd28 c_B0
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    57
  |
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    58
  | o  2:7f6b0a6f5c25 c_A1
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    59
  |/
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
    60
  | x  1:e1b46f0f979f c_A0 [rewritten as 2:7f6b0a6f5c25 by server (at 1970-01-01 00:00 +0000)]
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    61
  |/
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    62
  o  0:e82fb8d02bbf ROOT
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    63
  
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    64
  $ hg debugobsolete
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    65
  e1b46f0f979f52748347ff8729c59f2ef56e6fe2 7f6b0a6f5c25345a83870963efd827c1798a5959 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'server'}
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    66
  $ cd ..
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    67
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    68
duplicate the repo for the client:
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    69
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    70
  $ cp -R server client
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    71
  $ cat << EOF >> client/.hg/hgrc
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    72
  > [paths]
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    73
  > default = ../server/
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    74
  > [ui]
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    75
  > username = client
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    76
  > EOF
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    77
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    78
server side: create new revision on the server (obsoleting another one)
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    79
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    80
  $ cd server
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    81
  $ hg up 'desc("ROOT")'
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    82
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    83
  $ mkcommit c_B1
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    84
  created new head
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    85
  $ hg debugobsolete `getid 'desc("c_B0")'` `getid 'desc("c_B1")'`
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42130
diff changeset
    86
  1 new obsolescence markers
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    87
  obsoleted 1 changesets
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    88
  $ hg log -G
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    89
  @  4:391a2bf12b1b c_B1
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    90
  |
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    91
  | o  2:7f6b0a6f5c25 c_A1
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    92
  |/
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    93
  o  0:e82fb8d02bbf ROOT
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    94
  
34850
62a4ccf9784a obsfate: filter out current user if not in verbose
Boris Feld <boris.feld@octobus.net>
parents: 34847
diff changeset
    95
  $ hg log -G --hidden -v
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    96
  @  4:391a2bf12b1b c_B1
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    97
  |
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
    98
  | x  3:e5d7dda7cd28 c_B0 [rewritten as 4:391a2bf12b1b by server (at 1970-01-01 00:00 +0000)]
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    99
  |/
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   100
  | o  2:7f6b0a6f5c25 c_A1
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   101
  |/
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   102
  | x  1:e1b46f0f979f c_A0 [rewritten as 2:7f6b0a6f5c25 by server (at 1970-01-01 00:00 +0000)]
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   103
  |/
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   104
  o  0:e82fb8d02bbf ROOT
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   105
  
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   106
  $ hg debugobsolete
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   107
  e1b46f0f979f52748347ff8729c59f2ef56e6fe2 7f6b0a6f5c25345a83870963efd827c1798a5959 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'server'}
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   108
  e5d7dda7cd28e6b3f79437e5b8122a38ece0255c 391a2bf12b1b8b05a72400ae36b26d50a091dc22 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'server'}
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   109
  $ cd ..
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   110
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   111
client side: create a marker between two common changesets
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   112
(client is not aware of the server activity yet)
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   113
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   114
  $ cd client
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   115
  $ hg debugobsolete `getid 'desc("c_A1")'` `getid 'desc("c_B0")'`
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42130
diff changeset
   116
  1 new obsolescence markers
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   117
  obsoleted 1 changesets
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   118
  $ hg log -G
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   119
  @  3:e5d7dda7cd28 c_B0
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   120
  |
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   121
  o  0:e82fb8d02bbf ROOT
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   122
  
34850
62a4ccf9784a obsfate: filter out current user if not in verbose
Boris Feld <boris.feld@octobus.net>
parents: 34847
diff changeset
   123
  $ hg log -G --hidden -v
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   124
  @  3:e5d7dda7cd28 c_B0
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   125
  |
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   126
  | x  2:7f6b0a6f5c25 c_A1 [rewritten as 3:e5d7dda7cd28 by client (at 1970-01-01 00:00 +0000)]
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   127
  |/
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   128
  | x  1:e1b46f0f979f c_A0 [rewritten as 2:7f6b0a6f5c25 by server (at 1970-01-01 00:00 +0000)]
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   129
  |/
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   130
  o  0:e82fb8d02bbf ROOT
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   131
  
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   132
  $ hg debugobsolete
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   133
  e1b46f0f979f52748347ff8729c59f2ef56e6fe2 7f6b0a6f5c25345a83870963efd827c1798a5959 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'server'}
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   134
  7f6b0a6f5c25345a83870963efd827c1798a5959 e5d7dda7cd28e6b3f79437e5b8122a38ece0255c 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'client'}
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   135
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   136
client side: pull from the server
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   137
(the new successors should take over)
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   138
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   139
  $ hg up 'desc("ROOT")'
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   140
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   141
  $ hg pull
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34961
diff changeset
   142
  pulling from $TESTTMP/distributed-chain-building/server
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   143
  searching for changes
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   144
  adding changesets
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   145
  adding manifests
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   146
  adding file changes
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   147
  added 1 changesets with 1 changes to 1 files (+1 heads)
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   148
  1 new obsolescence markers
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   149
  obsoleted 1 changesets
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   150
  new changesets 391a2bf12b1b (1 drafts)
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   151
  (run 'hg heads' to see heads)
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   152
  $ hg log -G
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   153
  o  4:391a2bf12b1b c_B1
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   154
  |
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   155
  @  0:e82fb8d02bbf ROOT
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   156
  
34850
62a4ccf9784a obsfate: filter out current user if not in verbose
Boris Feld <boris.feld@octobus.net>
parents: 34847
diff changeset
   157
  $ hg log -G --hidden -v
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   158
  o  4:391a2bf12b1b c_B1
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   159
  |
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   160
  | x  3:e5d7dda7cd28 c_B0 [rewritten as 4:391a2bf12b1b by server (at 1970-01-01 00:00 +0000)]
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   161
  |/
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   162
  | x  2:7f6b0a6f5c25 c_A1 [rewritten as 3:e5d7dda7cd28 by client (at 1970-01-01 00:00 +0000)]
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   163
  |/
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   164
  | x  1:e1b46f0f979f c_A0 [rewritten as 2:7f6b0a6f5c25 by server (at 1970-01-01 00:00 +0000)]
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   165
  |/
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   166
  @  0:e82fb8d02bbf ROOT
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   167
  
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   168
  $ hg debugobsolete
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   169
  e1b46f0f979f52748347ff8729c59f2ef56e6fe2 7f6b0a6f5c25345a83870963efd827c1798a5959 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'server'}
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   170
  7f6b0a6f5c25345a83870963efd827c1798a5959 e5d7dda7cd28e6b3f79437e5b8122a38ece0255c 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'client'}
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   171
  e5d7dda7cd28e6b3f79437e5b8122a38ece0255c 391a2bf12b1b8b05a72400ae36b26d50a091dc22 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'server'}
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   172
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   173
server side: receive client push
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   174
(the other way around, pushing to the server, the obsolete changesets stay
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   175
obsolete on the server side but the marker is sent out.)
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   176
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   177
  $ hg rollback
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   178
  repository tip rolled back to revision 3 (undo pull)
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   179
  $ hg push -f
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34961
diff changeset
   180
  pushing to $TESTTMP/distributed-chain-building/server
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   181
  searching for changes
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   182
  adding changesets
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   183
  adding manifests
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   184
  adding file changes
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   185
  added 0 changesets with 0 changes to 1 files
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   186
  1 new obsolescence markers
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   187
  obsoleted 1 changesets
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   188
  $ hg -R ../server/ log -G
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   189
  @  4:391a2bf12b1b c_B1
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   190
  |
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   191
  o  0:e82fb8d02bbf ROOT
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   192
  
34850
62a4ccf9784a obsfate: filter out current user if not in verbose
Boris Feld <boris.feld@octobus.net>
parents: 34847
diff changeset
   193
  $ hg -R ../server/ log -G --hidden -v
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   194
  @  4:391a2bf12b1b c_B1
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   195
  |
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   196
  | x  3:e5d7dda7cd28 c_B0 [rewritten as 4:391a2bf12b1b by server (at 1970-01-01 00:00 +0000)]
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   197
  |/
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   198
  | x  2:7f6b0a6f5c25 c_A1 [rewritten as 3:e5d7dda7cd28 by client (at 1970-01-01 00:00 +0000)]
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   199
  |/
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   200
  | x  1:e1b46f0f979f c_A0 [rewritten as 2:7f6b0a6f5c25 by server (at 1970-01-01 00:00 +0000)]
34650
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   201
  |/
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   202
  o  0:e82fb8d02bbf ROOT
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   203
  
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   204
  $ hg debugobsolete
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   205
  e1b46f0f979f52748347ff8729c59f2ef56e6fe2 7f6b0a6f5c25345a83870963efd827c1798a5959 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'server'}
6c85f4e3d914 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
   206
  7f6b0a6f5c25345a83870963efd827c1798a5959 e5d7dda7cd28e6b3f79437e5b8122a38ece0255c 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'client'}
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   207
  $ cd ..
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   208
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   209
Check getting changesets after getting the markers
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   210
=================================================
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   211
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   212
This test case covers the scenario where commits are received -after- we
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   213
received some obsolescence markers turning them obsolete.
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   214
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   215
For example, we pull some successors from a repository (with associated
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   216
predecessors marker chain) and then later we pull some intermediate
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   217
precedessors changeset from another repository. Obsolescence markers must
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   218
apply to the intermediate changeset. They have to be obsolete (and hidden).
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   219
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   220
Avoiding pulling the changeset in the first place is a tricky decision because
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   221
there could be non-obsolete ancestors that need to be pulled, but the
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   222
discovery cannot currently find these (this is not the case in this tests). In
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   223
addition, we could also have to pull the changeset because they have children.
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   224
In this case, they would not be hidden (yet) because of the orphan descendant,
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   225
but they would still have to be obsolete. (This is not tested in this case
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   226
either).
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   227
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   228
  $ mkdir distributed-chain-building
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   229
  $ cd distributed-chain-building
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   230
  $ hg init server
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   231
  $ cd server
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   232
  $ cat << EOF >> .hg/hgrc
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   233
  > [ui]
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   234
  > username = server
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   235
  > EOF
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   236
  $ mkcommit ROOT
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   237
  $ cd ..
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   238
  $ hg clone server repo-Alice
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   239
  updating to branch default
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   240
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   241
  $ cat << EOF >> repo-Alice/.hg/hgrc
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   242
  > [ui]
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   243
  > username = alice
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   244
  > EOF
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   245
  $ hg clone server repo-Bob
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   246
  updating to branch default
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   247
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   248
  $ cat << EOF >> repo-Bob/.hg/hgrc
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   249
  > [ui]
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   250
  > username = bob
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   251
  > EOF
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   252
  $ hg clone server repo-Celeste
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   253
  updating to branch default
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   254
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   255
  $ cat << EOF >> repo-Celeste/.hg/hgrc
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   256
  > [ui]
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   257
  > username = celeste
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   258
  > EOF
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   259
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   260
Create some changesets locally
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   261
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   262
  $ cd repo-Alice
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   263
  $ mkcommit c_A0
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   264
  $ mkcommit c_B0
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   265
  $ cd ..
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   266
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   267
Bob pulls from Alice and rewrites them
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   268
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   269
  $ cd repo-Bob
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   270
  $ hg pull ../repo-Alice
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   271
  pulling from ../repo-Alice
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   272
  searching for changes
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   273
  adding changesets
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   274
  adding manifests
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   275
  adding file changes
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   276
  added 2 changesets with 2 changes to 2 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   277
  new changesets d33b0a3a6464:ef908e42ce65 (2 drafts)
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   278
  (run 'hg update' to get a working copy)
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   279
  $ hg up 'desc("c_A")'
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   280
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   281
  $ hg commit --amend -m 'c_A1'
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   282
  1 new orphan changesets
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   283
  $ hg rebase -r 'desc("c_B0")' -d . # no easy way to rewrite the message with the rebase
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   284
  rebasing 2:ef908e42ce65 "c_B0"
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   285
  $ hg up
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   286
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   287
  $ hg commit --amend -m 'c_B1'
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   288
  $ hg log -G
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   289
  @  5:956063ac4557 c_B1
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   290
  |
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   291
  o  3:5b5708a437f2 c_A1
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   292
  |
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   293
  o  0:e82fb8d02bbf ROOT
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   294
  
34850
62a4ccf9784a obsfate: filter out current user if not in verbose
Boris Feld <boris.feld@octobus.net>
parents: 34847
diff changeset
   295
  $ hg log -G --hidden -v
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   296
  @  5:956063ac4557 c_B1
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   297
  |
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   298
  | x  4:5ffb9e311b35 c_B0 [rewritten using amend as 5:956063ac4557 by bob (at 1970-01-01 00:00 +0000)]
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   299
  |/
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   300
  o  3:5b5708a437f2 c_A1
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   301
  |
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   302
  | x  2:ef908e42ce65 c_B0 [rewritten using rebase as 4:5ffb9e311b35 by bob (at 1970-01-01 00:00 +0000)]
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   303
  | |
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   304
  | x  1:d33b0a3a6464 c_A0 [rewritten using amend as 3:5b5708a437f2 by bob (at 1970-01-01 00:00 +0000)]
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   305
  |/
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   306
  o  0:e82fb8d02bbf ROOT
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   307
  
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   308
  $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   309
  d33b0a3a64647d79583526be8107802b1f9fedfa 5b5708a437f27665db42c5a261a539a1bcb2a8c2 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'bob'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   310
  ef908e42ce65ef57f970d799acaddde26f58a4cc 5ffb9e311b35f6ab6f76f667ca5d6e595645481b 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'bob'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   311
  5ffb9e311b35f6ab6f76f667ca5d6e595645481b 956063ac4557828781733b2d5677a351ce856f59 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'bob'}
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   312
  $ cd ..
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   313
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   314
Celeste pulls from Bob and rewrites them again
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   315
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   316
  $ cd repo-Celeste
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   317
  $ hg pull ../repo-Bob
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   318
  pulling from ../repo-Bob
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   319
  searching for changes
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   320
  adding changesets
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   321
  adding manifests
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   322
  adding file changes
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   323
  added 2 changesets with 2 changes to 2 files
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   324
  3 new obsolescence markers
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   325
  new changesets 5b5708a437f2:956063ac4557 (2 drafts)
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   326
  (run 'hg update' to get a working copy)
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   327
  $ hg up 'desc("c_A")'
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   328
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   329
  $ hg commit --amend -m 'c_A2'
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   330
  1 new orphan changesets
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   331
  $ hg rebase -r 'desc("c_B1")' -d . # no easy way to rewrite the message with the rebase
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   332
  rebasing 2:956063ac4557 "c_B1"
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   333
  $ hg up
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   334
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   335
  $ hg commit --amend -m 'c_B2'
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   336
  $ hg log -G
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   337
  @  5:77ae25d99ff0 c_B2
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   338
  |
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   339
  o  3:9866d64649a5 c_A2
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   340
  |
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   341
  o  0:e82fb8d02bbf ROOT
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   342
  
34850
62a4ccf9784a obsfate: filter out current user if not in verbose
Boris Feld <boris.feld@octobus.net>
parents: 34847
diff changeset
   343
  $ hg log -G --hidden -v
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   344
  @  5:77ae25d99ff0 c_B2
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   345
  |
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   346
  | x  4:3cf8de21cc22 c_B1 [rewritten using amend as 5:77ae25d99ff0 by celeste (at 1970-01-01 00:00 +0000)]
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   347
  |/
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   348
  o  3:9866d64649a5 c_A2
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   349
  |
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   350
  | x  2:956063ac4557 c_B1 [rewritten using rebase as 4:3cf8de21cc22 by celeste (at 1970-01-01 00:00 +0000)]
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   351
  | |
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   352
  | x  1:5b5708a437f2 c_A1 [rewritten using amend as 3:9866d64649a5 by celeste (at 1970-01-01 00:00 +0000)]
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   353
  |/
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   354
  o  0:e82fb8d02bbf ROOT
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   355
  
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   356
  $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   357
  5ffb9e311b35f6ab6f76f667ca5d6e595645481b 956063ac4557828781733b2d5677a351ce856f59 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'bob'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   358
  d33b0a3a64647d79583526be8107802b1f9fedfa 5b5708a437f27665db42c5a261a539a1bcb2a8c2 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'bob'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   359
  ef908e42ce65ef57f970d799acaddde26f58a4cc 5ffb9e311b35f6ab6f76f667ca5d6e595645481b 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'bob'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   360
  5b5708a437f27665db42c5a261a539a1bcb2a8c2 9866d64649a5d9c5991fe119c7b2c33898114e10 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'celeste'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   361
  956063ac4557828781733b2d5677a351ce856f59 3cf8de21cc2282186857d2266eb6b1f9cb85ecf3 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'celeste'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   362
  3cf8de21cc2282186857d2266eb6b1f9cb85ecf3 77ae25d99ff07889e181126b1171b94bec8e5227 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'celeste'}
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   363
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   364
Celeste now pushes to the server
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   365
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   366
(note: it would be enough to just have direct Celeste -> Alice exchange here.
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   367
However using a central server seems more common)
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   368
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   369
  $ hg push
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34961
diff changeset
   370
  pushing to $TESTTMP/distributed-chain-building/distributed-chain-building/server
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   371
  searching for changes
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   372
  adding changesets
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   373
  adding manifests
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   374
  adding file changes
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   375
  added 2 changesets with 2 changes to 2 files
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   376
  6 new obsolescence markers
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   377
  $ cd ..
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   378
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   379
Now Alice pulls from the server, then from Bob
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   380
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   381
Alice first retrieves the new evolution of its changesets and associated markers
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   382
from the server (note: could be from Celeste directly)
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   383
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   384
  $ cd repo-Alice
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   385
  $ hg up 'desc(ROOT)'
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   386
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   387
  $ hg pull
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34961
diff changeset
   388
  pulling from $TESTTMP/distributed-chain-building/distributed-chain-building/server
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   389
  searching for changes
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   390
  adding changesets
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   391
  adding manifests
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   392
  adding file changes
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   393
  added 2 changesets with 0 changes to 2 files (+1 heads)
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   394
  6 new obsolescence markers
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   395
  obsoleted 2 changesets
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   396
  new changesets 9866d64649a5:77ae25d99ff0 (2 drafts)
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   397
  (run 'hg heads' to see heads)
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   398
  $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   399
  3cf8de21cc2282186857d2266eb6b1f9cb85ecf3 77ae25d99ff07889e181126b1171b94bec8e5227 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'celeste'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   400
  5b5708a437f27665db42c5a261a539a1bcb2a8c2 9866d64649a5d9c5991fe119c7b2c33898114e10 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'celeste'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   401
  5ffb9e311b35f6ab6f76f667ca5d6e595645481b 956063ac4557828781733b2d5677a351ce856f59 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'bob'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   402
  956063ac4557828781733b2d5677a351ce856f59 3cf8de21cc2282186857d2266eb6b1f9cb85ecf3 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'celeste'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   403
  d33b0a3a64647d79583526be8107802b1f9fedfa 5b5708a437f27665db42c5a261a539a1bcb2a8c2 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'bob'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   404
  ef908e42ce65ef57f970d799acaddde26f58a4cc 5ffb9e311b35f6ab6f76f667ca5d6e595645481b 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'bob'}
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   405
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   406
Then, she pulls from Bob, pulling predecessors of the changeset she has
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   407
already pulled. The changesets are not obsoleted in the Bob repo yet. Their
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   408
successors do not exist in Bob repository yet.
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   409
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   410
  $ hg pull ../repo-Bob
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   411
  pulling from ../repo-Bob
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   412
  searching for changes
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   413
  adding changesets
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   414
  adding manifests
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   415
  adding file changes
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   416
  added 2 changesets with 0 changes to 2 files (+1 heads)
39899
f9232b0310ef pullreport: issue a message about "extinct" pulled changesets
Boris Feld <boris.feld@octobus.net>
parents: 39897
diff changeset
   417
  (2 other changesets obsolete on arrival)
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   418
  (run 'hg heads' to see heads)
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   419
  $ hg log -G
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   420
  o  4:77ae25d99ff0 c_B2
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   421
  |
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   422
  o  3:9866d64649a5 c_A2
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   423
  |
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   424
  @  0:e82fb8d02bbf ROOT
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   425
  
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   426
  $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   427
  3cf8de21cc2282186857d2266eb6b1f9cb85ecf3 77ae25d99ff07889e181126b1171b94bec8e5227 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'celeste'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   428
  5b5708a437f27665db42c5a261a539a1bcb2a8c2 9866d64649a5d9c5991fe119c7b2c33898114e10 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'celeste'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   429
  5ffb9e311b35f6ab6f76f667ca5d6e595645481b 956063ac4557828781733b2d5677a351ce856f59 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'bob'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   430
  956063ac4557828781733b2d5677a351ce856f59 3cf8de21cc2282186857d2266eb6b1f9cb85ecf3 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'celeste'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   431
  d33b0a3a64647d79583526be8107802b1f9fedfa 5b5708a437f27665db42c5a261a539a1bcb2a8c2 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'bob'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   432
  ef908e42ce65ef57f970d799acaddde26f58a4cc 5ffb9e311b35f6ab6f76f667ca5d6e595645481b 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'bob'}
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   433
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   434
Same tests, but change coming from a bundle
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   435
(testing with a bundle is interesting because absolutely no discovery or
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   436
decision is made in that case, so receiving the changesets are not an option).
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   437
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   438
  $ hg rollback
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   439
  repository tip rolled back to revision 4 (undo pull)
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   440
  $ hg log -G
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   441
  o  4:77ae25d99ff0 c_B2
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   442
  |
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   443
  o  3:9866d64649a5 c_A2
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   444
  |
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   445
  @  0:e82fb8d02bbf ROOT
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   446
  
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   447
  $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   448
  3cf8de21cc2282186857d2266eb6b1f9cb85ecf3 77ae25d99ff07889e181126b1171b94bec8e5227 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'celeste'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   449
  5b5708a437f27665db42c5a261a539a1bcb2a8c2 9866d64649a5d9c5991fe119c7b2c33898114e10 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'celeste'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   450
  5ffb9e311b35f6ab6f76f667ca5d6e595645481b 956063ac4557828781733b2d5677a351ce856f59 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'bob'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   451
  956063ac4557828781733b2d5677a351ce856f59 3cf8de21cc2282186857d2266eb6b1f9cb85ecf3 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'celeste'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   452
  d33b0a3a64647d79583526be8107802b1f9fedfa 5b5708a437f27665db42c5a261a539a1bcb2a8c2 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'bob'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   453
  ef908e42ce65ef57f970d799acaddde26f58a4cc 5ffb9e311b35f6ab6f76f667ca5d6e595645481b 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'bob'}
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   454
  $ hg -R ../repo-Bob bundle ../step-1.hg
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   455
  searching for changes
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   456
  2 changesets found
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   457
  $ hg unbundle ../step-1.hg
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   458
  adding changesets
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   459
  adding manifests
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   460
  adding file changes
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   461
  added 2 changesets with 0 changes to 2 files (+1 heads)
39899
f9232b0310ef pullreport: issue a message about "extinct" pulled changesets
Boris Feld <boris.feld@octobus.net>
parents: 39897
diff changeset
   462
  (2 other changesets obsolete on arrival)
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   463
  (run 'hg heads' to see heads)
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   464
  $ hg log -G
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   465
  o  4:77ae25d99ff0 c_B2
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   466
  |
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   467
  o  3:9866d64649a5 c_A2
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   468
  |
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   469
  @  0:e82fb8d02bbf ROOT
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   470
  
34850
62a4ccf9784a obsfate: filter out current user if not in verbose
Boris Feld <boris.feld@octobus.net>
parents: 34847
diff changeset
   471
  $ hg log -G --hidden -v
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   472
  x  6:956063ac4557 c_B1 [rewritten using amend, rebase as 4:77ae25d99ff0 by celeste (at 1970-01-01 00:00 +0000)]
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   473
  |
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   474
  x  5:5b5708a437f2 c_A1 [rewritten using amend as 3:9866d64649a5 by celeste (at 1970-01-01 00:00 +0000)]
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   475
  |
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   476
  | o  4:77ae25d99ff0 c_B2
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   477
  | |
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   478
  | o  3:9866d64649a5 c_A2
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   479
  |/
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   480
  | x  2:ef908e42ce65 c_B0 [rewritten using amend, rebase as 6:956063ac4557 by bob (at 1970-01-01 00:00 +0000)]
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   481
  | |
34847
e27f1f04c2cf templatekw: introduce obsfate keyword
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   482
  | x  1:d33b0a3a6464 c_A0 [rewritten using amend as 5:5b5708a437f2 by bob (at 1970-01-01 00:00 +0000)]
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   483
  |/
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   484
  @  0:e82fb8d02bbf ROOT
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   485
  
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   486
  $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   487
  3cf8de21cc2282186857d2266eb6b1f9cb85ecf3 77ae25d99ff07889e181126b1171b94bec8e5227 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'celeste'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   488
  5b5708a437f27665db42c5a261a539a1bcb2a8c2 9866d64649a5d9c5991fe119c7b2c33898114e10 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'celeste'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   489
  5ffb9e311b35f6ab6f76f667ca5d6e595645481b 956063ac4557828781733b2d5677a351ce856f59 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'bob'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   490
  956063ac4557828781733b2d5677a351ce856f59 3cf8de21cc2282186857d2266eb6b1f9cb85ecf3 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'celeste'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   491
  d33b0a3a64647d79583526be8107802b1f9fedfa 5b5708a437f27665db42c5a261a539a1bcb2a8c2 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'bob'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34850
diff changeset
   492
  ef908e42ce65ef57f970d799acaddde26f58a4cc 5ffb9e311b35f6ab6f76f667ca5d6e595645481b 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'bob'}
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   493
42129
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   494
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   495
Same tests, but with --rev, this prevent regressing case where `hg pull --rev
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   496
X` has to process a X that is filtered locally.
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   497
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   498
  $ hg rollback
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   499
  repository tip rolled back to revision 4 (undo unbundle)
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   500
  $ hg pull ../repo-Bob --rev 956063ac4557
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   501
  pulling from ../repo-Bob
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   502
  searching for changes
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   503
  adding changesets
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   504
  adding manifests
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   505
  adding file changes
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   506
  added 2 changesets with 0 changes to 2 files (+1 heads)
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   507
  (2 other changesets obsolete on arrival)
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   508
  (run 'hg heads' to see heads)
232a33a11ce0 pull: deal with locally filtered changeset passed into --rev
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39899
diff changeset
   509
42130
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   510
With --update
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   511
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   512
  $ hg rollback
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   513
  repository tip rolled back to revision 4 (undo pull)
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   514
  $ hg pull ../repo-Bob --rev 956063ac4557 --update
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   515
  pulling from ../repo-Bob
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   516
  searching for changes
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   517
  adding changesets
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   518
  adding manifests
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   519
  adding file changes
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   520
  added 2 changesets with 0 changes to 2 files (+1 heads)
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   521
  (2 other changesets obsolete on arrival)
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   522
  abort: cannot update to target: filtered revision '6'!
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   523
  [255]
a362b0b95e42 pull: improved message issued in case of failed update
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42129
diff changeset
   524
34651
e88dbbcf2a56 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net>
parents: 34650
diff changeset
   525
  $ cd ..
39896
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   526
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   527
Test pull report consistency
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   528
============================
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   529
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   530
obsolete but visible should be reported
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   531
---------------------------------------
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   532
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   533
Setup
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   534
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   535
  $ hg init repo-a
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   536
  $ cat << EOF >> repo-a/.hg/hgrc
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   537
  > [ui]
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   538
  > username=test
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   539
  > EOF
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   540
  $ cd repo-a
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   541
  $ hg debugbuilddag ..
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   542
  $ hg debugobsolete `getid tip`
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42130
diff changeset
   543
  1 new obsolescence markers
39896
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   544
  obsoleted 1 changesets
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   545
  $ cd ../
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   546
  $ hg clone --pull repo-a repo-b
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   547
  requesting all changes
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   548
  adding changesets
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   549
  adding manifests
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   550
  adding file changes
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   551
  added 1 changesets with 0 changes to 0 files
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   552
  new changesets 1ea73414a91b (1 drafts)
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   553
  updating to branch default
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   554
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   555
  $ hg -R repo-a up tip --hidden
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   556
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   557
  updated to hidden changeset 66f7d451a68b
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   558
  (hidden revision '66f7d451a68b' is pruned)
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   559
  $ hg -R repo-a branch foo
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   560
  marked working directory as branch foo
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   561
  (branches are permanent and global, did you want a bookmark?)
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   562
  $ hg -R repo-a commit -m foo
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   563
  1 new orphan changesets
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   564
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   565
Actual test
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   566
(BROKEN)
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   567
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   568
  $ hg -R repo-b pull
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   569
  pulling from $TESTTMP/distributed-chain-building/distributed-chain-building/repo-a
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   570
  searching for changes
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   571
  adding changesets
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   572
  adding manifests
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   573
  adding file changes
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   574
  added 2 changesets with 0 changes to 0 files
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   575
  1 new obsolescence markers
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   576
  1 new orphan changesets
39897
a477679f6323 pullreport: skip filtered revs instead of obsolete ones
Boris Feld <boris.feld@octobus.net>
parents: 39896
diff changeset
   577
  new changesets 66f7d451a68b:95d586532b49 (2 drafts)
39896
642cbc228bad pullreport: add a test to show misreporting of visible changeset
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
   578
  (run 'hg update' to get a working copy)