tests/test-obsolete.t
author Siddharth Agarwal <sid0@fb.com>
Tue, 17 Nov 2015 13:55:30 -0800
changeset 26991 2ddc92bae4a7
parent 25569 2612e6dab189
child 27318 95a54824ab00
permissions -rw-r--r--
mergestate: add a constructor that reads state from disk At the moment it's the same as just creating a new mergestate, but we'll soon move the _read call out of __init__ and in here.
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"
25351
97513f9d2e38 test: use bundle2 for exchange in test-obsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25297
diff changeset
     7
  > [experimental]
97513f9d2e38 test: use bundle2 for exchange in test-obsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25297
diff changeset
     8
  > # drop me once bundle2 is the default,
97513f9d2e38 test: use bundle2 for exchange in test-obsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25297
diff changeset
     9
  > # added to get test change early.
97513f9d2e38 test: use bundle2 for exchange in test-obsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25297
diff changeset
    10
  > bundle2-exp = True
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
    11
  > EOF
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    12
  $ mkcommit() {
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    13
  >    echo "$1" > "$1"
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    14
  >    hg add "$1"
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    15
  >    hg ci -m "add $1"
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    16
  > }
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    17
  $ getid() {
24162
758dd85b6ad6 test-obsolete: use 'log -T {node}' instead of 'id --debug -i' to lookup hash
Matt Harbison <matt_harbison@yahoo.com>
parents: 24136
diff changeset
    18
  >    hg log -T "{node}\n" --hidden -r "desc('$1')"
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    19
  > }
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    20
17252
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
    21
  $ 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
    22
  > 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
    23
  >     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
    24
  >         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
    25
  >             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
    26
  >             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
    27
  > 
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
    28
  >     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
    29
  >         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
    30
  > EOF
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    31
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    32
  $ hg init tmpa
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    33
  $ 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
    34
  $ 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
    35
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
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
    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
  $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
22950
bb8278b289ee obsolete: add readonly flag to obstore constructor
Durham Goode <durham@fb.com>
parents: 22948
diff changeset
    39
  abort: creating obsolete markers is not enabled on this repo
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
    40
  [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
    41
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
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
    43
22955
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22950
diff changeset
    44
  $ cat >> $HGRCPATH << EOF
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22950
diff changeset
    45
  > [experimental]
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22950
diff changeset
    46
  > evolution=createmarkers,exchange
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
    47
  > EOF
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    48
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    49
Killing a single changeset without replacement
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    50
17292
8da6fe276a23 debugobsolete: do not traceback on invalid node identifiers
Patrick Mezard <patrick@mezard.eu>
parents: 17252
diff changeset
    51
  $ hg debugobsolete 0
8da6fe276a23 debugobsolete: do not traceback on invalid node identifiers
Patrick Mezard <patrick@mezard.eu>
parents: 17252
diff changeset
    52
  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
    53
  [255]
8da6fe276a23 debugobsolete: do not traceback on invalid node identifiers
Patrick Mezard <patrick@mezard.eu>
parents: 17252
diff changeset
    54
  $ hg debugobsolete '00'
8da6fe276a23 debugobsolete: do not traceback on invalid node identifiers
Patrick Mezard <patrick@mezard.eu>
parents: 17252
diff changeset
    55
  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
    56
  [255]
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    57
  $ 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
    58
  $ hg debugobsolete
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
    59
  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
    60
a2e9fe93d9ea changectx: fix the handling of `tip`
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18428
diff changeset
    61
(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
    62
a2e9fe93d9ea changectx: fix the handling of `tip`
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18428
diff changeset
    63
  $ 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
    64
  $ hg tip
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
    65
  -1:000000000000 (public) [tip ] 
18464
a2e9fe93d9ea changectx: fix the handling of `tip`
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18428
diff changeset
    66
  $ 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
    67
a56038e6a3c9 obsstore.create: add a simple safeguard against cyclic markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
    68
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
    69
(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
    70
a56038e6a3c9 obsstore.create: add a simple safeguard against cyclic markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
    71
  $ 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
    72
  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
    73
  [255]
a56038e6a3c9 obsstore.create: add a simple safeguard against cyclic markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
    74
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    75
  $ cd ..
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
Killing a single changeset with replacement
22948
c136e26953aa obsstore: fix defaultformat option passing
Durham Goode <durham@fb.com>
parents: 22853
diff changeset
    78
(and testing the format option)
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    79
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    80
  $ hg init tmpb
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    81
  $ cd tmpb
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    82
  $ mkcommit a
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    83
  $ mkcommit b
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    84
  $ mkcommit original_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    85
  $ hg up "desc('b')"
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    86
  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
    87
  $ mkcommit new_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
    88
  created new head
17390
74b44f25b4b1 revset: add hidden() revset
Patrick Mezard <patrick@mezard.eu>
parents: 17306
diff changeset
    89
  $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
23094
32dbd1294ea7 tests: change obsolete timestamp to avoid "gmtime()" problem on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23062
diff changeset
    90
  $ hg debugobsolete --config format.obsstore-version=0 --flag 12 `getid original_c`  `getid new_c` -d '121 120'
17390
74b44f25b4b1 revset: add hidden() revset
Patrick Mezard <patrick@mezard.eu>
parents: 17306
diff changeset
    91
  $ 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
    92
  2:245bde4270cd add original_c
21033
254f55b64e31 debugrevlog: use unfiltered view for changelog
Matt Mackall <mpm@selenic.com>
parents: 20807
diff changeset
    93
  $ hg debugrevlog -cd
22311
5038dee5bdd6 debugrevlog: add chainlen column to --dump output
Sune Foldager <cryo@cyanite.org>
parents: 22274
diff changeset
    94
  # rev p1rev p2rev start   end deltastart base   p1   p2 rawsize totalsize compression heads chainlen
5038dee5bdd6 debugrevlog: add chainlen column to --dump output
Sune Foldager <cryo@cyanite.org>
parents: 22274
diff changeset
    95
      0    -1    -1     0    59          0    0    0    0      58        58           0     1        0
5038dee5bdd6 debugrevlog: add chainlen column to --dump output
Sune Foldager <cryo@cyanite.org>
parents: 22274
diff changeset
    96
      1     0    -1    59   118         59   59    0    0      58       116           0     1        0
23285
6cc1f388ac80 revlog: store fulltext when compressed delta is bigger than it
Siddharth Agarwal <sid0@fb.com>
parents: 23094
diff changeset
    97
      2     1    -1   118   193        118  118   59    0      76       192           0     1        0
6cc1f388ac80 revlog: store fulltext when compressed delta is bigger than it
Siddharth Agarwal <sid0@fb.com>
parents: 23094
diff changeset
    98
      3     1    -1   193   260        193  193   59    0      66       258           0     2        0
17074
178a2e85d426 debugobsolete: list all obsolete marker if no argument are specified
Pierre-Yves.David@ens-lyon.org
parents: 17071
diff changeset
    99
  $ hg debugobsolete
23094
32dbd1294ea7 tests: change obsolete timestamp to avoid "gmtime()" problem on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23062
diff changeset
   100
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   101
22948
c136e26953aa obsstore: fix defaultformat option passing
Durham Goode <durham@fb.com>
parents: 22853
diff changeset
   102
(check for version number of the obsstore)
c136e26953aa obsstore: fix defaultformat option passing
Durham Goode <durham@fb.com>
parents: 22853
diff changeset
   103
c136e26953aa obsstore: fix defaultformat option passing
Durham Goode <durham@fb.com>
parents: 22853
diff changeset
   104
  $ dd bs=1 count=1 if=.hg/store/obsstore 2>/dev/null
c136e26953aa obsstore: fix defaultformat option passing
Durham Goode <durham@fb.com>
parents: 22853
diff changeset
   105
  \x00 (no-eol) (esc)
c136e26953aa obsstore: fix defaultformat option passing
Durham Goode <durham@fb.com>
parents: 22853
diff changeset
   106
17071
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   107
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
   108
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   109
  $ hg up '.^'
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   110
  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
   111
  $ mkcommit new_2_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   112
  created new head
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   113
  $ 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
   114
  $ hg debugobsolete
23094
32dbd1294ea7 tests: change obsolete timestamp to avoid "gmtime()" problem on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23062
diff changeset
   115
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   116
  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
   117
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   118
Register two markers with a missing node
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   119
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   120
  $ hg up '.^'
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   121
  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
   122
  $ mkcommit new_3_c
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   123
  created new head
11f26e2669aa command: creation of obsolete marker
Pierre-Yves.David@ens-lyon.org
parents:
diff changeset
   124
  $ 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
   125
  $ 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
   126
  $ hg debugobsolete
23094
32dbd1294ea7 tests: change obsolete timestamp to avoid "gmtime()" problem on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23062
diff changeset
   127
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   128
  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
   129
  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
   130
  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
   131
17774
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   132
Refuse pathological nullid successors
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   133
  $ 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
   134
  transaction abort!
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   135
  rollback completed
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   136
  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
   137
  [255]
0496d4f73cf4 obsolete: cheap detection of nullid as successors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17390
diff changeset
   138
17119
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   139
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
   140
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 18684
diff changeset
   141
  $ hg log -G
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   142
  @  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
   143
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   144
  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
   145
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   146
  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
   147
  
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   148
18268
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   149
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
   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
  $ hg heads
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   152
  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
   153
  $ hg heads --hidden
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   154
  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
   155
  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
   156
  3:cdbce2fbb163 (draft) [ ] add new_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   157
  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
   158
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   159
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   160
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
   161
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   162
  $ 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
   163
  $ 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
   164
  $ 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
   165
  $ 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
   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: (current)
25382
6084926366b9 summary: move the parents phase marker to commit line (issue4688)
Gilles Moris <gilles.moris@free.fr>
parents: 25351
diff changeset
   171
  phases: 3 draft
18268
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   172
  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
   173
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   174
  $ 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
   175
  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
   176
   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
   177
  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
   178
  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
   179
  update: 3 new changesets, 4 branch heads (merge)
25382
6084926366b9 summary: move the parents phase marker to commit line (issue4688)
Gilles Moris <gilles.moris@free.fr>
parents: 25351
diff changeset
   180
  phases: 6 draft
18268
ed25fe3a7e2f clfilter: ensure that hidden filtering is working on all commands
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18267
diff changeset
   181
  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
   182
18423
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   183
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
   184
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   185
  $ hg tip
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   186
  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
   187
  $ 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
   188
  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
   189
  [255]
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   190
  $ hg log -r 4
23046
c1aede895072 repoview: issue a special message when filtering hidden changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23045
diff changeset
   191
  abort: hidden revision '4'!
c1aede895072 repoview: issue a special message when filtering hidden changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23045
diff changeset
   192
  (use --hidden to access hidden revisions)
18423
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   193
  [255]
23062
ba89f7b542c9 revset: have rev() drop out-of-range or filtered rev explicitly (issue4396)
Yuya Nishihara <yuya@tcha.org>
parents: 23046
diff changeset
   194
  $ hg debugrevspec 'rev(6)'
ba89f7b542c9 revset: have rev() drop out-of-range or filtered rev explicitly (issue4396)
Yuya Nishihara <yuya@tcha.org>
parents: 23046
diff changeset
   195
  $ hg debugrevspec 'rev(4)'
24204
d2de20e1451f revset: extend fullreposet to make "null" revision magically appears in set
Yuya Nishihara <yuya@tcha.org>
parents: 24162
diff changeset
   196
  $ hg debugrevspec 'null'
d2de20e1451f revset: extend fullreposet to make "null" revision magically appears in set
Yuya Nishihara <yuya@tcha.org>
parents: 24162
diff changeset
   197
  -1
18423
5d6ee2494f63 clfilter: stronger detection of filtered changeset in changectx.__init__
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18401
diff changeset
   198
17119
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   199
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
   200
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18104
diff changeset
   201
  $ hg --hidden phase --public 2
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 18684
diff changeset
   202
  $ hg log -G
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   203
  @  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
   204
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   205
  | 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
   206
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   207
  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
   208
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   209
  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
   210
  
2e13c1bd34dc graphlog: display obsolete changeset as "x"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17075
diff changeset
   211
17829
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   212
And that bumped changeset are detected
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   213
--------------------------------------
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   214
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   215
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
   216
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
   217
the public changeset
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   218
c73f7a28953c revset: add a bumped revset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17774
diff changeset
   219
  $ hg log --hidden -r 'bumped()'
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   220
  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
   221
17834
743d04dd48ec push: refuse to push bumped changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17833
diff changeset
   222
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
   223
18085
4c53f015564f test: fix truncated comment in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18015
diff changeset
   224
  $ 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
   225
  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
   226
  searching for changes
18104
a2cebd3e4daa clfilter: use filtering in `visibleheads`
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18085
diff changeset
   227
  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
   228
  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
   229
  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
   230
  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
   231
  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
   232
  $ hg push ../tmpa
743d04dd48ec push: refuse to push bumped changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17833
diff changeset
   233
  pushing to ../tmpa
743d04dd48ec push: refuse to push bumped changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17833
diff changeset
   234
  searching for changes
743d04dd48ec push: refuse to push bumped changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17833
diff changeset
   235
  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
   236
  [255]
743d04dd48ec push: refuse to push bumped changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17833
diff changeset
   237
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   238
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
   239
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
   240
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   241
  $ 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
   242
  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
   243
  $ 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
   244
  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
   245
  $ 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
   246
  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
   247
  $ 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
   248
  $ 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
   249
  $ hg log -G
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   250
  @  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
   251
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   252
  | 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
   253
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   254
  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
   255
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   256
  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
   257
  
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   258
24681
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   259
  $ cd ..
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   260
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   261
Revision 0 is hidden
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   262
--------------------
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   263
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   264
  $ hg init rev0hidden
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   265
  $ cd rev0hidden
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   266
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   267
  $ mkcommit kill0
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   268
  $ hg up -q null
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   269
  $ hg debugobsolete `getid kill0`
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   270
  $ mkcommit a
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   271
  $ mkcommit b
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   272
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   273
Should pick the first visible revision as "repo" node
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   274
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   275
  $ hg archive ../archive-null
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   276
  $ cat ../archive-null/.hg_archival.txt
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   277
  repo: 1f0dee641bb7258c56bd60e93edfa2405381c41e
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   278
  node: 7c3bad9141dcb46ff89abf5f61856facd56e476c
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   279
  branch: default
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   280
  latesttag: null
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   281
  latesttagdistance: 2
33ab99a6ad9b archive: look for first visible revision to build repo identity (issue4591)
Yuya Nishihara <yuya@tcha.org>
parents: 24234
diff changeset
   282
  changessincelatesttag: 2
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   283
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   284
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   285
  $ cd ..
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   286
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   287
Exchange Test
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   288
============================
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   289
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   290
Destination repo does not have any data
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   291
---------------------------------------
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   292
18493
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   293
Simple incoming test
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   294
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   295
  $ hg init tmpc
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   296
  $ cd tmpc
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   297
  $ hg incoming ../tmpb
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   298
  comparing with ../tmpb
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   299
  0:1f0dee641bb7 (public) [ ] add a
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   300
  1:7c3bad9141dc (public) [ ] add b
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   301
  2:245bde4270cd (public) [ ] add original_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   302
  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
   303
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   304
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
   305
(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
   306
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   307
  $ hg pull ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   308
  pulling from ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   309
  requesting all changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   310
  adding changesets
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   311
  adding manifests
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   312
  adding file changes
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   313
  added 4 changesets with 4 changes to 4 files (+1 heads)
25351
97513f9d2e38 test: use bundle2 for exchange in test-obsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25297
diff changeset
   314
  5 new obsolescence markers
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   315
  (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
   316
  $ hg debugobsolete
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   317
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
23094
32dbd1294ea7 tests: change obsolete timestamp to avoid "gmtime()" problem on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23062
diff changeset
   318
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   319
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   320
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   321
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 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
   322
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   323
Rollback//Transaction support
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   324
8fa8717b47b6 obsolete: write obsolete marker inside a transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17119
diff changeset
   325
  $ 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
   326
  $ hg debugobsolete
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   327
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
23094
32dbd1294ea7 tests: change obsolete timestamp to avoid "gmtime()" problem on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23062
diff changeset
   328
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   329
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   330
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   331
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   332
  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
   333
  $ hg rollback -n
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   334
  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
   335
  $ hg rollback
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   336
  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
   337
  $ hg debugobsolete
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   338
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
23094
32dbd1294ea7 tests: change obsolete timestamp to avoid "gmtime()" problem on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23062
diff changeset
   339
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   340
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   341
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   342
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   343
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   344
  $ cd ..
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   345
18492
45445187d286 test: minor documentation fix
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18464
diff changeset
   346
Try to push markers
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   347
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   348
  $ hg init tmpd
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   349
  $ hg -R tmpb push tmpd
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   350
  pushing to tmpd
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   351
  searching for changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   352
  adding changesets
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   353
  adding manifests
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   354
  adding file changes
17169
c18ecebed3f1 push: refuse to push obsolete changesets
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17126
diff changeset
   355
  added 4 changesets with 4 changes to 4 files (+1 heads)
25351
97513f9d2e38 test: use bundle2 for exchange in test-obsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25297
diff changeset
   356
  5 new obsolescence markers
22349
9d1f3896f39c test-obsolete: sort the output of debugobsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22348
diff changeset
   357
  $ hg -R tmpd debugobsolete | sort
9d1f3896f39c test-obsolete: sort the output of debugobsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22348
diff changeset
   358
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
23094
32dbd1294ea7 tests: change obsolete timestamp to avoid "gmtime()" problem on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23062
diff changeset
   359
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
22349
9d1f3896f39c test-obsolete: sort the output of debugobsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22348
diff changeset
   360
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
9d1f3896f39c test-obsolete: sort the output of debugobsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22348
diff changeset
   361
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   362
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   363
17252
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   364
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
   365
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   366
  $ 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
   367
  $ 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
   368
  pushing to tmpd
22019
9fcf772f15ff push: perform phases discovery before the push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21978
diff changeset
   369
  listkeys phases
22239
0688010ee38f push: move bookmark discovery with other discovery steps
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22220
diff changeset
   370
  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
   371
  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
   372
  listkeys phases
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   373
  [1]
16fad7323e56 push: do not try to push remote obsolete if local has none
Patrick Mezard <patrick@mezard.eu>
parents: 17249
diff changeset
   374
17249
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   375
clone support
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   376
(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
   377
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   378
  $ hg clone tmpb clone-dest
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   379
  updating to branch default
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   380
  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
   381
  $ 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
   382
  @  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
   383
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   384
  | 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
   385
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   386
  | 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
   387
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   388
  | 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
   389
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   390
  | 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
   391
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   392
  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
   393
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   394
  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
   395
  
7d4747c711a9 clone: copy obsolete markers during local clone
Pierre-Yves.David@ens-lyon.org
parents: 17214
diff changeset
   396
  $ hg -R clone-dest debugobsolete
23094
32dbd1294ea7 tests: change obsolete timestamp to avoid "gmtime()" problem on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23062
diff changeset
   397
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   398
  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
   399
  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
   400
  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
   401
  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
   402
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   403
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   404
Destination repo have existing data
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   405
---------------------------------------
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   406
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   407
On pull
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   408
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   409
  $ hg init tmpe
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   410
  $ cd tmpe
22348
44092e6d5e13 test-obsolete: change a marker so it is relevant to the exchanged set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22311
diff changeset
   411
  $ hg debugobsolete -d '1339 0' 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   412
  $ hg pull ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   413
  pulling from ../tmpb
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   414
  requesting all changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   415
  adding changesets
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   416
  adding manifests
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   417
  adding file changes
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   418
  added 4 changesets with 4 changes to 4 files (+1 heads)
25351
97513f9d2e38 test: use bundle2 for exchange in test-obsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25297
diff changeset
   419
  5 new obsolescence markers
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   420
  (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
   421
  $ hg debugobsolete
22348
44092e6d5e13 test-obsolete: change a marker so it is relevant to the exchanged set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22311
diff changeset
   422
  1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   423
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
23094
32dbd1294ea7 tests: change obsolete timestamp to avoid "gmtime()" problem on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23062
diff changeset
   424
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   425
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   426
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   427
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   428
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   429
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   430
On push
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   431
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   432
  $ hg push ../tmpc
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   433
  pushing to ../tmpc
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   434
  searching for changes
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   435
  no changes found
25351
97513f9d2e38 test: use bundle2 for exchange in test-obsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25297
diff changeset
   436
  1 new obsolescence markers
17075
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   437
  [1]
28ed1c4511ce obsolete: exchange obsolete marker over pushkey
Pierre-Yves.David@ens-lyon.org
parents: 17074
diff changeset
   438
  $ hg -R ../tmpc debugobsolete
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   439
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
23094
32dbd1294ea7 tests: change obsolete timestamp to avoid "gmtime()" problem on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23062
diff changeset
   440
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   441
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22207
diff changeset
   442
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   443
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
22348
44092e6d5e13 test-obsolete: change a marker so it is relevant to the exchanged set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22311
diff changeset
   444
  1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 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
   445
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   446
detect outgoing obsolete and unstable
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   447
---------------------------------------
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   448
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   449
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 18684
diff changeset
   450
  $ hg log -G
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   451
  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
   452
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   453
  | 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
   454
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   455
  o  1:7c3bad9141dc (public) [ ] add b
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   456
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   457
  o  0:1f0dee641bb7 (public) [ ] add a
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   458
  
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   459
  $ 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
   460
  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
   461
  $ mkcommit original_d
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   462
  $ 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
   463
  $ 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
   464
  $ 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
   465
  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
   466
  $ hg log -r 'obsolete()'
21978
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
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 18684
diff changeset
   468
  $ hg log -G -r '::unstable()'
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   469
  @  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
   470
  |
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   471
  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
   472
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   473
  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
   474
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   475
  o  1:7c3bad9141dc (public) [ ] add b
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   476
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   477
  o  0:1f0dee641bb7 (public) [ ] add a
17171
9c750c3e4fac obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17170
diff changeset
   478
  
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   479
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   480
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
   481
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   482
  $ 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
   483
  pushing to ../tmpc/
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   484
  searching for changes
17833
0c1185f6ddd7 obsolete: simplify push abort message
push includes an xxx changeset: yyyyyyyyyy
parents: 17831
diff changeset
   485
  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
   486
  [255]
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   487
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   488
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
   489
17172
12fdaa30063a push: refuse to push unstable changesets without force
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17171
diff changeset
   490
  $ 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
   491
  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
   492
  searching for changes
17833
0c1185f6ddd7 obsolete: simplify push abort message
push includes an xxx changeset: yyyyyyyyyy
parents: 17831
diff changeset
   493
  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
   494
  [255]
17173
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   495
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   496
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
   497
c621f84dbb35 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17172
diff changeset
   498
  $ 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
   499
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   500
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
   501
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   502
  $ hg init ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   503
  $ hg out  ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   504
  comparing with ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   505
  searching for changes
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   506
  0:1f0dee641bb7 (public) [ ] add a
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   507
  1:7c3bad9141dc (public) [ ] add b
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   508
  2:245bde4270cd (public) [ ] add original_c
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   509
  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
   510
  4:94b33453f93b (draft) [ ] add original_d
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   511
  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
   512
  $ 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
   513
  pushing to ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   514
  searching for changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   515
  adding changesets
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   516
  adding manifests
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   517
  adding file changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   518
  added 6 changesets with 6 changes to 6 files (+1 heads)
25351
97513f9d2e38 test: use bundle2 for exchange in test-obsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25297
diff changeset
   519
  7 new obsolescence markers
17206
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   520
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   521
no warning displayed
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   522
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   523
  $ hg push ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   524
  pushing to ../tmpf
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   525
  searching for changes
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   526
  no changes found
70ebb4bd8083 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17173
diff changeset
   527
  [1]
17214
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   528
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   529
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
   530
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 18684
diff changeset
   531
  $ hg log -G
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   532
  @  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
   533
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   534
  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
   535
  |
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   536
  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
   537
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   538
  | 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
   539
  |/
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   540
  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
   541
  |
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   542
  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
   543
  
17831
70b08df24fef obsolete: add a flag that allows fixing "bumped" changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17830
diff changeset
   544
  $ 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
   545
  $ mkcommit obsolete_e
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   546
  created new head
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   547
  $ 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
   548
  $ 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
   549
  comparing with ../tmpf
fe67107094fd discovery: outgoing pass unfiltered repo to findcommonincoming (issue3776)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18492
diff changeset
   550
  searching for changes
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   551
  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
   552
  $ hg push ../tmpf
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   553
  pushing to ../tmpf
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   554
  searching for changes
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   555
  adding changesets
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   556
  adding manifests
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   557
  adding file changes
738ad56dd8a6 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17208
diff changeset
   558
  added 1 changesets with 1 changes to 1 files (+1 heads)
25351
97513f9d2e38 test: use bundle2 for exchange in test-obsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25297
diff changeset
   559
  1 new obsolescence markers
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
   560
22274
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   561
test relevance computation
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   562
---------------------------------------
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   563
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   564
Checking simple case of "marker relevance".
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   565
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   566
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   567
Reminder of the repo situation
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   568
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   569
  $ hg log --hidden --graph
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   570
  @  6:3de5eca88c00 (draft) [tip ] add obsolete_e
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   571
  |
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   572
  | x  5:cda648ca50f5 (draft) [ ] add original_e
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   573
  | |
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   574
  | x  4:94b33453f93b (draft) [ ] add original_d
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   575
  |/
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   576
  o  3:6f9641995072 (draft) [ ] add n3w_3_c
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   577
  |
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   578
  | o  2:245bde4270cd (public) [ ] add original_c
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   579
  |/
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   580
  o  1:7c3bad9141dc (public) [ ] add b
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   581
  |
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   582
  o  0:1f0dee641bb7 (public) [ ] add a
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   583
  
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   584
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   585
List of all markers
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   586
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   587
  $ hg debugobsolete
22348
44092e6d5e13 test-obsolete: change a marker so it is relevant to the exchanged set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22311
diff changeset
   588
  1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   589
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
23094
32dbd1294ea7 tests: change obsolete timestamp to avoid "gmtime()" problem on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23062
diff changeset
   590
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   591
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
22274
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   592
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
25118
e632a2429982 obsolete: sort obsmarkers during exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   593
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
22274
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   594
  94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   595
  cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   596
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   597
List of changesets with no chain
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   598
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   599
  $ hg debugobsolete --hidden --rev ::2
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   600
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   601
List of changesets that are included on marker chain
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   602
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   603
  $ hg debugobsolete --hidden --rev 6
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   604
  cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   605
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   606
List of changesets with a longer chain, (including a pruned children)
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   607
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   608
  $ hg debugobsolete --hidden --rev 3
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   609
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
22348
44092e6d5e13 test-obsolete: change a marker so it is relevant to the exchanged set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22311
diff changeset
   610
  1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
23094
32dbd1294ea7 tests: change obsolete timestamp to avoid "gmtime()" problem on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23062
diff changeset
   611
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
22274
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   612
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   613
  94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   614
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   615
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   616
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   617
List of both
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   618
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   619
  $ hg debugobsolete --hidden --rev 3::6
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   620
  1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
22348
44092e6d5e13 test-obsolete: change a marker so it is relevant to the exchanged set
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22311
diff changeset
   621
  1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
23094
32dbd1294ea7 tests: change obsolete timestamp to avoid "gmtime()" problem on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23062
diff changeset
   622
  245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
22274
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   623
  5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   624
  94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   625
  ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   626
  cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   627
  cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
10e87c67f1c7 debugobsolete: add a --rev argument
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22272
diff changeset
   628
18506
ef60083b5536 tests: fix for windows - slashes and no serve
Mads Kiilerich <madski@unity3d.com>
parents: 18493
diff changeset
   629
#if serve
ef60083b5536 tests: fix for windows - slashes and no serve
Mads Kiilerich <madski@unity3d.com>
parents: 18493
diff changeset
   630
24733
c00e4338fa4b obsolete: experimental flag to get debug about obsmarkers exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24681
diff changeset
   631
Test the debug output for exchange
c00e4338fa4b obsolete: experimental flag to get debug about obsmarkers exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24681
diff changeset
   632
----------------------------------
c00e4338fa4b obsolete: experimental flag to get debug about obsmarkers exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24681
diff changeset
   633
c00e4338fa4b obsolete: experimental flag to get debug about obsmarkers exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24681
diff changeset
   634
  $ hg pull ../tmpb --config 'experimental.obsmarkers-exchange-debug=True' --config 'experimental.bundle2-exp=True'
c00e4338fa4b obsolete: experimental flag to get debug about obsmarkers exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24681
diff changeset
   635
  pulling from ../tmpb
c00e4338fa4b obsolete: experimental flag to get debug about obsmarkers exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24681
diff changeset
   636
  searching for changes
c00e4338fa4b obsolete: experimental flag to get debug about obsmarkers exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24681
diff changeset
   637
  no changes found
c00e4338fa4b obsolete: experimental flag to get debug about obsmarkers exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24681
diff changeset
   638
  obsmarker-exchange: 346 bytes received
c00e4338fa4b obsolete: experimental flag to get debug about obsmarkers exchange
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24681
diff changeset
   639
18401
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   640
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
   641
====================================
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   642
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   643
  $ 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
   644
  adding changesets
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   645
  adding manifests
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   646
  adding file changes
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   647
  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
   648
  (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
   649
  $ 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
   650
  > do
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   651
  >    hg debugobsolete $node
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   652
  > done
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   653
  $ hg up tip
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   654
  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
   655
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   656
  $ 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
   657
  $ 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
   658
18426
01638b51df44 hgweb: ignore filtered revision in revnav
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18423
diff changeset
   659
check changelog view
01638b51df44 hgweb: ignore filtered revision in revnav
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18423
diff changeset
   660
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 25382
diff changeset
   661
  $ get-with-headers.py --headeronly localhost:$HGPORT 'shortlog/'
18426
01638b51df44 hgweb: ignore filtered revision in revnav
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18423
diff changeset
   662
  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
   663
18428
8c10f760ca34 hgweb: walk the graph through the changelog
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18426
diff changeset
   664
check graph view
8c10f760ca34 hgweb: walk the graph through the changelog
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18426
diff changeset
   665
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 25382
diff changeset
   666
  $ get-with-headers.py --headeronly localhost:$HGPORT 'graph'
18428
8c10f760ca34 hgweb: walk the graph through the changelog
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18426
diff changeset
   667
  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
   668
18401
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   669
check filelog view
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   670
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 25382
diff changeset
   671
  $ get-with-headers.py --headeronly localhost:$HGPORT 'log/'`hg log -r . -T "{node}"`/'babar'
18401
683a76a07325 hgweb: add test regarding filtering and hgweb
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18268
diff changeset
   672
  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
   673
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 25382
diff changeset
   674
  $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/68'
18522
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   675
  200 Script output follows
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 25382
diff changeset
   676
  $ 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
   677
  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
   678
  [1]
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   679
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   680
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
   681
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 25382
diff changeset
   682
  $ 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
   683
  $ 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
   684
  > [web]
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   685
  > view=all
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   686
  > EOF
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   687
  $ wait
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   688
  $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 25382
diff changeset
   689
  $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/67'
18522
36549fa712da hgweb: add a `web.view` to control filtering
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18506
diff changeset
   690
  200 Script output follows
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 25382
diff changeset
   691
  $ 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
   692
17306
7d2967de2c04 obsolete: fix typos in comments introduced by 6955d69a52a4
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17297
diff changeset
   693
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
   694
22955
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22950
diff changeset
   695
  $ echo '[experimental]' >> $HGRCPATH
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22950
diff changeset
   696
  $ echo "evolution=" >> $HGRCPATH
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
   697
  $ 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
   698
  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
   699
  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
   700
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
   701
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
   702
22955
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22950
diff changeset
   703
  $ echo '[experimental]' >> $HGRCPATH
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22950
diff changeset
   704
  $ echo "evolution=createmarkers,exchange" >> $HGRCPATH
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
   705
18506
ef60083b5536 tests: fix for windows - slashes and no serve
Mads Kiilerich <madski@unity3d.com>
parents: 18493
diff changeset
   706
#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
   707
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
   708
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
   709
===============================================================================
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
   710
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
   711
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
   712
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
   713
  $ 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
   714
  $ 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
   715
  $ 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
   716
  $ 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
   717
  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
   718
  $ 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
   719
  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
   720
  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
   721
  $ 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
   722
  $ 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
   723
  $ 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
   724
  $ hg log -G
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   725
  @  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
   726
  
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
   727
  $ 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
   728
  @  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
   729
  
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
   730
  $ hg incoming
18679
f6f35d646cb5 tests: append glob to filename output when required (windows)
Simon Heimberg <simohe@besonet.ch>
parents: 18617
diff changeset
   731
  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
   732
  searching for changes
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   733
  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
   734
  $ 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
   735
  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
   736
  searching for changes
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   737
  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
   738
  $ hg outgoing
18679
f6f35d646cb5 tests: append glob to filename output when required (windows)
Simon Heimberg <simohe@besonet.ch>
parents: 18617
diff changeset
   739
  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
   740
  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
   741
  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
   742
  [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
   743
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
   744
#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
   745
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
   746
  $ 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
   747
  $ 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
   748
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
   749
  $ 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
   750
  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
   751
  searching for changes
23632
e7fcf58acd71 bundlerepo: retract phase boundary
Eric Sumner <ericsumner@fb.com>
parents: 23285
diff changeset
   752
  1: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
   753
  $ 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
   754
  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
   755
  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
   756
  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
   757
  [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
   758
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
   759
  $ killdaemons.py
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
   760
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
   761
#endif
18617
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   762
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   763
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
   764
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   765
(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
   766
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   767
  $ cd ..
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   768
  $ 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
   769
  $ 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
   770
  $ 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
   771
  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
   772
  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
   773
  adding changesets
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   774
  adding manifests
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   775
  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
   776
  added 1 changesets with 1 changes to 1 files
25351
97513f9d2e38 test: use bundle2 for exchange in test-obsolete
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25297
diff changeset
   777
  2 new obsolescence markers
18617
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   778
  $ 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
   779
  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
   780
  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
   781
  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
   782
  [1]
227479f61db9 outgoing: fix possible filtering crash in outgoing (issue3814)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18568
diff changeset
   783
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
   784
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
   785
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
   786
  $ 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
   787
  $ hg log -G
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   788
  @  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
   789
  
21978
c21c1c8c2017 test-obsolete: better logging template
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21823
diff changeset
   790
  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
   791
  
21823
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   792
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
   793
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   794
  $ 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
   795
  $ hg tags
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   796
  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
   797
  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
   798
  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
   799
  $ 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
   800
  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
   801
  $ hg tags
925d1bb9a971 repoview: do not crash when localtags refers to non existing revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21033
diff changeset
   802
  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
   803
  tip                                0:193e9254ce7e
24113
b08af8f0ac01 localrepo: don't reintroduce pruned tag entries when tagging
Matt Harbison <matt_harbison@yahoo.com>
parents: 23632
diff changeset
   804
24882
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   805
Test bundle overlay onto hidden revision
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   806
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   807
  $ cd ..
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   808
  $ hg init repo-bundleoverlay
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   809
  $ cd repo-bundleoverlay
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   810
  $ echo "A" > foo
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   811
  $ hg ci -Am "A"
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   812
  adding foo
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   813
  $ echo "B" >> foo
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   814
  $ hg ci -m "B"
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   815
  $ hg up 0
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   816
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   817
  $ echo "C" >> foo
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   818
  $ hg ci -m "C"
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   819
  created new head
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   820
  $ hg log -G
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   821
  @  2:c186d7714947 (draft) [tip ] C
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   822
  |
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   823
  | o  1:44526ebb0f98 (draft) [ ] B
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   824
  |/
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   825
  o  0:4b34ecfb0d56 (draft) [ ] A
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   826
  
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   827
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   828
  $ hg clone -r1 . ../other-bundleoverlay
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   829
  adding changesets
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   830
  adding manifests
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   831
  adding file changes
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   832
  added 2 changesets with 2 changes to 1 files
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   833
  updating to branch default
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   834
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   835
  $ cd ../other-bundleoverlay
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   836
  $ echo "B+" >> foo
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   837
  $ hg ci --amend -m "B+"
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   838
  $ hg log -G --hidden
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   839
  @  3:b7d587542d40 (draft) [tip ] B+
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   840
  |
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   841
  | x  2:eb95e9297e18 (draft) [ ] temporary amend commit for 44526ebb0f98
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   842
  | |
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   843
  | x  1:44526ebb0f98 (draft) [ ] B
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   844
  |/
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   845
  o  0:4b34ecfb0d56 (draft) [ ] A
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   846
  
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   847
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   848
  $ hg incoming ../repo-bundleoverlay --bundle ../bundleoverlay.hg
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   849
  comparing with ../repo-bundleoverlay
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   850
  searching for changes
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   851
  1:44526ebb0f98 (draft) [ ] B
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   852
  2:c186d7714947 (draft) [tip ] C
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   853
  $ hg log -G -R ../bundleoverlay.hg
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   854
  o  4:c186d7714947 (draft) [tip ] C
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   855
  |
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   856
  | @  3:b7d587542d40 (draft) [ ] B+
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   857
  |/
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   858
  o  0:4b34ecfb0d56 (draft) [ ] A
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   859
  
995003a324da bundlerepo: disable filtering of changelog while constructing revision text
Yuya Nishihara <yuya@tcha.org>
parents: 24733
diff changeset
   860
24136
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   861
#if serve
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   862
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   863
Test issue 4506
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   864
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   865
  $ cd ..
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   866
  $ hg init repo-issue4506
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   867
  $ cd repo-issue4506
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   868
  $ echo "0" > foo
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   869
  $ hg add foo
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   870
  $ hg ci -m "content-0"
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   871
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   872
  $ hg up null
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   873
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   874
  $ echo "1" > bar
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   875
  $ hg add bar
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   876
  $ hg ci -m "content-1"
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   877
  created new head
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   878
  $ hg up 0
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   879
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   880
  $ hg graft 1
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   881
  grafting 1:1c9eddb02162 "content-1" (tip)
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   882
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   883
  $ hg debugobsolete `hg log -r1 -T'{node}'` `hg log -r2 -T'{node}'`
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   884
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   885
  $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   886
  $ cat hg.pid >> $DAEMON_PIDS
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   887
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 25382
diff changeset
   888
  $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/1'
24136
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   889
  404 Not Found
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   890
  [1]
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 25382
diff changeset
   891
  $ get-with-headers.py --headeronly localhost:$HGPORT 'file/tip/bar'
24136
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   892
  200 Script output follows
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 25382
diff changeset
   893
  $ get-with-headers.py --headeronly localhost:$HGPORT 'annotate/tip/bar'
24136
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   894
  200 Script output follows
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   895
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
   896
  $ killdaemons.py
24136
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   897
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   898
#endif
46d6cdfce4bf hgweb: use introrev() for finding parents (issue4506)
Anton Shestakov <engored@ya.ru>
parents: 24113
diff changeset
   899
25297
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   900
Test heads computation on pending index changes with obsolescence markers
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   901
  $ cd ..
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   902
  $ cat >$TESTTMP/test_extension.py  << EOF
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   903
  > from mercurial import cmdutil
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   904
  > from mercurial.i18n import _
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   905
  > 
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   906
  > cmdtable = {}
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   907
  > command = cmdutil.command(cmdtable)
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   908
  > @command("amendtransient",[], _('hg amendtransient [rev]'))
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   909
  > def amend(ui, repo, *pats, **opts):
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   910
  >   def commitfunc(ui, repo, message, match, opts):
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   911
  >     return repo.commit(message, repo['.'].user(), repo['.'].date(), match)
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   912
  >   opts['message'] = 'Test'
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   913
  >   opts['logfile'] = None
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   914
  >   cmdutil.amend(ui, repo, commitfunc, repo['.'], {}, pats, opts)
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   915
  >   print repo.changelog.headrevs()
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   916
  > EOF
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   917
  $ cat >> $HGRCPATH << EOF
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   918
  > [extensions]
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   919
  > testextension=$TESTTMP/test_extension.py
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   920
  > EOF
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   921
  $ hg init repo-issue-nativerevs-pending-changes
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   922
  $ cd repo-issue-nativerevs-pending-changes
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   923
  $ mkcommit a
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   924
  $ mkcommit b
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   925
  $ hg up ".^"
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   926
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   927
  $ echo aa > a
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   928
  $ hg amendtransient
3966e39fea98 changelog: fix bug in heads computation
Laurent Charignon <lcharignon@fb.com>
parents: 25118
diff changeset
   929
  [1, 3]
25569
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   930
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   931
Test cache consistency for the visible filter
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   932
1) We want to make sure that the cached filtered revs are invalidated when
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   933
bookmarks change
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   934
  $ cd ..
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   935
  $ cat >$TESTTMP/test_extension.py  << EOF
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   936
  > from mercurial import cmdutil, extensions, bookmarks, repoview
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   937
  > def _bookmarkchanged(orig, bkmstoreinst, *args, **kwargs):
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   938
  >  repo = bkmstoreinst._repo
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   939
  >  ret = orig(bkmstoreinst, *args, **kwargs)
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   940
  >  hidden1 = repoview.computehidden(repo)
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   941
  >  hidden = repoview.filterrevs(repo, 'visible')
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   942
  >  if sorted(hidden1) != sorted(hidden):
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   943
  >    print "cache inconsistency"
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   944
  >  return ret
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   945
  > def extsetup(ui):
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   946
  >   extensions.wrapfunction(bookmarks.bmstore, 'write', _bookmarkchanged)
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   947
  > EOF
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   948
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   949
  $ hg init repo-cache-inconsistency
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   950
  $ cd repo-issue-nativerevs-pending-changes
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   951
  $ mkcommit a
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   952
  a already tracked!
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   953
  $ mkcommit b
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   954
  $ hg id
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   955
  13bedc178fce tip
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   956
  $ echo "hello" > b
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   957
  $ hg commit --amend -m "message"
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   958
  $ hg book bookb -r 13bedc178fce --hidden
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   959
  $ hg log -r 13bedc178fce
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   960
  5:13bedc178fce (draft) [ bookb] add b
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   961
  $ hg book -d bookb
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   962
  $ hg log -r 13bedc178fce
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   963
  abort: hidden revision '13bedc178fce'!
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   964
  (use --hidden to access hidden revisions)
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   965
  [255]
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   966
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   967
2612e6dab189 repoview: invalidate 'visible' filtered revisions when bookmarks change
Laurent Charignon <lcharignon@fb.com>
parents: 25474
diff changeset
   968