tests/test-obsolete-distributed.t
author Matt Harbison <matt_harbison@yahoo.com>
Fri, 24 Jan 2020 01:37:18 -0500
branchstable
changeset 44153 e4344e463c0c
parent 42893 34a46d48d24e
child 44545 bd7b2c8d06cc
permissions -rw-r--r--
packaging: rename hgrc.d to defaultrc for Windows config files next to the exe The code and the help still says that it will read hgrc.d next to the executable. But this directory needs to exist to read the resource based config files. Otherwise even `hg version` errors out: $ /c/Program\ Files/Mercurial/hg.exe version Traceback (most recent call last): File "hg", line 43, in <module> File "mercurial\dispatch.pyc", line 110, in run File "mercurial\dispatch.pyc", line 226, in dispatch File "mercurial\ui.pyc", line 308, in load File "mercurial\rcutil.pyc", line 99, in rccomponents File "mercurial\rcutil.pyc", line 69, in default_rc_resources File "mercurial\utils\resourceutil.pyc", line 84, in contents WindowsError: [Error 3] The system cannot find the path specified: 'c:\\Program Files\\mercurial\\defaultrc\\*.*' Differential Revision: https://phab.mercurial-scm.org/D7981
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)