tests/test-obsolete.t
author Patrick Mezard <patrick@mezard.eu>
Mon, 30 Jul 2012 19:26:05 +0200
branchstable
changeset 17292 8da6fe276a23
parent 17252 16fad7323e56
child 17296 a1f8869f2eee
permissions -rw-r--r--
debugobsolete: do not traceback on invalid node identifiers
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
     1
  $ cat >> $HGRCPATH << EOF
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
     2
  > [extensions]
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
     3
  > graphlog=
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
     4
  > [phases]
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
     5
  > # public changeset are not obsolete
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
     6
  > publish=false
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
     7
  > EOF
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     8
  $ mkcommit() {
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
     9
  >    echo "$1" > "$1"
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    10
  >    hg add "$1"
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    11
  >    hg ci -m "add $1"
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    12
  > }
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    13
  $ getid() {
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    14
  >    hg id --debug -ir "desc('$1')"
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    15
  > }
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    16
17252
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
    17
  $ cat > debugkeys.py <<EOF
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
    18
  > def reposetup(ui, repo):
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
    19
  >     class debugkeysrepo(repo.__class__):
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
    20
  >         def listkeys(self, namespace):
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
    21
  >             ui.write('listkeys %s\n' % (namespace,))
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
    22
  >             return super(debugkeysrepo, self).listkeys(namespace)
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
    23
  > 
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
    24
  >     if repo.local():
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
    25
  >         repo.__class__ = debugkeysrepo
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
    26
  > EOF
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    27
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    28
  $ hg init tmpa
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    29
  $ cd tmpa
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    30
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    31
Killing a single changeset without replacement
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    32
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    33
  $ mkcommit kill_me
17292
8da6fe276a23 debugobsolete: do not traceback on invalid node identifiers
Patrick Mezard <patrick@mezard.eu>
parents: 17252
diff changeset
    34
  $ hg debugobsolete 0
8da6fe276a23 debugobsolete: do not traceback on invalid node identifiers
Patrick Mezard <patrick@mezard.eu>
parents: 17252
diff changeset
    35
  abort: changeset references must be full hexadecimal node identifiers
8da6fe276a23 debugobsolete: do not traceback on invalid node identifiers
Patrick Mezard <patrick@mezard.eu>
parents: 17252
diff changeset
    36
  [255]
8da6fe276a23 debugobsolete: do not traceback on invalid node identifiers
Patrick Mezard <patrick@mezard.eu>
parents: 17252
diff changeset
    37
  $ hg debugobsolete '00'
8da6fe276a23 debugobsolete: do not traceback on invalid node identifiers
Patrick Mezard <patrick@mezard.eu>
parents: 17252
diff changeset
    38
  abort: changeset references must be full hexadecimal node identifiers
8da6fe276a23 debugobsolete: do not traceback on invalid node identifiers
Patrick Mezard <patrick@mezard.eu>
parents: 17252
diff changeset
    39
  [255]
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    40
  $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
17074
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    41
  $ hg debugobsolete
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    42
  97b7c2d76b1845ed3eb988cd612611e72406cef0 0 {'date': '0 0', 'user': 'babar'}
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    43
  $ cd ..
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    44
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    45
Killing a single changeset with replacement
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    46
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    47
  $ hg init tmpb
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    48
  $ cd tmpb
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    49
  $ mkcommit a
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    50
  $ mkcommit b
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    51
  $ mkcommit original_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    52
  $ hg up "desc('b')"
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    53
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    54
  $ mkcommit new_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    55
  created new head
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    56
  $ hg debugobsolete `getid original_c`  `getid new_c` -d '56 12'
17074
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    57
  $ hg debugobsolete
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    58
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    59
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    60
do it again (it read the obsstore before adding new changeset)
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    61
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    62
  $ hg up '.^'
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    63
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    64
  $ mkcommit new_2_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    65
  created new head
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    66
  $ hg debugobsolete -d '1337 0' `getid new_c` `getid new_2_c`
17074
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    67
  $ hg debugobsolete
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    68
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    69
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    70
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    71
Register two markers with a missing node
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    72
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    73
  $ hg up '.^'
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    74
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    75
  $ mkcommit new_3_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    76
  created new head
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    77
  $ hg debugobsolete -d '1338 0' `getid new_2_c` 1337133713371337133713371337133713371337
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    78
  $ hg debugobsolete -d '1339 0' 1337133713371337133713371337133713371337 `getid new_3_c`
17074
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    79
  $ hg debugobsolete
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    80
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    81
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    82
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    83
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
    84
17119
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
    85
Check that graphlog detect that a changeset is obsolete:
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
    86
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
    87
  $ hg glog
17119
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
    88
  @  changeset:   5:5601fb93a350
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
    89
  |  tag:         tip
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
    90
  |  parent:      1:7c3bad9141dc
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
    91
  |  user:        test
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
    92
  |  date:        Thu Jan 01 00:00:00 1970 +0000
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
    93
  |  summary:     add new_3_c
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
    94
  |
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
    95
  o  changeset:   1:7c3bad9141dc
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
    96
  |  user:        test
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
    97
  |  date:        Thu Jan 01 00:00:00 1970 +0000
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
    98
  |  summary:     add b
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
    99
  |
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   100
  o  changeset:   0:1f0dee641bb7
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   101
     user:        test
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   102
     date:        Thu Jan 01 00:00:00 1970 +0000
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   103
     summary:     add a
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   104
  
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   105
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   106
Check that public changeset are not accounted as obsolete:
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   107
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   108
  $ hg phase --public 2
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   109
  $ hg --config 'extensions.graphlog=' glog
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   110
  @  changeset:   5:5601fb93a350
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   111
  |  tag:         tip
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   112
  |  parent:      1:7c3bad9141dc
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   113
  |  user:        test
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   114
  |  date:        Thu Jan 01 00:00:00 1970 +0000
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   115
  |  summary:     add new_3_c
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   116
  |
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   117
  | o  changeset:   2:245bde4270cd
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   118
  |/   user:        test
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   119
  |    date:        Thu Jan 01 00:00:00 1970 +0000
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   120
  |    summary:     add original_c
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   121
  |
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   122
  o  changeset:   1:7c3bad9141dc
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   123
  |  user:        test
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   124
  |  date:        Thu Jan 01 00:00:00 1970 +0000
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   125
  |  summary:     add b
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   126
  |
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   127
  o  changeset:   0:1f0dee641bb7
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   128
     user:        test
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   129
     date:        Thu Jan 01 00:00:00 1970 +0000
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   130
     summary:     add a
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   131
  
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   132
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   133
  $ cd ..
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   134
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   135
Exchange Test
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   136
============================
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   137
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   138
Destination repo does not have any data
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   139
---------------------------------------
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   140
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   141
Try to pull markers
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   142
(extinct changeset are excluded but marker are pushed)
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   143
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   144
  $ hg init tmpc
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   145
  $ cd tmpc
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   146
  $ hg pull ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   147
  pulling from ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   148
  requesting all changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   149
  adding changesets
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   150
  adding manifests
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   151
  adding file changes
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   152
  added 4 changesets with 4 changes to 4 files (+1 heads)
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   153
  (run 'hg heads' to see heads, 'hg merge' to merge)
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   154
  $ hg debugobsolete
17126
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   155
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   156
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   157
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
17126
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   158
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   159
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   160
Rollback//Transaction support
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   161
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   162
  $ hg debugobsolete -d '1340 0' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   163
  $ hg debugobsolete
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   164
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   165
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
17126
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   166
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   167
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   168
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0 {'date': '1340 0', 'user': 'test'}
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   169
  $ hg rollback -n
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   170
  repository tip rolled back to revision 3 (undo debugobsolete)
17126
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   171
  $ hg rollback
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   172
  repository tip rolled back to revision 3 (undo debugobsolete)
17126
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   173
  $ hg debugobsolete
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   174
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
17126
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   175
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   176
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   177
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   178
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   179
  $ cd ..
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   180
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   181
Try to pull markers
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   182
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   183
  $ hg init tmpd
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   184
  $ hg -R tmpb push tmpd
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   185
  pushing to tmpd
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   186
  searching for changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   187
  adding changesets
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   188
  adding manifests
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   189
  adding file changes
17169
c18ecebed3f1 push: refuse to push obsolete changesets
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17126
diff changeset
   190
  added 4 changesets with 4 changes to 4 files (+1 heads)
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   191
  $ hg -R tmpd debugobsolete
17126
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   192
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   193
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
17126
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   194
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   195
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   196
17252
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   197
Check obsolete keys are exchanged only if source has an obsolete store
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   198
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   199
  $ hg init empty
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   200
  $ hg --config extensions.debugkeys=debugkeys.py -R empty push tmpd
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   201
  pushing to tmpd
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   202
  no changes found
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   203
  listkeys phases
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   204
  listkeys bookmarks
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   205
  [1]
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   206
17249
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   207
clone support
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   208
(markers are copied and extinct changesets are included to allow hardlinks)
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   209
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   210
  $ hg clone tmpb clone-dest
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   211
  updating to branch default
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   212
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   213
  $ hg -R clone-dest log -G --hidden
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   214
  @  changeset:   5:5601fb93a350
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   215
  |  tag:         tip
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   216
  |  parent:      1:7c3bad9141dc
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   217
  |  user:        test
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   218
  |  date:        Thu Jan 01 00:00:00 1970 +0000
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   219
  |  summary:     add new_3_c
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   220
  |
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   221
  | x  changeset:   4:ca819180edb9
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   222
  |/   parent:      1:7c3bad9141dc
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   223
  |    user:        test
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   224
  |    date:        Thu Jan 01 00:00:00 1970 +0000
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   225
  |    summary:     add new_2_c
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   226
  |
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   227
  | x  changeset:   3:cdbce2fbb163
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   228
  |/   parent:      1:7c3bad9141dc
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   229
  |    user:        test
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   230
  |    date:        Thu Jan 01 00:00:00 1970 +0000
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   231
  |    summary:     add new_c
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   232
  |
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   233
  | o  changeset:   2:245bde4270cd
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   234
  |/   user:        test
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   235
  |    date:        Thu Jan 01 00:00:00 1970 +0000
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   236
  |    summary:     add original_c
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   237
  |
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   238
  o  changeset:   1:7c3bad9141dc
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   239
  |  user:        test
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   240
  |  date:        Thu Jan 01 00:00:00 1970 +0000
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   241
  |  summary:     add b
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   242
  |
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   243
  o  changeset:   0:1f0dee641bb7
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   244
     user:        test
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   245
     date:        Thu Jan 01 00:00:00 1970 +0000
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   246
     summary:     add a
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   247
  
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   248
  $ hg -R clone-dest debugobsolete
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   249
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   250
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   251
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   252
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   253
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   254
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   255
Destination repo have existing data
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   256
---------------------------------------
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   257
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   258
On pull
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   259
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   260
  $ hg init tmpe
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   261
  $ cd tmpe
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   262
  $ hg debugobsolete -d '1339 0' 2448244824482448244824482448244824482448 1339133913391339133913391339133913391339
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   263
  $ hg pull ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   264
  pulling from ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   265
  requesting all changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   266
  adding changesets
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   267
  adding manifests
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   268
  adding file changes
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   269
  added 4 changesets with 4 changes to 4 files (+1 heads)
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   270
  (run 'hg heads' to see heads, 'hg merge' to merge)
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   271
  $ hg debugobsolete
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   272
  2448244824482448244824482448244824482448 1339133913391339133913391339133913391339 0 {'date': '1339 0', 'user': 'test'}
17126
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   273
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   274
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
17126
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   275
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   276
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   277
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   278
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   279
On push
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   280
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   281
  $ hg push ../tmpc
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   282
  pushing to ../tmpc
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   283
  searching for changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   284
  no changes found
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   285
  [1]
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   286
  $ hg -R ../tmpc debugobsolete
17126
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   287
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   288
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
17126
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   289
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   290
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   291
  2448244824482448244824482448244824482448 1339133913391339133913391339133913391339 0 {'date': '1339 0', 'user': 'test'}
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   292
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   293
detect outgoing obsolete and unstable
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   294
---------------------------------------
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   295
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   296
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   297
  $ hg glog
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   298
  o  changeset:   3:5601fb93a350
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   299
  |  tag:         tip
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   300
  |  parent:      1:7c3bad9141dc
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   301
  |  user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   302
  |  date:        Thu Jan 01 00:00:00 1970 +0000
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   303
  |  summary:     add new_3_c
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   304
  |
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   305
  | o  changeset:   2:245bde4270cd
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   306
  |/   user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   307
  |    date:        Thu Jan 01 00:00:00 1970 +0000
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   308
  |    summary:     add original_c
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   309
  |
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   310
  o  changeset:   1:7c3bad9141dc
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   311
  |  user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   312
  |  date:        Thu Jan 01 00:00:00 1970 +0000
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   313
  |  summary:     add b
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   314
  |
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   315
  o  changeset:   0:1f0dee641bb7
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   316
     user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   317
     date:        Thu Jan 01 00:00:00 1970 +0000
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   318
     summary:     add a
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   319
  
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   320
  $ hg up 'desc("new_3_c")'
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   321
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   322
  $ mkcommit original_d
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   323
  $ mkcommit original_e
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   324
  $ hg debugobsolete `getid original_d` -d '0 0'
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   325
  $ hg log -r 'obsolete()'
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   326
  changeset:   4:7c694bff0650
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   327
  user:        test
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   328
  date:        Thu Jan 01 00:00:00 1970 +0000
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   329
  summary:     add original_d
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   330
  
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   331
  $ hg glog -r '::unstable()'
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   332
  @  changeset:   5:6e572121998e
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   333
  |  tag:         tip
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   334
  |  user:        test
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   335
  |  date:        Thu Jan 01 00:00:00 1970 +0000
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   336
  |  summary:     add original_e
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   337
  |
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   338
  x  changeset:   4:7c694bff0650
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   339
  |  user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   340
  |  date:        Thu Jan 01 00:00:00 1970 +0000
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   341
  |  summary:     add original_d
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   342
  |
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   343
  o  changeset:   3:5601fb93a350
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   344
  |  parent:      1:7c3bad9141dc
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   345
  |  user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   346
  |  date:        Thu Jan 01 00:00:00 1970 +0000
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   347
  |  summary:     add new_3_c
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   348
  |
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   349
  o  changeset:   1:7c3bad9141dc
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   350
  |  user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   351
  |  date:        Thu Jan 01 00:00:00 1970 +0000
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   352
  |  summary:     add b
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   353
  |
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   354
  o  changeset:   0:1f0dee641bb7
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   355
     user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   356
     date:        Thu Jan 01 00:00:00 1970 +0000
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   357
     summary:     add a
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   358
  
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   359
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   360
refuse to push obsolete changeset
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   361
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   362
  $ hg push ../tmpc/ -r 'desc("original_d")'
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   363
  pushing to ../tmpc/
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   364
  searching for changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   365
  abort: push includes an obsolete changeset: 7c694bff0650!
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   366
  [255]
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   367
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   368
refuse to push unstable changeset
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   369
17172
12fdaa30063a push: refuse to push unstable changesets without force
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17171
diff changeset
   370
  $ hg push ../tmpc/
12fdaa30063a push: refuse to push unstable changesets without force
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17171
diff changeset
   371
  pushing to ../tmpc/
12fdaa30063a push: refuse to push unstable changesets without force
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17171
diff changeset
   372
  searching for changes
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   373
  abort: push includes an unstable changeset: 6e572121998e!
17172
12fdaa30063a push: refuse to push unstable changesets without force
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17171
diff changeset
   374
  [255]
17173
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   375
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   376
Test that extinct changeset are properly detected
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   377
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   378
  $ hg log -r 'extinct()'
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   379
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   380
Don't try to push extinct changeset
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   381
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   382
  $ hg init ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   383
  $ hg out  ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   384
  comparing with ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   385
  searching for changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   386
  changeset:   0:1f0dee641bb7
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   387
  user:        test
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   388
  date:        Thu Jan 01 00:00:00 1970 +0000
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   389
  summary:     add a
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   390
  
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   391
  changeset:   1:7c3bad9141dc
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   392
  user:        test
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   393
  date:        Thu Jan 01 00:00:00 1970 +0000
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   394
  summary:     add b
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   395
  
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   396
  changeset:   2:245bde4270cd
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   397
  user:        test
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   398
  date:        Thu Jan 01 00:00:00 1970 +0000
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   399
  summary:     add original_c
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   400
  
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   401
  changeset:   3:5601fb93a350
17173
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   402
  parent:      1:7c3bad9141dc
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   403
  user:        test
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   404
  date:        Thu Jan 01 00:00:00 1970 +0000
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   405
  summary:     add new_3_c
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   406
  
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   407
  changeset:   4:7c694bff0650
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   408
  user:        test
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   409
  date:        Thu Jan 01 00:00:00 1970 +0000
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   410
  summary:     add original_d
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   411
  
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   412
  changeset:   5:6e572121998e
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   413
  tag:         tip
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   414
  user:        test
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   415
  date:        Thu Jan 01 00:00:00 1970 +0000
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   416
  summary:     add original_e
17173
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   417
  
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   418
  $ hg push ../tmpf -f # -f because be push unstable too
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   419
  pushing to ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   420
  searching for changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   421
  adding changesets
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   422
  adding manifests
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   423
  adding file changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   424
  added 6 changesets with 6 changes to 6 files (+1 heads)
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   425
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   426
no warning displayed
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   427
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   428
  $ hg push ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   429
  pushing to ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   430
  searching for changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   431
  no changes found
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   432
  [1]
17214
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   433
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   434
Do not warn about new head when the new head is a successors of a remote one
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   435
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   436
  $ hg glog
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   437
  @  changeset:   5:6e572121998e
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   438
  |  tag:         tip
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   439
  |  user:        test
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   440
  |  date:        Thu Jan 01 00:00:00 1970 +0000
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   441
  |  summary:     add original_e
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   442
  |
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   443
  x  changeset:   4:7c694bff0650
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   444
  |  user:        test
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   445
  |  date:        Thu Jan 01 00:00:00 1970 +0000
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   446
  |  summary:     add original_d
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   447
  |
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   448
  o  changeset:   3:5601fb93a350
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   449
  |  parent:      1:7c3bad9141dc
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   450
  |  user:        test
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   451
  |  date:        Thu Jan 01 00:00:00 1970 +0000
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   452
  |  summary:     add new_3_c
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   453
  |
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   454
  | o  changeset:   2:245bde4270cd
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   455
  |/   user:        test
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   456
  |    date:        Thu Jan 01 00:00:00 1970 +0000
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   457
  |    summary:     add original_c
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   458
  |
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   459
  o  changeset:   1:7c3bad9141dc
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   460
  |  user:        test
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   461
  |  date:        Thu Jan 01 00:00:00 1970 +0000
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   462
  |  summary:     add b
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   463
  |
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   464
  o  changeset:   0:1f0dee641bb7
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   465
     user:        test
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   466
     date:        Thu Jan 01 00:00:00 1970 +0000
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   467
     summary:     add a
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   468
  
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   469
  $ hg up -q 'desc(new_3_c)'
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   470
  $ mkcommit obsolete_e
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   471
  created new head
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   472
  $ hg debugobsolete `getid 'original_e'` `getid 'obsolete_e'`
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   473
  $ hg push ../tmpf
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   474
  pushing to ../tmpf
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   475
  searching for changes
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   476
  adding changesets
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   477
  adding manifests
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   478
  adding file changes
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   479
  added 1 changesets with 1 changes to 1 files (+1 heads)