tests/test-obsolete.t
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Fri, 19 Oct 2012 00:41:53 +0200
changeset 17831 70b08df24fef
parent 17830 1cb51d65453d
child 17833 0c1185f6ddd7
permissions -rw-r--r--
obsolete: add a flag that allows fixing "bumped" changeset The first obsolescence flag is introduced to allows for fixing the "bumped" changeset situation. bumpedfix == 1. Creator of new changesets intended to fix "bumped" situation should not forget to add this flag to the marker. Otherwise the newly created changeset will be bumped too. See inlined documentation for details.
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
17296
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    30
  $ mkcommit kill_me
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    31
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    32
Checking that the feature is properly disabled
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    33
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    34
  $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    35
  abort: obsolete feature is not enabled on this repo
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    36
  [255]
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    37
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    38
Enabling it
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    39
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    40
  $ cat > ../obs.py << EOF
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    41
  > import mercurial.obsolete
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    42
  > mercurial.obsolete._enabled = True
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    43
  > EOF
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    44
  $ echo '[extensions]' >> $HGRCPATH
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17292
diff changeset
    45
  $ echo "obs=${TESTTMP}/obs.py" >> $HGRCPATH
17071
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
Killing a single changeset without replacement
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    48
17292
8da6fe276a23 debugobsolete: do not traceback on invalid node identifiers
Patrick Mezard <patrick@mezard.eu>
parents: 17252
diff changeset
    49
  $ hg debugobsolete 0
8da6fe276a23 debugobsolete: do not traceback on invalid node identifiers
Patrick Mezard <patrick@mezard.eu>
parents: 17252
diff changeset
    50
  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
    51
  [255]
8da6fe276a23 debugobsolete: do not traceback on invalid node identifiers
Patrick Mezard <patrick@mezard.eu>
parents: 17252
diff changeset
    52
  $ hg debugobsolete '00'
8da6fe276a23 debugobsolete: do not traceback on invalid node identifiers
Patrick Mezard <patrick@mezard.eu>
parents: 17252
diff changeset
    53
  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
    54
  [255]
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    55
  $ 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
    56
  $ hg debugobsolete
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    57
  97b7c2d76b1845ed3eb988cd612611e72406cef0 0 {'date': '0 0', 'user': 'babar'}
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    58
  $ cd ..
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
Killing a single changeset with replacement
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 init tmpb
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    63
  $ cd tmpb
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    64
  $ mkcommit a
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    65
  $ mkcommit b
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    66
  $ mkcommit original_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    67
  $ hg up "desc('b')"
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    68
  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
    69
  $ mkcommit new_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    70
  created new head
17390
74b44f25b4b1 revset: add hidden() revset
Patrick Mezard <patrick@mezard.eu>
parents: 17306
diff changeset
    71
  $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
17830
1cb51d65453d debugobsolete: add --flags option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17829
diff changeset
    72
  $ hg debugobsolete --flag 12 `getid original_c`  `getid new_c` -d '56 12'
17390
74b44f25b4b1 revset: add hidden() revset
Patrick Mezard <patrick@mezard.eu>
parents: 17306
diff changeset
    73
  $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
74b44f25b4b1 revset: add hidden() revset
Patrick Mezard <patrick@mezard.eu>
parents: 17306
diff changeset
    74
  2:245bde4270cd add original_c
17074
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    75
  $ hg debugobsolete
17830
1cb51d65453d debugobsolete: add --flags option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17829
diff changeset
    76
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C {'date': '56 12', 'user': 'test'}
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    77
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    78
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
    79
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    80
  $ hg up '.^'
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    81
  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
    82
  $ mkcommit new_2_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    83
  created new head
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    84
  $ 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
    85
  $ hg debugobsolete
17830
1cb51d65453d debugobsolete: add --flags option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17829
diff changeset
    86
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C {'date': '56 12', 'user': 'test'}
17074
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    87
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    88
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    89
Register two markers with a missing node
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    90
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    91
  $ hg up '.^'
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    92
  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
    93
  $ mkcommit new_3_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    94
  created new head
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    95
  $ 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
    96
  $ 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
    97
  $ hg debugobsolete
17830
1cb51d65453d debugobsolete: add --flags option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17829
diff changeset
    98
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C {'date': '56 12', 'user': 'test'}
17074
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    99
  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
   100
  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
   101
  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
   102
17774
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   103
Refuse pathological nullid successors
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   104
  $ hg debugobsolete -d '9001 0' 1337133713371337133713371337133713371337 0000000000000000000000000000000000000000
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   105
  transaction abort!
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   106
  rollback completed
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   107
  abort: bad obsolescence marker detected: invalid successors nullid
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   108
  [255]
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   109
17119
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   110
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
   111
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   112
  $ hg glog
17119
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   113
  @  changeset:   5:5601fb93a350
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   114
  |  tag:         tip
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   115
  |  parent:      1:7c3bad9141dc
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   116
  |  user:        test
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   117
  |  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
   118
  |  summary:     add new_3_c
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   119
  |
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   120
  o  changeset:   1:7c3bad9141dc
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   121
  |  user:        test
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   122
  |  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
   123
  |  summary:     add b
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   124
  |
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   125
  o  changeset:   0:1f0dee641bb7
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   126
     user:        test
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   127
     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
   128
     summary:     add a
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   129
  
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   130
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   131
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
   132
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   133
  $ hg phase --public 2
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   134
  $ hg --config 'extensions.graphlog=' glog
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   135
  @  changeset:   5:5601fb93a350
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   136
  |  tag:         tip
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   137
  |  parent:      1:7c3bad9141dc
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   138
  |  user:        test
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   139
  |  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
   140
  |  summary:     add new_3_c
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   141
  |
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   142
  | o  changeset:   2:245bde4270cd
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   143
  |/   user:        test
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   144
  |    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
   145
  |    summary:     add original_c
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   146
  |
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   147
  o  changeset:   1:7c3bad9141dc
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   148
  |  user:        test
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   149
  |  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
   150
  |  summary:     add b
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   151
  |
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   152
  o  changeset:   0:1f0dee641bb7
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   153
     user:        test
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   154
     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
   155
     summary:     add a
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   156
  
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   157
17829
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   158
And that bumped changeset are detected
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   159
--------------------------------------
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   160
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   161
If we didn't filtered obsolete changesets out, 3 and 4 would show up too. Also
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   162
note that the bumped changeset (5:5601fb93a350) is not a direct successor of
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   163
the public changeset
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   164
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   165
  $ hg log --hidden -r 'bumped()'
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   166
  changeset:   5:5601fb93a350
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   167
  tag:         tip
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   168
  parent:      1:7c3bad9141dc
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   169
  user:        test
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   170
  date:        Thu Jan 01 00:00:00 1970 +0000
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   171
  summary:     add new_3_c
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   172
  
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   173
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   174
Fixing "bumped" situation
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   175
We need to create a clone of 5 and add a special marker with a flag
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   176
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   177
  $ hg up '5^'
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   178
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   179
  $ hg revert -ar 5
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   180
  adding new_3_c
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   181
  $ hg ci -m 'add n3w_3_c'
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   182
  created new head
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   183
  $ hg debugobsolete -d '1338 0' --flags 1 `getid new_3_c` `getid n3w_3_c`
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   184
  $ hg log -r 'bumped()'
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   185
  $ hg log -G
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   186
  @  changeset:   6:6f9641995072
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   187
  |  tag:         tip
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   188
  |  parent:      1:7c3bad9141dc
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   189
  |  user:        test
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   190
  |  date:        Thu Jan 01 00:00:00 1970 +0000
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   191
  |  summary:     add n3w_3_c
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   192
  |
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   193
  | o  changeset:   2:245bde4270cd
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   194
  |/   user:        test
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   195
  |    date:        Thu Jan 01 00:00:00 1970 +0000
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   196
  |    summary:     add original_c
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   197
  |
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   198
  o  changeset:   1:7c3bad9141dc
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   199
  |  user:        test
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   200
  |  date:        Thu Jan 01 00:00:00 1970 +0000
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   201
  |  summary:     add b
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   202
  |
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   203
  o  changeset:   0:1f0dee641bb7
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   204
     user:        test
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   205
     date:        Thu Jan 01 00:00:00 1970 +0000
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   206
     summary:     add a
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   207
  
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   208
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   209
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   210
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   211
  $ cd ..
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   212
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   213
Exchange Test
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   214
============================
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   215
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   216
Destination repo does not have any data
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   217
---------------------------------------
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   218
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   219
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
   220
(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
   221
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   222
  $ hg init tmpc
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   223
  $ cd tmpc
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   224
  $ hg pull ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   225
  pulling from ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   226
  requesting all changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   227
  adding changesets
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   228
  adding manifests
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   229
  adding file changes
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   230
  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
   231
  (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
   232
  $ hg debugobsolete
17830
1cb51d65453d debugobsolete: add --flags option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17829
diff changeset
   233
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C {'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
   234
  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
   235
  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
   236
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   237
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 {'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
   238
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   239
Rollback//Transaction support
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   240
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   241
  $ 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
   242
  $ hg debugobsolete
17830
1cb51d65453d debugobsolete: add --flags option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17829
diff changeset
   243
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C {'date': '56 12', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   244
  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
   245
  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
   246
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   247
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 {'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
   248
  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
   249
  $ hg rollback -n
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   250
  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
   251
  $ hg rollback
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   252
  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
   253
  $ hg debugobsolete
17830
1cb51d65453d debugobsolete: add --flags option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17829
diff changeset
   254
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C {'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
   255
  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
   256
  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
   257
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   258
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 {'date': '1338 0', 'user': 'test'}
17075
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
  $ cd ..
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   261
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   262
Try to pull markers
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   263
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   264
  $ hg init tmpd
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   265
  $ hg -R tmpb push tmpd
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   266
  pushing to tmpd
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   267
  searching for changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   268
  adding changesets
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   269
  adding manifests
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   270
  adding file changes
17169
c18ecebed3f1 push: refuse to push obsolete changesets
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17126
diff changeset
   271
  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
   272
  $ hg -R tmpd debugobsolete
17830
1cb51d65453d debugobsolete: add --flags option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17829
diff changeset
   273
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C {'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'}
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   277
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 {'date': '1338 0', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   278
17252
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   279
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
   280
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   281
  $ 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
   282
  $ 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
   283
  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
   284
  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
   285
  listkeys phases
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   286
  listkeys bookmarks
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   287
  [1]
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   288
17249
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   289
clone support
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   290
(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
   291
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   292
  $ hg clone tmpb clone-dest
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   293
  updating to branch default
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   294
  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
   295
  $ hg -R clone-dest log -G --hidden
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   296
  @  changeset:   6:6f9641995072
17249
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   297
  |  tag:         tip
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   298
  |  parent:      1:7c3bad9141dc
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   299
  |  user:        test
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   300
  |  date:        Thu Jan 01 00:00:00 1970 +0000
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   301
  |  summary:     add n3w_3_c
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   302
  |
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   303
  | x  changeset:   5:5601fb93a350
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   304
  |/   parent:      1:7c3bad9141dc
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   305
  |    user:        test
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   306
  |    date:        Thu Jan 01 00:00:00 1970 +0000
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   307
  |    summary:     add new_3_c
17249
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   308
  |
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   309
  | x  changeset:   4:ca819180edb9
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   310
  |/   parent:      1:7c3bad9141dc
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   311
  |    user:        test
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   312
  |    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
   313
  |    summary:     add new_2_c
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   314
  |
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   315
  | x  changeset:   3:cdbce2fbb163
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   316
  |/   parent:      1:7c3bad9141dc
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   317
  |    user:        test
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   318
  |    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
   319
  |    summary:     add new_c
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   320
  |
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   321
  | o  changeset:   2:245bde4270cd
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   322
  |/   user:        test
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   323
  |    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
   324
  |    summary:     add original_c
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   325
  |
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   326
  o  changeset:   1:7c3bad9141dc
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   327
  |  user:        test
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   328
  |  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
   329
  |  summary:     add b
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   330
  |
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   331
  o  changeset:   0:1f0dee641bb7
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   332
     user:        test
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   333
     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
   334
     summary:     add a
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   335
  
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   336
  $ hg -R clone-dest debugobsolete
17830
1cb51d65453d debugobsolete: add --flags option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17829
diff changeset
   337
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C {'date': '56 12', 'user': 'test'}
17249
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   338
  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
   339
  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
   340
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   341
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 {'date': '1338 0', 'user': 'test'}
17249
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   342
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   343
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   344
Destination repo have existing data
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   345
---------------------------------------
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   346
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   347
On pull
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   348
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   349
  $ hg init tmpe
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   350
  $ cd tmpe
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   351
  $ hg debugobsolete -d '1339 0' 2448244824482448244824482448244824482448 1339133913391339133913391339133913391339
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   352
  $ hg pull ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   353
  pulling from ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   354
  requesting all changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   355
  adding changesets
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   356
  adding manifests
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   357
  adding file changes
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   358
  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
   359
  (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
   360
  $ hg debugobsolete
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   361
  2448244824482448244824482448244824482448 1339133913391339133913391339133913391339 0 {'date': '1339 0', 'user': 'test'}
17830
1cb51d65453d debugobsolete: add --flags option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17829
diff changeset
   362
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C {'date': '56 12', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   363
  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
   364
  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
   365
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   366
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 {'date': '1338 0', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   367
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   368
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   369
On push
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   370
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   371
  $ hg push ../tmpc
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   372
  pushing to ../tmpc
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   373
  searching for changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   374
  no changes found
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   375
  [1]
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   376
  $ hg -R ../tmpc debugobsolete
17830
1cb51d65453d debugobsolete: add --flags option
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17829
diff changeset
   377
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C {'date': '56 12', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   378
  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
   379
  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
   380
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   381
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 {'date': '1338 0', 'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   382
  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
   383
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   384
detect outgoing obsolete and unstable
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   385
---------------------------------------
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   386
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   387
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   388
  $ hg glog
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   389
  o  changeset:   3:6f9641995072
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   390
  |  tag:         tip
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   391
  |  parent:      1:7c3bad9141dc
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   392
  |  user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   393
  |  date:        Thu Jan 01 00:00:00 1970 +0000
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   394
  |  summary:     add n3w_3_c
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   395
  |
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   396
  | o  changeset:   2:245bde4270cd
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   397
  |/   user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   398
  |    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
   399
  |    summary:     add original_c
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   400
  |
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   401
  o  changeset:   1:7c3bad9141dc
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   402
  |  user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   403
  |  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
   404
  |  summary:     add b
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   405
  |
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   406
  o  changeset:   0:1f0dee641bb7
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   407
     user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   408
     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
   409
     summary:     add a
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   410
  
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   411
  $ hg up 'desc("n3w_3_c")'
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   412
  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
   413
  $ mkcommit original_d
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   414
  $ mkcommit original_e
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   415
  $ 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
   416
  $ hg log -r 'obsolete()'
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   417
  changeset:   4:94b33453f93b
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   418
  user:        test
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   419
  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
   420
  summary:     add original_d
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   421
  
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   422
  $ hg glog -r '::unstable()'
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   423
  @  changeset:   5:cda648ca50f5
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   424
  |  tag:         tip
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   425
  |  user:        test
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   426
  |  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
   427
  |  summary:     add original_e
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   428
  |
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   429
  x  changeset:   4:94b33453f93b
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   430
  |  user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   431
  |  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
   432
  |  summary:     add original_d
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   433
  |
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   434
  o  changeset:   3:6f9641995072
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   435
  |  parent:      1:7c3bad9141dc
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   436
  |  user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   437
  |  date:        Thu Jan 01 00:00:00 1970 +0000
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   438
  |  summary:     add n3w_3_c
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   439
  |
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   440
  o  changeset:   1:7c3bad9141dc
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   441
  |  user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   442
  |  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
   443
  |  summary:     add b
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   444
  |
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   445
  o  changeset:   0:1f0dee641bb7
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   446
     user:        test
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   447
     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
   448
     summary:     add a
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   449
  
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   450
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   451
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
   452
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   453
  $ 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
   454
  pushing to ../tmpc/
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   455
  searching for changes
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   456
  abort: push includes an obsolete changeset: 94b33453f93b!
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   457
  [255]
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   458
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   459
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
   460
17172
12fdaa30063a push: refuse to push unstable changesets without force
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17171
diff changeset
   461
  $ 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
   462
  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
   463
  searching for changes
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   464
  abort: push includes an unstable changeset: cda648ca50f5!
17172
12fdaa30063a push: refuse to push unstable changesets without force
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17171
diff changeset
   465
  [255]
17173
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   466
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   467
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
   468
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   469
  $ 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
   470
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   471
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
   472
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   473
  $ hg init ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   474
  $ hg out  ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   475
  comparing with ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   476
  searching for changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   477
  changeset:   0:1f0dee641bb7
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   478
  user:        test
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   479
  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
   480
  summary:     add a
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   481
  
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   482
  changeset:   1:7c3bad9141dc
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   483
  user:        test
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   484
  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
   485
  summary:     add b
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   486
  
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   487
  changeset:   2:245bde4270cd
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   488
  user:        test
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   489
  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
   490
  summary:     add original_c
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   491
  
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   492
  changeset:   3:6f9641995072
17173
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   493
  parent:      1:7c3bad9141dc
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   494
  user:        test
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   495
  date:        Thu Jan 01 00:00:00 1970 +0000
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   496
  summary:     add n3w_3_c
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   497
  
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   498
  changeset:   4:94b33453f93b
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   499
  user:        test
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   500
  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
   501
  summary:     add original_d
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   502
  
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   503
  changeset:   5:cda648ca50f5
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   504
  tag:         tip
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   505
  user:        test
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   506
  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
   507
  summary:     add original_e
17173
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   508
  
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   509
  $ 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
   510
  pushing to ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   511
  searching for changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   512
  adding changesets
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   513
  adding manifests
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   514
  adding file changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   515
  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
   516
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   517
no warning displayed
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   518
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   519
  $ hg push ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   520
  pushing to ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   521
  searching for changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   522
  no changes found
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   523
  [1]
17214
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   524
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   525
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
   526
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   527
  $ hg glog
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   528
  @  changeset:   5:cda648ca50f5
17214
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   529
  |  tag:         tip
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   530
  |  user:        test
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   531
  |  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
   532
  |  summary:     add original_e
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   533
  |
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   534
  x  changeset:   4:94b33453f93b
17214
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   535
  |  user:        test
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   536
  |  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
   537
  |  summary:     add original_d
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   538
  |
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   539
  o  changeset:   3:6f9641995072
17214
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   540
  |  parent:      1:7c3bad9141dc
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   541
  |  user:        test
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   542
  |  date:        Thu Jan 01 00:00:00 1970 +0000
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   543
  |  summary:     add n3w_3_c
17214
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   544
  |
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   545
  | o  changeset:   2:245bde4270cd
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   546
  |/   user:        test
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   547
  |    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
   548
  |    summary:     add original_c
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   549
  |
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   550
  o  changeset:   1:7c3bad9141dc
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   551
  |  user:        test
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   552
  |  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
   553
  |  summary:     add b
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   554
  |
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   555
  o  changeset:   0:1f0dee641bb7
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   556
     user:        test
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   557
     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
   558
     summary:     add a
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   559
  
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   560
  $ hg up -q 'desc(n3w_3_c)'
17214
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   561
  $ mkcommit obsolete_e
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   562
  created new head
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   563
  $ 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
   564
  $ hg push ../tmpf
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   565
  pushing to ../tmpf
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   566
  searching for changes
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   567
  adding changesets
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   568
  adding manifests
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   569
  adding file changes
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   570
  added 1 changesets with 1 changes to 1 files (+1 heads)
17297
6955d69a52a4 obsolete: warns if markers exist in a repo where the feature is not enabled
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17296
diff changeset
   571
17306
7d2967de2c04 obsolete: fix typos in comments introduced by 6955d69a52a4
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17297
diff changeset
   572
Checking _enable=False warning if obsolete marker exists
17297
6955d69a52a4 obsolete: warns if markers exist in a repo where the feature is not enabled
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17296
diff changeset
   573
6955d69a52a4 obsolete: warns if markers exist in a repo where the feature is not enabled
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17296
diff changeset
   574
  $ echo '[extensions]' >> $HGRCPATH
6955d69a52a4 obsolete: warns if markers exist in a repo where the feature is not enabled
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17296
diff changeset
   575
  $ echo "obs=!" >> $HGRCPATH
6955d69a52a4 obsolete: warns if markers exist in a repo where the feature is not enabled
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17296
diff changeset
   576
  $ hg log -r tip
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   577
  obsolete feature not enabled but 8 markers found!
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   578
  changeset:   6:3de5eca88c00
17297
6955d69a52a4 obsolete: warns if markers exist in a repo where the feature is not enabled
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17296
diff changeset
   579
  tag:         tip
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   580
  parent:      3:6f9641995072
17297
6955d69a52a4 obsolete: warns if markers exist in a repo where the feature is not enabled
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17296
diff changeset
   581
  user:        test
6955d69a52a4 obsolete: warns if markers exist in a repo where the feature is not enabled
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17296
diff changeset
   582
  date:        Thu Jan 01 00:00:00 1970 +0000
6955d69a52a4 obsolete: warns if markers exist in a repo where the feature is not enabled
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17296
diff changeset
   583
  summary:     add obsolete_e
6955d69a52a4 obsolete: warns if markers exist in a repo where the feature is not enabled
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17296
diff changeset
   584