tests/test-obsolete.t
author Gregory Szorc <gregory.szorc@gmail.com>
Sat, 26 Sep 2015 21:43:13 -0700
changeset 26380 56a640b0f656
parent 25569 2612e6dab189
child 27318 95a54824ab00
permissions -rw-r--r--
revlog: don't flush data file after every added revision The current behavior of revlogs is to flush the data file when writing data to it. Tracing system calls revealed that changegroup processing incurred numerous write(2) calls for values much smaller than the default buffer size (Python defaults to 4096, but it can be adjusted based on detected block size at run time by CPython). The reason we flush revlogs is so readers have all data available. For example, the current code in revlog.py will re-open the revlog file (instead of seeking an existing file handle) to read the text of a revision. This happens when starting a new delta chain when adding several revisions from changegroups, for example. Yes, this is likely sub-optimal (we should probably be sharing file descriptors between readers and writers to avoid the flushing and associated overhead of re-opening files). While flushing revlogs is necessary, it appears all callers are diligent about flushing files before a read is performed (see buildtext() in _addrevision()), making the flush in _writeentry() redundant and unncessary. So, we remove it. In practice, this means we incur a write(2) a) when the buffer is full (typically 4096 bytes) b) when a new delta chain is created rather than after every added revision. This applies to every revlog, but by volume it mostly impacts filelogs. Removing the redundant flush from _writeentry() significantly reduces the number of write(2) calls during changegroup processing on my Linux machine. When applying a changegroup of the hg repo based on my local repo, the total number of write(2) calls during application of the mercurial/localrepo.py revlogs dropped from 1,320 to 217 with this patch applied. Total I/O related system calls dropped from 1,577 to 474. When unbundling a mozilla-central gzipped bundle (264,403 changesets with 1,492,215 changes to 222,507 files), total write(2) calls dropped from 1,252,881 to 827,106 and total system calls dropped from 3,601,259 to 3,178,636 - a reduction of 425,775! While the system call reduction is significant, it appears to have no impact on wall time on my Linux and Windows machines. Still, fewer syscalls is fewer syscalls. Surely this can't hurt. If nothing else, it makes examining remaining system call usage simpler and opens the door to experimenting with the performance impact of different buffer sizes.
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