tests/test-obsolete.t
author Pierre-Yves David <pierre-yves.david@fb.com>
Wed, 20 Aug 2014 00:43:08 -0700
changeset 22272 406181ee335f
parent 22239 0688010ee38f
child 22274 10e87c67f1c7
permissions -rw-r--r--
debugobsolete: add a way to record parent information We add a ``--record-parents`` flag to debugobsolete. This can be used to record parent information in the marker when the precursors are known locally. This will be useful to test the "relevant markers" computation.
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
  > [phases]
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
     3
  > # public changeset are not obsolete
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
     4
  > publish=false
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
     5
  > [ui]
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
     6
  > logtemplate="{rev}:{node|short} ({phase}) [{tags} {bookmarks}] {desc|firstline}\n"
17171
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() {
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18104
diff changeset
    14
  >    hg id --debug --hidden -ir "desc('$1')"
17071
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
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
    57
  97b7c2d76b1845ed3eb988cd612611e72406cef0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'babar'}
18464
a2e9fe93d9ea changectx: fix the handling of `tip`
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18428
diff changeset
    58
a2e9fe93d9ea changectx: fix the handling of `tip`
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18428
diff changeset
    59
(test that mercurial is not confused)
a2e9fe93d9ea changectx: fix the handling of `tip`
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18428
diff changeset
    60
a2e9fe93d9ea changectx: fix the handling of `tip`
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18428
diff changeset
    61
  $ hg up null --quiet # having 0 as parent prevents it to be hidden
a2e9fe93d9ea changectx: fix the handling of `tip`
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18428
diff changeset
    62
  $ hg tip
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
    63
  -1:000000000000 (public) [tip ] 
18464
a2e9fe93d9ea changectx: fix the handling of `tip`
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18428
diff changeset
    64
  $ hg up --hidden tip --quiet
22177
a56038e6a3c9 obsstore.create: add a simple safeguard against cyclic markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
    65
a56038e6a3c9 obsstore.create: add a simple safeguard against cyclic markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
    66
Killing a single changeset with itself should fail
a56038e6a3c9 obsstore.create: add a simple safeguard against cyclic markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
    67
(simple local safeguard)
a56038e6a3c9 obsstore.create: add a simple safeguard against cyclic markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
    68
a56038e6a3c9 obsstore.create: add a simple safeguard against cyclic markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
    69
  $ hg debugobsolete `getid kill_me` `getid kill_me`
a56038e6a3c9 obsstore.create: add a simple safeguard against cyclic markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
    70
  abort: bad obsmarker input: in-marker cycle with 97b7c2d76b1845ed3eb988cd612611e72406cef0
a56038e6a3c9 obsstore.create: add a simple safeguard against cyclic markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
    71
  [255]
a56038e6a3c9 obsstore.create: add a simple safeguard against cyclic markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
    72
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    73
  $ cd ..
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    74
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    75
Killing a single changeset with replacement
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    76
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    77
  $ hg init tmpb
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    78
  $ cd tmpb
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    79
  $ mkcommit a
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    80
  $ mkcommit b
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    81
  $ mkcommit original_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    82
  $ hg up "desc('b')"
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    83
  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
    84
  $ mkcommit new_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    85
  created new head
17390
74b44f25b4b1 revset: add hidden() revset
Patrick Mezard <patrick@mezard.eu>
parents: 17306
diff changeset
    86
  $ 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
    87
  $ 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
    88
  $ 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
    89
  2:245bde4270cd add original_c
21033
254f55b64e31 debugrevlog: use unfiltered view for changelog
Matt Mackall <mpm@selenic.com>
parents: 20807
diff changeset
    90
  $ hg debugrevlog -cd
254f55b64e31 debugrevlog: use unfiltered view for changelog
Matt Mackall <mpm@selenic.com>
parents: 20807
diff changeset
    91
  # rev p1rev p2rev start   end deltastart base   p1   p2 rawsize totalsize compression heads
254f55b64e31 debugrevlog: use unfiltered view for changelog
Matt Mackall <mpm@selenic.com>
parents: 20807
diff changeset
    92
      0    -1    -1     0    59          0    0    0    0      58        58           0     1
254f55b64e31 debugrevlog: use unfiltered view for changelog
Matt Mackall <mpm@selenic.com>
parents: 20807
diff changeset
    93
      1     0    -1    59   118         59   59    0    0      58       116           0     1
254f55b64e31 debugrevlog: use unfiltered view for changelog
Matt Mackall <mpm@selenic.com>
parents: 20807
diff changeset
    94
      2     1    -1   118   204         59   59   59    0      76       192           0     1
254f55b64e31 debugrevlog: use unfiltered view for changelog
Matt Mackall <mpm@selenic.com>
parents: 20807
diff changeset
    95
      3     1    -1   204   271        204  204   59    0      66       258           0     2
17074
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    96
  $ hg debugobsolete
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
    97
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'}
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    98
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    99
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
   100
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   101
  $ hg up '.^'
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   102
  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
   103
  $ mkcommit new_2_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   104
  created new head
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   105
  $ 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
   106
  $ hg debugobsolete
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   107
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   108
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   109
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   110
Register two markers with a missing node
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   111
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   112
  $ hg up '.^'
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   113
  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
   114
  $ mkcommit new_3_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   115
  created new head
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   116
  $ 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
   117
  $ 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
   118
  $ hg debugobsolete
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   119
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   120
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   121
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   122
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   123
17774
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   124
Refuse pathological nullid successors
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   125
  $ 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
   126
  transaction abort!
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   127
  rollback completed
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   128
  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
   129
  [255]
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   130
17119
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   131
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
   132
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 18684
diff changeset
   133
  $ hg log -G
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   134
  @  5:5601fb93a350 (draft) [tip ] add new_3_c
17119
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   135
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   136
  o  1:7c3bad9141dc (draft) [ ] add b
17119
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   137
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   138
  o  0:1f0dee641bb7 (draft) [ ] add a
17119
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   139
  
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   140
18268
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   141
check that heads does not report them
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   142
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   143
  $ hg heads
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   144
  5:5601fb93a350 (draft) [tip ] add new_3_c
18268
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   145
  $ hg heads --hidden
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   146
  5:5601fb93a350 (draft) [tip ] add new_3_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   147
  4:ca819180edb9 (draft) [ ] add new_2_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   148
  3:cdbce2fbb163 (draft) [ ] add new_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   149
  2:245bde4270cd (draft) [ ] add original_c
18268
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   150
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   151
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   152
check that summary does not report them
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   153
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   154
  $ hg init ../sink
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   155
  $ echo '[paths]' >> .hg/hgrc
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   156
  $ echo 'default=../sink' >> .hg/hgrc
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   157
  $ hg summary --remote
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   158
  parent: 5:5601fb93a350 tip
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   159
   add new_3_c
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   160
  branch: default
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   161
  commit: (clean)
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   162
  update: (current)
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   163
  remote: 3 outgoing
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   164
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   165
  $ hg summary --remote --hidden
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   166
  parent: 5:5601fb93a350 tip
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   167
   add new_3_c
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   168
  branch: default
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   169
  commit: (clean)
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   170
  update: 3 new changesets, 4 branch heads (merge)
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   171
  remote: 3 outgoing
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   172
18423
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   173
check that various commands work well with filtering
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   174
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   175
  $ hg tip
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   176
  5:5601fb93a350 (draft) [tip ] add new_3_c
18423
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   177
  $ hg log -r 6
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   178
  abort: unknown revision '6'!
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   179
  [255]
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   180
  $ hg log -r 4
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   181
  abort: unknown revision '4'!
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   182
  [255]
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   183
17119
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   184
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
   185
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18104
diff changeset
   186
  $ hg --hidden phase --public 2
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 18684
diff changeset
   187
  $ hg log -G
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   188
  @  5:5601fb93a350 (draft) [tip ] add new_3_c
17119
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   189
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   190
  | o  2:245bde4270cd (public) [ ] add original_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   191
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   192
  o  1:7c3bad9141dc (public) [ ] add b
17119
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   193
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   194
  o  0:1f0dee641bb7 (public) [ ] add a
17119
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   195
  
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   196
17829
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   197
And that bumped changeset are detected
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   198
--------------------------------------
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   199
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   200
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
   201
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
   202
the public changeset
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   203
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   204
  $ hg log --hidden -r 'bumped()'
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   205
  5:5601fb93a350 (draft) [tip ] add new_3_c
17829
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   206
17834
743d04dd48ec push: refuse to push bumped changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17833
diff changeset
   207
And that we can't push bumped changeset
743d04dd48ec push: refuse to push bumped changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17833
diff changeset
   208
18085
4c53f015564f test: fix truncated comment in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18015
diff changeset
   209
  $ hg push ../tmpa -r 0 --force #(make repo related)
18015
42f56a0418b3 clfilter: fix a false positive in the test-obsolete.t
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17834
diff changeset
   210
  pushing to ../tmpa
42f56a0418b3 clfilter: fix a false positive in the test-obsolete.t
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17834
diff changeset
   211
  searching for changes
18104
a2cebd3e4daa clfilter: use filtering in `visibleheads`
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18085
diff changeset
   212
  warning: repository is unrelated
18015
42f56a0418b3 clfilter: fix a false positive in the test-obsolete.t
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17834
diff changeset
   213
  adding changesets
42f56a0418b3 clfilter: fix a false positive in the test-obsolete.t
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17834
diff changeset
   214
  adding manifests
42f56a0418b3 clfilter: fix a false positive in the test-obsolete.t
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17834
diff changeset
   215
  adding file changes
42f56a0418b3 clfilter: fix a false positive in the test-obsolete.t
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17834
diff changeset
   216
  added 1 changesets with 1 changes to 1 files (+1 heads)
17834
743d04dd48ec push: refuse to push bumped changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17833
diff changeset
   217
  $ hg push ../tmpa
743d04dd48ec push: refuse to push bumped changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17833
diff changeset
   218
  pushing to ../tmpa
743d04dd48ec push: refuse to push bumped changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17833
diff changeset
   219
  searching for changes
743d04dd48ec push: refuse to push bumped changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17833
diff changeset
   220
  abort: push includes bumped changeset: 5601fb93a350!
743d04dd48ec push: refuse to push bumped changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17833
diff changeset
   221
  [255]
743d04dd48ec push: refuse to push bumped changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17833
diff changeset
   222
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   223
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
   224
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
   225
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   226
  $ 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
   227
  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
   228
  $ 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
   229
  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
   230
  $ 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
   231
  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
   232
  $ 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
   233
  $ 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
   234
  $ hg log -G
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   235
  @  6:6f9641995072 (draft) [tip ] add n3w_3_c
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   236
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   237
  | o  2:245bde4270cd (public) [ ] add original_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   238
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   239
  o  1:7c3bad9141dc (public) [ ] add b
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   240
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   241
  o  0:1f0dee641bb7 (public) [ ] add a
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   242
  
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   243
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   244
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   245
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   246
  $ cd ..
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   247
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   248
Exchange Test
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   249
============================
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   250
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   251
Destination repo does not have any data
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   252
---------------------------------------
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   253
18493
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   254
Simple incoming test
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   255
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   256
  $ hg init tmpc
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   257
  $ cd tmpc
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   258
  $ hg incoming ../tmpb
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   259
  comparing with ../tmpb
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   260
  0:1f0dee641bb7 (public) [ ] add a
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   261
  1:7c3bad9141dc (public) [ ] add b
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   262
  2:245bde4270cd (public) [ ] add original_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   263
  6:6f9641995072 (draft) [tip ] add n3w_3_c
18493
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   264
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   265
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
   266
(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
   267
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   268
  $ hg pull ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   269
  pulling from ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   270
  requesting all changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   271
  adding changesets
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   272
  adding manifests
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   273
  adding file changes
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   274
  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
   275
  (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
   276
  $ hg debugobsolete
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   277
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   278
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   279
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   280
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   281
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
17126
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   282
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   283
Rollback//Transaction support
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   284
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   285
  $ 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
   286
  $ hg debugobsolete
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   287
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   288
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   289
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   290
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   291
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   292
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
17126
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   293
  $ hg rollback -n
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   294
  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
   295
  $ hg rollback
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   296
  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
   297
  $ hg debugobsolete
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   298
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   299
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   300
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   301
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   302
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   303
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   304
  $ cd ..
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   305
18492
45445187d286 test: minor documentation fix
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18464
diff changeset
   306
Try to push markers
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   307
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   308
  $ hg init tmpd
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   309
  $ hg -R tmpb push tmpd
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   310
  pushing to tmpd
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   311
  searching for changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   312
  adding changesets
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   313
  adding manifests
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   314
  adding file changes
17169
c18ecebed3f1 push: refuse to push obsolete changesets
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17126
diff changeset
   315
  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
   316
  $ hg -R tmpd debugobsolete
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   317
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   318
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   319
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   320
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   321
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   322
17252
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   323
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
   324
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   325
  $ 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
   326
  $ 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
   327
  pushing to tmpd
22019
9fcf772f15ff push: perform phases discovery before the push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21978
diff changeset
   328
  listkeys phases
22239
0688010ee38f push: move bookmark discovery with other discovery steps
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22220
diff changeset
   329
  listkeys bookmarks
17252
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   330
  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
   331
  listkeys phases
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   332
  [1]
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   333
17249
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   334
clone support
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   335
(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
   336
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   337
  $ hg clone tmpb clone-dest
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   338
  updating to branch default
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   339
  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
   340
  $ hg -R clone-dest log -G --hidden
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   341
  @  6:6f9641995072 (draft) [tip ] add n3w_3_c
17249
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   342
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   343
  | x  5:5601fb93a350 (draft) [ ] add new_3_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   344
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   345
  | x  4:ca819180edb9 (draft) [ ] add new_2_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   346
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   347
  | x  3:cdbce2fbb163 (draft) [ ] add new_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   348
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   349
  | o  2:245bde4270cd (public) [ ] add original_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   350
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   351
  o  1:7c3bad9141dc (public) [ ] add b
17249
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   352
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   353
  o  0:1f0dee641bb7 (public) [ ] add a
17249
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   354
  
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   355
  $ hg -R clone-dest debugobsolete
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   356
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   357
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   358
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   359
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   360
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
17249
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   361
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   362
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   363
Destination repo have existing data
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   364
---------------------------------------
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   365
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   366
On pull
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   367
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   368
  $ hg init tmpe
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   369
  $ cd tmpe
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   370
  $ hg debugobsolete -d '1339 0' 2448244824482448244824482448244824482448 1339133913391339133913391339133913391339
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   371
  $ hg pull ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   372
  pulling from ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   373
  requesting all changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   374
  adding changesets
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   375
  adding manifests
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   376
  adding file changes
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   377
  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
   378
  (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
   379
  $ hg debugobsolete
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   380
  2448244824482448244824482448244824482448 1339133913391339133913391339133913391339 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   381
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   382
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   383
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   384
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   385
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   386
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   387
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   388
On push
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   389
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   390
  $ hg push ../tmpc
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   391
  pushing to ../tmpc
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   392
  searching for changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   393
  no changes found
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   394
  [1]
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   395
  $ hg -R ../tmpc debugobsolete
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   396
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   397
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   398
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   399
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   400
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   401
  2448244824482448244824482448244824482448 1339133913391339133913391339133913391339 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   402
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   403
detect outgoing obsolete and unstable
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   404
---------------------------------------
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   405
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   406
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 18684
diff changeset
   407
  $ hg log -G
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   408
  o  3:6f9641995072 (draft) [tip ] add n3w_3_c
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   409
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   410
  | o  2:245bde4270cd (public) [ ] add original_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   411
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   412
  o  1:7c3bad9141dc (public) [ ] add b
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   413
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   414
  o  0:1f0dee641bb7 (public) [ ] add a
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   415
  
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   416
  $ 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
   417
  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
   418
  $ mkcommit original_d
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   419
  $ mkcommit original_e
22272
406181ee335f debugobsolete: add a way to record parent information
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22239
diff changeset
   420
  $ hg debugobsolete --record-parents `getid original_d` -d '0 0'
406181ee335f debugobsolete: add a way to record parent information
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22239
diff changeset
   421
  $ hg debugobsolete | grep `getid original_d`
406181ee335f debugobsolete: add a way to record parent information
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22239
diff changeset
   422
  94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   423
  $ hg log -r 'obsolete()'
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   424
  4:94b33453f93b (draft) [ ] add original_d
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 18684
diff changeset
   425
  $ hg log -G -r '::unstable()'
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   426
  @  5:cda648ca50f5 (draft) [tip ] add original_e
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   427
  |
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   428
  x  4:94b33453f93b (draft) [ ] add original_d
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   429
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   430
  o  3:6f9641995072 (draft) [ ] add n3w_3_c
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   431
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   432
  o  1:7c3bad9141dc (public) [ ] add b
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   433
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   434
  o  0:1f0dee641bb7 (public) [ ] add a
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   435
  
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   436
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   437
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
   438
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   439
  $ 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
   440
  pushing to ../tmpc/
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   441
  searching for changes
17833
0c1185f6ddd7 obsolete: simplify push abort message
push includes an xxx changeset: yyyyyyyyyy
parents: 17831
diff changeset
   442
  abort: push includes obsolete changeset: 94b33453f93b!
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   443
  [255]
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   444
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   445
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
   446
17172
12fdaa30063a push: refuse to push unstable changesets without force
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17171
diff changeset
   447
  $ 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
   448
  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
   449
  searching for changes
17833
0c1185f6ddd7 obsolete: simplify push abort message
push includes an xxx changeset: yyyyyyyyyy
parents: 17831
diff changeset
   450
  abort: push includes 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
   451
  [255]
17173
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   452
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   453
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
   454
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   455
  $ 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
   456
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   457
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
   458
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   459
  $ hg init ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   460
  $ hg out  ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   461
  comparing with ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   462
  searching for changes
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   463
  0:1f0dee641bb7 (public) [ ] add a
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   464
  1:7c3bad9141dc (public) [ ] add b
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   465
  2:245bde4270cd (public) [ ] add original_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   466
  3:6f9641995072 (draft) [ ] add n3w_3_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   467
  4:94b33453f93b (draft) [ ] add original_d
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   468
  5:cda648ca50f5 (draft) [tip ] add original_e
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   469
  $ 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
   470
  pushing to ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   471
  searching for changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   472
  adding changesets
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   473
  adding manifests
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   474
  adding file changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   475
  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
   476
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   477
no warning displayed
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   478
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   479
  $ hg push ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   480
  pushing to ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   481
  searching for changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   482
  no changes found
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   483
  [1]
17214
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   484
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   485
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
   486
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 18684
diff changeset
   487
  $ hg log -G
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   488
  @  5:cda648ca50f5 (draft) [tip ] add original_e
17214
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   489
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   490
  x  4:94b33453f93b (draft) [ ] add original_d
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   491
  |
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   492
  o  3:6f9641995072 (draft) [ ] 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
   493
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   494
  | o  2:245bde4270cd (public) [ ] add original_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   495
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   496
  o  1:7c3bad9141dc (public) [ ] add b
17214
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   497
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   498
  o  0:1f0dee641bb7 (public) [ ] add a
17214
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   499
  
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   500
  $ 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
   501
  $ mkcommit obsolete_e
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   502
  created new head
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   503
  $ hg debugobsolete `getid 'original_e'` `getid 'obsolete_e'`
18493
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   504
  $ hg outgoing ../tmpf # parasite hg outgoing testin
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   505
  comparing with ../tmpf
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   506
  searching for changes
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   507
  6:3de5eca88c00 (draft) [tip ] add obsolete_e
17214
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   508
  $ hg push ../tmpf
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   509
  pushing to ../tmpf
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   510
  searching for changes
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   511
  adding changesets
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   512
  adding manifests
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   513
  adding file changes
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   514
  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
   515
18506
ef60083b5536 tests: fix for windows - slashes and no serve
Mads Kiilerich <madski@unity3d.com>
parents: 18493
diff changeset
   516
#if serve
ef60083b5536 tests: fix for windows - slashes and no serve
Mads Kiilerich <madski@unity3d.com>
parents: 18493
diff changeset
   517
18401
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   518
check hgweb does not explode
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   519
====================================
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   520
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   521
  $ hg unbundle $TESTDIR/bundles/hgweb+obs.hg
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   522
  adding changesets
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   523
  adding manifests
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   524
  adding file changes
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   525
  added 62 changesets with 63 changes to 9 files (+60 heads)
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   526
  (run 'hg heads .' to see heads, 'hg merge' to merge)
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   527
  $ for node in `hg log -r 'desc(babar_)' --template '{node}\n'`;
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   528
  > do
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   529
  >    hg debugobsolete $node
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   530
  > done
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   531
  $ hg up tip
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   532
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   533
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   534
  $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   535
  $ cat hg.pid >> $DAEMON_PIDS
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   536
18426
01638b51df44 hgweb: ignore filtered revision in revnav
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18423
diff changeset
   537
check changelog view
01638b51df44 hgweb: ignore filtered revision in revnav
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18423
diff changeset
   538
01638b51df44 hgweb: ignore filtered revision in revnav
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18423
diff changeset
   539
  $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'shortlog/'
01638b51df44 hgweb: ignore filtered revision in revnav
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18423
diff changeset
   540
  200 Script output follows
18401
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   541
18428
8c10f760ca34 hgweb: walk the graph through the changelog
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18426
diff changeset
   542
check graph view
8c10f760ca34 hgweb: walk the graph through the changelog
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18426
diff changeset
   543
8c10f760ca34 hgweb: walk the graph through the changelog
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18426
diff changeset
   544
  $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'graph'
8c10f760ca34 hgweb: walk the graph through the changelog
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18426
diff changeset
   545
  200 Script output follows
8c10f760ca34 hgweb: walk the graph through the changelog
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18426
diff changeset
   546
18401
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   547
check filelog view
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   548
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   549
  $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'log/'`hg id --debug --id`/'babar'
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   550
  200 Script output follows
18522
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   551
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   552
  $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'rev/68'
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   553
  200 Script output follows
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   554
  $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'rev/67'
18532
a6088c05e43a test-obsolete: now gets 404 for hidden change
Matt Mackall <mpm@selenic.com>
parents: 18522
diff changeset
   555
  404 Not Found
18522
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   556
  [1]
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   557
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   558
check that web.view config option:
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   559
18596
d8cfe29c6b61 test-obsolete.t: migrate to killdaemons from kill `cat pidfile`
Augie Fackler <raf@durin42.com>
parents: 18568
diff changeset
   560
  $ "$TESTDIR/killdaemons.py" hg.pid
18522
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   561
  $ cat >> .hg/hgrc << EOF
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   562
  > [web]
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   563
  > view=all
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   564
  > EOF
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   565
  $ wait
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   566
  $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   567
  $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'rev/67'
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   568
  200 Script output follows
18596
d8cfe29c6b61 test-obsolete.t: migrate to killdaemons from kill `cat pidfile`
Augie Fackler <raf@durin42.com>
parents: 18568
diff changeset
   569
  $ "$TESTDIR/killdaemons.py" hg.pid
18401
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   570
17306
7d2967de2c04 obsolete: fix typos in comments introduced by 6955d69a52a4
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17297
diff changeset
   571
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
   572
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
  $ 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
   574
  $ 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
   575
  $ hg log -r tip
18401
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   576
  obsolete feature not enabled but 68 markers found!
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   577
  68:c15e9edfca13 (draft) [tip ] add celestine
18568
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   578
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   579
reenable for later test
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   580
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   581
  $ echo '[extensions]' >> $HGRCPATH
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   582
  $ echo "obs=${TESTTMP}/obs.py" >> $HGRCPATH
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   583
18506
ef60083b5536 tests: fix for windows - slashes and no serve
Mads Kiilerich <madski@unity3d.com>
parents: 18493
diff changeset
   584
#endif
18568
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   585
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   586
Test incoming/outcoming with changesets obsoleted remotely, known locally
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   587
===============================================================================
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   588
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   589
This test issue 3805
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   590
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   591
  $ hg init repo-issue3805
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   592
  $ cd repo-issue3805
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   593
  $ echo "foo" > foo
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   594
  $ hg ci -Am "A"
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   595
  adding foo
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   596
  $ hg clone . ../other-issue3805
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   597
  updating to branch default
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   598
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   599
  $ echo "bar" >> foo
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   600
  $ hg ci --amend
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   601
  $ cd ../other-issue3805
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   602
  $ hg log -G
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   603
  @  0:193e9254ce7e (draft) [tip ] A
18568
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   604
  
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   605
  $ hg log -G -R ../repo-issue3805
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   606
  @  2:3816541e5485 (draft) [tip ] A
18568
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   607
  
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   608
  $ hg incoming
18679
f6f35d646cb5 tests: append glob to filename output when required (windows)
Simon Heimberg <simohe@besonet.ch>
parents: 18617
diff changeset
   609
  comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
18568
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   610
  searching for changes
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   611
  2:3816541e5485 (draft) [tip ] A
18568
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   612
  $ hg incoming --bundle ../issue3805.hg
18679
f6f35d646cb5 tests: append glob to filename output when required (windows)
Simon Heimberg <simohe@besonet.ch>
parents: 18617
diff changeset
   613
  comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
18568
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   614
  searching for changes
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   615
  2:3816541e5485 (draft) [tip ] A
18568
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   616
  $ hg outgoing
18679
f6f35d646cb5 tests: append glob to filename output when required (windows)
Simon Heimberg <simohe@besonet.ch>
parents: 18617
diff changeset
   617
  comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
18568
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   618
  searching for changes
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   619
  no changes found
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   620
  [1]
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   621
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   622
#if serve
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   623
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   624
  $ hg serve -R ../repo-issue3805 -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   625
  $ cat hg.pid >> $DAEMON_PIDS
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   626
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   627
  $ hg incoming http://localhost:$HGPORT
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   628
  comparing with http://localhost:$HGPORT/
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   629
  searching for changes
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   630
  1:3816541e5485 (public) [tip ] A
18568
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   631
  $ hg outgoing http://localhost:$HGPORT
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   632
  comparing with http://localhost:$HGPORT/
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   633
  searching for changes
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   634
  no changes found
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   635
  [1]
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   636
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   637
  $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   638
cd403d6d96ef incoming: fix incoming when a local head is remotely filtered (issue3805)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18532
diff changeset
   639
#endif
18617
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   640
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   641
This test issue 3814
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   642
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   643
(nothing to push but locally hidden changeset)
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   644
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   645
  $ cd ..
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   646
  $ hg init repo-issue3814
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   647
  $ cd repo-issue3805
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   648
  $ hg push -r 3816541e5485 ../repo-issue3814
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   649
  pushing to ../repo-issue3814
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   650
  searching for changes
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   651
  adding changesets
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   652
  adding manifests
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   653
  adding file changes
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   654
  added 1 changesets with 1 changes to 1 files
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   655
  $ hg out ../repo-issue3814
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   656
  comparing with ../repo-issue3814
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   657
  searching for changes
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   658
  no changes found
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   659
  [1]
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   660
20807
91d28bd0e04e repoview: add non-global tags to candidate list for blocking hidden changesets
Sean Farley <sean.michael.farley@gmail.com>
parents: 20117
diff changeset
   661
Test that a local tag blocks a changeset from being hidden
18617
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   662
20807
91d28bd0e04e repoview: add non-global tags to candidate list for blocking hidden changesets
Sean Farley <sean.michael.farley@gmail.com>
parents: 20117
diff changeset
   663
  $ hg tag -l visible -r 0 --hidden
91d28bd0e04e repoview: add non-global tags to candidate list for blocking hidden changesets
Sean Farley <sean.michael.farley@gmail.com>
parents: 20117
diff changeset
   664
  $ hg log -G
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   665
  @  2:3816541e5485 (draft) [tip ] A
20807
91d28bd0e04e repoview: add non-global tags to candidate list for blocking hidden changesets
Sean Farley <sean.michael.farley@gmail.com>
parents: 20117
diff changeset
   666
  
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   667
  x  0:193e9254ce7e (draft) [visible ] A
20807
91d28bd0e04e repoview: add non-global tags to candidate list for blocking hidden changesets
Sean Farley <sean.michael.farley@gmail.com>
parents: 20117
diff changeset
   668
  
21823
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   669
Test that removing a local tag does not cause some commands to fail
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   670
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   671
  $ hg tag -l -r tip tiptag
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   672
  $ hg tags
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   673
  tiptag                             2:3816541e5485
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   674
  tip                                2:3816541e5485
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   675
  visible                            0:193e9254ce7e
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   676
  $ hg --config extensions.strip= strip -r tip --no-backup
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   677
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   678
  $ hg tags
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   679
  visible                            0:193e9254ce7e
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   680
  tip                                0:193e9254ce7e