--- a/CHANGELOG Thu Aug 16 11:58:07 2018 +0200
+++ b/CHANGELOG Fri Aug 17 01:07:37 2018 +0200
@@ -5,6 +5,8 @@
-------------------
* next: fix topic restriction when passing --evolve
+ * clone: fix possible crash when using clone bundle and forcing cache warming
+ * obshashrange: fix speed and consistency issues during cache invalidation
8.1.0 -- 2018-08-03
-------------------
--- a/hgext3rd/evolve/obsdiscovery.py Thu Aug 16 11:58:07 2018 +0200
+++ b/hgext3rd/evolve/obsdiscovery.py Fri Aug 17 01:07:37 2018 +0200
@@ -65,7 +65,6 @@
_calcsize = struct.calcsize
eh = exthelper.exthelper()
-eh.merge(stablerangecache.eh)
obsexcmsg = utility.obsexcmsg
# Config
@@ -349,10 +348,50 @@
_updateobshash = "INSERT INTO obshashrange(rev, idx, obshash) VALUES (?,?,?);"
_querymeta = "SELECT schemaversion, tiprev, tipnode, nbobsmarker, obssize, obskey FROM meta;"
_queryobshash = "SELECT obshash FROM obshashrange WHERE (rev = ? AND idx = ?);"
+_query_max_stored = "SELECT MAX(rev) FROM obshashrange"
_reset = "DELETE FROM obshashrange;"
_delete = "DELETE FROM obshashrange WHERE (rev = ? AND idx = ?);"
+def _affectedby(repo, markers):
+ """return all nodes whose relevant set is affected by this changeset
+
+ This is a reversed version of obsstore.relevantmarkers
+ """
+ affected_nodes = set()
+ known_markers = set(markers)
+ node_to_proceed = set()
+ marker_to_proceed = set(known_markers)
+
+ obsstore = repo.obsstore
+
+ while node_to_proceed or marker_to_proceed:
+ while marker_to_proceed:
+ m = marker_to_proceed.pop()
+ # check successors and parent
+ if m[1]:
+ relevant = (m[1], )
+ else: # prune case
+ relevant = ((m[0], ), m[5])
+ for l in relevant:
+ if l is None:
+ continue
+ for n in l:
+ if n not in affected_nodes:
+ node_to_proceed.add(n)
+ affected_nodes.add(n)
+ # marker_to_proceed is now empty:
+ if node_to_proceed:
+ n = node_to_proceed.pop()
+ markers = set()
+ markers.update(obsstore.successors.get(n, ()))
+ markers.update(obsstore.predecessors.get(n, ()))
+ markers -= known_markers
+ marker_to_proceed.update(markers)
+ known_markers.update(markers)
+
+ return affected_nodes
+
class _obshashcache(obscache.dualsourcecache):
_schemaversion = 2
@@ -417,46 +456,40 @@
self._updating = True
- setrevs = set(revs)
- rev = repo.changelog.nodemap.get
- # if we have a new markers affecting a node already covered by the
- # cache, we must abort.
- affected = set()
- for m in obsmarkers:
- # check successors and parent
- for l in (m[1], m[5]):
- if l is None:
- continue
- for p in l:
- r = rev(p)
- if r is not None and r not in setrevs:
- # XXX should check < min(setrevs) or tiprevs
- affected.add(r)
+ con = self._con
+ if con is not None:
+ max_stored = con.execute(_query_max_stored).fetchall()[0][0]
+ affected_nodes = _affectedby(repo, obsmarkers)
+
+ rev = repo.changelog.nodemap.get
+ affected = [rev(n) for n in affected_nodes]
+ affected = [r for r in affected
+ if r is not None and r <= max_stored]
- if affected:
- repo.ui.log('evoext-cache', 'obshashcache clean - '
- 'new markers affect %d changeset and cached ranges\n'
- % len(affected))
- # XXX the current reset is too strong we could just drop the affected range
- con = self._con
- if con is not None:
- con.execute(_reset)
-
- ranges = repo.stablerange.contains(repo, affected)
+ if affected:
+ repo.ui.log('evoext-cache', 'obshashcache clean - '
+ 'new markers affect %d changeset and cached ranges\n'
+ % len(affected))
+ if con is not None:
+ # always reset for now, the code detecting affect is buggy
+ # so we need to reset more broadly than we would like.
+ if repo.stablerange._con is None:
+ con.execute(_reset)
+ else:
+ ranges = repo.stablerange.contains(repo, affected)
+ con.executemany(_delete, ranges)
- con.executemany(_delete, ranges)
-
- # rewarm key revisions
- #
- # (The current invalidation is too wide, but rewarming every single
- # revision is quite costly)
- newrevs = []
- stop = self._cachekey[0] # tiprev
- for h in repo.filtered('immutable').changelog.headrevs():
- if h <= stop and h in affected:
- newrevs.append(h)
- newrevs.extend(revs)
- revs = newrevs
+ # rewarm key revisions
+ #
+ # (The current invalidation is too wide, but rewarming every
+ # single revision is quite costly)
+ newrevs = []
+ stop = self._cachekey[0] # tiprev
+ for h in repo.filtered('immutable').changelog.headrevs():
+ if h <= stop and h in affected:
+ newrevs.append(h)
+ newrevs.extend(revs)
+ revs = newrevs
repo.depthcache.update(repo)
total = len(revs)
@@ -1003,3 +1036,6 @@
else:
boundaries['common'] = [node.nullid]
return boundaries
+
+# merge later for outer layer wrapping
+eh.merge(stablerangecache.eh)
--- a/hgext3rd/evolve/stablerange.py Thu Aug 16 11:58:07 2018 +0200
+++ b/hgext3rd/evolve/stablerange.py Fri Aug 17 01:07:37 2018 +0200
@@ -32,8 +32,6 @@
filterparents = utility.filterparents
eh = exthelper.exthelper()
-eh.merge(stablesort.eh)
-eh.merge(firstmergecache.eh)
#################################
@@ -864,3 +862,7 @@
top = (rangeid[0], globalindex)
result.append(top)
return result
+
+# merge later for outer layer wrapping
+eh.merge(stablesort.eh)
+eh.merge(firstmergecache.eh)
--- a/hgext3rd/evolve/stablerangecache.py Thu Aug 16 11:58:07 2018 +0200
+++ b/hgext3rd/evolve/stablerangecache.py Fri Aug 17 01:07:37 2018 +0200
@@ -9,6 +9,7 @@
import abc
import heapq
+import random
import sqlite3
import time
import weakref
@@ -29,7 +30,6 @@
from mercurial.i18n import _
eh = exthelper.exthelper()
-eh.merge(stablerange.eh)
class stablerangeondiskbase(stablerange.stablerangecached,
genericcaches.changelogsourcebase):
@@ -120,10 +120,17 @@
FROM subranges
WHERE (suprev = ? AND supidx = ?)
ORDER BY listidx;"""
-_querysuperranges = """SELECT suprev, supidx
- FROM subranges
- WHERE (subrev = ? AND subidx = ?)
- ORDER BY listidx;"""
+
+_querysuperrangesmain = """SELECT DISTINCT suprev, supidx
+ FROM subranges
+ WHERE %s;"""
+
+_querysuperrangesbody = '(subrev = %d and subidx = %d)'
+
+def _make_querysuperranges(ranges):
+ # building a tree of OR would allow for more ranges
+ body = ' OR '.join(_querysuperrangesbody % r for r in ranges)
+ return _querysuperrangesmain % body
class stablerangesqlbase(stablerange.stablerangecached):
"""class that can handle all the bits needed to store range into sql
@@ -144,18 +151,22 @@
self._unsavedsubranges = {}
def contains(self, repo, revs):
+ con = self._con
+ assert con is not None
new = set()
known = set()
depth = repo.depthcache.get
for r in revs:
new.add((r, depth(r) - 1))
new.add((r, 0))
- con = self._con
- while new and con is not None:
- # many execute is not efficient
- next = new.pop()
- known.add(next)
- ranges = set(con.execute(_querysuperranges, next).fetchall())
+ while new:
+ if len(new) < 300:
+ sample = new
+ else:
+ sample = random.sample(new, 300)
+ known.update(sample)
+ query = _make_querysuperranges(sample)
+ ranges = set(con.execute(query).fetchall())
new.update(ranges)
new -= known
return sorted(known)
@@ -391,3 +402,5 @@
return tr
repo.__class__ = stablerangerepo
+
+eh.merge(stablerange.eh)
--- a/hgext3rd/evolve/stablesort.py Thu Aug 16 11:58:07 2018 +0200
+++ b/hgext3rd/evolve/stablesort.py Fri Aug 17 01:07:37 2018 +0200
@@ -34,7 +34,6 @@
filterparents = utility.filterparents
eh = exthelper.exthelper()
-eh.merge(depthcache.eh)
def _mergepoint_tie_breaker(repo):
"""the key use to tie break merge parent
@@ -705,3 +704,6 @@
'headcached': stablesort_mergepoint_head_cached,
'headondisk': stablesort_mergepoint_head_ondisk,
}
+
+# merge last so that repo setup wrap after that one.
+eh.merge(depthcache.eh)
--- a/tests/test-discovery-obshashrange.t Thu Aug 16 11:58:07 2018 +0200
+++ b/tests/test-discovery-obshashrange.t Fri Aug 17 01:07:37 2018 +0200
@@ -140,7 +140,7 @@
* @0000000000000000000000000000000000000000 (*)> strip detected, evo-ext-depthcache cache reset (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
- * @0000000000000000000000000000000000000000 (*)> updated evo-ext-obshashrange in *.???? seconds (8r, 5o) (glob)
+ 1970/01/01 00:00:00 * @0000000000000000000000000000000000000000 (*)> updated evo-ext-obshashrange in *.???? seconds (8r, 5o) (glob)
* @0000000000000000000000000000000000000000 (*)> debugobshashrange --subranges --rev tip exited 0 after *.?? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> -R server serve --stdio (glob)
* @0000000000000000000000000000000000000000 (*)> -R server serve --stdio exited 0 after *.?? seconds (glob)
@@ -240,13 +240,13 @@
* @0000000000000000000000000000000000000000 (*)> strip detected, evo-ext-depthcache cache reset (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
- * @0000000000000000000000000000000000000000 (*)> updated evo-ext-depthcache in *.???? seconds (1r) (glob)
- * @0000000000000000000000000000000000000000 (*)> updated evo-ext-obshashrange in *.???? seconds (1r, 1o) (glob)
- * @0000000000000000000000000000000000000000 (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (1r) (glob)
* @0000000000000000000000000000000000000000 (*)> strip detected, evo-ext-firstmerge cache reset (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-firstmerge in *.???? seconds (9r) (glob)
+ * @0000000000000000000000000000000000000000 (*)> updated evo-ext-depthcache in *.???? seconds (1r) (glob)
* @0000000000000000000000000000000000000000 (*)> strip detected, evo-ext-stablesort cache reset (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-stablesort in *.???? seconds (9r) (glob)
+ * @0000000000000000000000000000000000000000 (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (1r) (glob)
+ 1970/01/01 00:00:00 * @0000000000000000000000000000000000000000 (*)> updated evo-ext-obshashrange in *.???? seconds (1r, 1o) (glob)
* @0000000000000000000000000000000000000000 (*)> obscache is out of date, falling back to slower obsstore version (glob)
* @0000000000000000000000000000000000000000 (*)> updated served branch cache in *.???? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> wrote served branch cache with 1 labels and 2 nodes (glob)
@@ -344,7 +344,7 @@
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (6r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (6r) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (6r, 4o) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (6r, 4o) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> query 0; add more sample (target 100, current 1) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> query 0; sample size is 9, largest range 5 (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> sending evoext_obshashrange_v1 command (glob)
@@ -447,7 +447,7 @@
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-obscache in *.???? seconds (0r, 1o) (glob)
* @0000000000000000000000000000000000000000 (*)> -R ../server debugobsolete bbbbbbb2222222222bbbbbbbbbbbbb2222222222 bebd167eb94d257ace0e814aeb98e6972ed2970d exited 0 after *.?? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> -R server serve --stdio (glob)
- * @0000000000000000000000000000000000000000 (*)> obshashcache clean - new markers affect 2 changeset and cached ranges (glob)
+ 1970/01/01 00:00:00 * @0000000000000000000000000000000000000000 (*)> obshashcache clean - new markers affect 2 changeset and cached ranges (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-obshashrange in *.???? seconds (0r, 2o) (glob)
* @0000000000000000000000000000000000000000 (*)> -R server serve --stdio exited 0 after *.?? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> -R ../server blackbox (glob)
@@ -578,10 +578,52 @@
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> blackbox (glob)
$ rm .hg/blackbox.log
-Adding prune markers on existing changeset
-------------------------------------------
+Adding markers affecting existing changeset
+-------------------------------------------
+
+Simple prune marker
+ $ hg debugobshashrange -R ../server --subranges --rev 'heads(all())'
+ rev node index size depth obshash
+ 7 4de32a90b66c 0 8 8 3e1f959425c6
+ 8 45f8b879de92 0 6 6 b405cb0bdc2b
+ 3 2dc09a01254d 0 4 4 8932bf980bb4
+ 7 4de32a90b66c 4 4 8 5a7179ca8e73
+ 3 2dc09a01254d 2 2 4 ce1937ca1278
+ 8 45f8b879de92 4 2 6 9c26c72819c0
+ 7 4de32a90b66c 6 2 8 033544c939f0
+ 1 66f7d451a68b 0 2 2 327c7dd73d29
+ 5 c8d03c1b5e94 4 2 6 ec8a3e92c525
+ 2 01241442b3c2 2 1 3 1ed3c61fb39a
+ 0 1ea73414a91b 0 1 1 000000000000
+ 3 2dc09a01254d 3 1 4 26f996446ecb
+ 8 45f8b879de92 5 1 6 1a0c08180b65
+ 7 4de32a90b66c 7 1 8 033544c939f0
+ 1 66f7d451a68b 1 1 2 327c7dd73d29
+ 4 bebd167eb94d 4 1 5 20a2cc572e4b
+ 5 c8d03c1b5e94 5 1 6 446c2dc3bce5
+ 6 f69452c5b1af 6 1 7 000000000000
$ hg -R ../server debugobsolete --record-parents `getid 'desc(foo)'`
+ $ hg debugobshashrange -R ../server --subranges --rev 'heads(all())'
+ rev node index size depth obshash
+ 7 4de32a90b66c 0 8 8 c7f1f7e9925b
+ 8 45f8b879de92 0 6 6 7c49a958a9ac
+ 3 2dc09a01254d 0 4 4 8932bf980bb4
+ 7 4de32a90b66c 4 4 8 c681c3e58c27
+ 3 2dc09a01254d 2 2 4 ce1937ca1278
+ 8 45f8b879de92 4 2 6 c6795525c540
+ 7 4de32a90b66c 6 2 8 033544c939f0
+ 1 66f7d451a68b 0 2 2 327c7dd73d29
+ 5 c8d03c1b5e94 4 2 6 89755fd39e6d
+ 2 01241442b3c2 2 1 3 1ed3c61fb39a
+ 0 1ea73414a91b 0 1 1 000000000000
+ 3 2dc09a01254d 3 1 4 26f996446ecb
+ 8 45f8b879de92 5 1 6 796507769034
+ 7 4de32a90b66c 7 1 8 033544c939f0
+ 1 66f7d451a68b 1 1 2 327c7dd73d29
+ 4 bebd167eb94d 4 1 5 b21465ecb790
+ 5 c8d03c1b5e94 5 1 6 446c2dc3bce5
+ 6 f69452c5b1af 6 1 7 000000000000
$ hg pull -r `getid 'desc(r4)'`
pulling from ssh://user@dummy/server
no changes found
@@ -618,7 +660,241 @@
6 c8d03c1b5e94 5 1 6 446c2dc3bce5
7 f69452c5b1af 6 1 7 000000000000
+Stacked prune markers
+
+ $ hg -R ../server --hidden up 'desc(foo)'
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ echo a > ../server/xhf
+ $ hg -R ../server commit -Am "chain_prune"
+ adding xhf
+ $ hg -R ../server update null
+ 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+ $ hg debugobshashrange -R ../server --subranges --rev 'heads(all())'
+ rev node index size depth obshash
+ 7 4de32a90b66c 0 8 8 c7f1f7e9925b
+ 9 09b2e73c5f20 0 7 7 000000000000
+ 3 2dc09a01254d 0 4 4 8932bf980bb4
+ 7 4de32a90b66c 4 4 8 c681c3e58c27
+ 9 09b2e73c5f20 4 3 7 000000000000
+ 3 2dc09a01254d 2 2 4 ce1937ca1278
+ 8 45f8b879de92 4 2 6 c6795525c540
+ 7 4de32a90b66c 6 2 8 033544c939f0
+ 1 66f7d451a68b 0 2 2 327c7dd73d29
+ 5 c8d03c1b5e94 4 2 6 89755fd39e6d
+ 2 01241442b3c2 2 1 3 1ed3c61fb39a
+ 9 09b2e73c5f20 6 1 7 000000000000
+ 0 1ea73414a91b 0 1 1 000000000000
+ 3 2dc09a01254d 3 1 4 26f996446ecb
+ 8 45f8b879de92 5 1 6 796507769034
+ 7 4de32a90b66c 7 1 8 033544c939f0
+ 1 66f7d451a68b 1 1 2 327c7dd73d29
+ 4 bebd167eb94d 4 1 5 b21465ecb790
+ 5 c8d03c1b5e94 5 1 6 446c2dc3bce5
+ 6 f69452c5b1af 6 1 7 000000000000
+ $ hg -R ../server debugobsolete --record-parents `(cd ../server/; getid 'desc("chain_prune")')`
+ obsoleted 1 changesets
+ $ hg debugobshashrange -R ../server --subranges --rev 'heads(all())'
+ rev node index size depth obshash
+ 7 4de32a90b66c 0 8 8 f966d46c2069
+ 8 45f8b879de92 0 6 6 c9ee11811914
+ 3 2dc09a01254d 0 4 4 8932bf980bb4
+ 7 4de32a90b66c 4 4 8 542cc6dd4c67
+ 3 2dc09a01254d 2 2 4 ce1937ca1278
+ 8 45f8b879de92 4 2 6 b5d53b723b2e
+ 7 4de32a90b66c 6 2 8 033544c939f0
+ 1 66f7d451a68b 0 2 2 327c7dd73d29
+ 5 c8d03c1b5e94 4 2 6 b0302c7614fb
+ 2 01241442b3c2 2 1 3 1ed3c61fb39a
+ 0 1ea73414a91b 0 1 1 000000000000
+ 3 2dc09a01254d 3 1 4 26f996446ecb
+ 8 45f8b879de92 5 1 6 78e8071e893a
+ 7 4de32a90b66c 7 1 8 033544c939f0
+ 1 66f7d451a68b 1 1 2 327c7dd73d29
+ 4 bebd167eb94d 4 1 5 9b4a136d1137
+ 5 c8d03c1b5e94 5 1 6 446c2dc3bce5
+ 6 f69452c5b1af 6 1 7 000000000000
+ $ hg pull -r `getid 'desc(r4)'`
+ pulling from ssh://user@dummy/server
+ no changes found
+ OBSEXC: looking for common markers in 5 nodes
+ OBSEXC: request obsmarkers for 1 common nodes
+ 1 new obsolescence markers
+ $ hg blackbox
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obshashcache clean - new markers affect 1 changeset and cached ranges (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (0r, 1o) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' exited 0 after *.?? seconds (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull -r bebd167eb94d257ace0e814aeb98e6972ed2970d (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obsdiscovery, 1/5 mismatch - 1 obshashrange queries in *.???? seconds (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (0r, 1o) (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull -r bebd167eb94d257ace0e814aeb98e6972ed2970d exited 0 after *.?? seconds (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> blackbox (glob)
+ $ rm .hg/blackbox.log
+ $ hg debugobshashrange --subranges --rev 'heads(all())'
+ rev node index size depth obshash
+ 7 f69452c5b1af 0 7 7 000000000000
+ 5 45f8b879de92 0 6 6 c9ee11811914
+ 3 2dc09a01254d 0 4 4 8932bf980bb4
+ 7 f69452c5b1af 4 3 7 000000000000
+ 3 2dc09a01254d 2 2 4 ce1937ca1278
+ 5 45f8b879de92 4 2 6 b5d53b723b2e
+ 1 66f7d451a68b 0 2 2 327c7dd73d29
+ 6 c8d03c1b5e94 4 2 6 b0302c7614fb
+ 2 01241442b3c2 2 1 3 1ed3c61fb39a
+ 0 1ea73414a91b 0 1 1 000000000000
+ 3 2dc09a01254d 3 1 4 26f996446ecb
+ 5 45f8b879de92 5 1 6 78e8071e893a
+ 1 66f7d451a68b 1 1 2 327c7dd73d29
+ 4 bebd167eb94d 4 1 5 9b4a136d1137
+ 6 c8d03c1b5e94 5 1 6 446c2dc3bce5
+ 7 f69452c5b1af 6 1 7 000000000000
+
+New marker prefixed to another one
+
+ $ hg -R ../server debugobsolete aaaa4444444444444444aaaaaaaaaaaaaaaaaaaa `(cd ../server/; getid 'desc("chain_prune")')`
+ $ hg debugobshashrange -R ../server --subranges --rev 'heads(all())'
+ rev node index size depth obshash
+ 7 4de32a90b66c 0 8 8 0ffc0013bda0
+ 8 45f8b879de92 0 6 6 0ffa86a0054f
+ 3 2dc09a01254d 0 4 4 8932bf980bb4
+ 7 4de32a90b66c 4 4 8 207792ae6aeb
+ 3 2dc09a01254d 2 2 4 ce1937ca1278
+ 8 45f8b879de92 4 2 6 a3de812028fa
+ 7 4de32a90b66c 6 2 8 033544c939f0
+ 1 66f7d451a68b 0 2 2 327c7dd73d29
+ 5 c8d03c1b5e94 4 2 6 e94b0f268773
+ 2 01241442b3c2 2 1 3 1ed3c61fb39a
+ 0 1ea73414a91b 0 1 1 000000000000
+ 3 2dc09a01254d 3 1 4 26f996446ecb
+ 8 45f8b879de92 5 1 6 e765ea1567b3
+ 7 4de32a90b66c 7 1 8 033544c939f0
+ 1 66f7d451a68b 1 1 2 327c7dd73d29
+ 4 bebd167eb94d 4 1 5 8e945c34a0fd
+ 5 c8d03c1b5e94 5 1 6 446c2dc3bce5
+ 6 f69452c5b1af 6 1 7 000000000000
+
+ $ hg pull -r `getid 'desc(r4)'`
+ pulling from ssh://user@dummy/server
+ no changes found
+ OBSEXC: looking for common markers in 5 nodes
+ OBSEXC: request obsmarkers for 1 common nodes
+ 1 new obsolescence markers
+ $ hg blackbox
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obshashcache clean - new markers affect 2 changeset and cached ranges (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (0r, 1o) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' exited 0 after *.?? seconds (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull -r bebd167eb94d257ace0e814aeb98e6972ed2970d (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obsdiscovery, 1/5 mismatch - 1 obshashrange queries in *.???? seconds (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (0r, 1o) (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull -r bebd167eb94d257ace0e814aeb98e6972ed2970d exited 0 after *.?? seconds (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> blackbox (glob)
+ $ rm .hg/blackbox.log
+ $ hg debugobshashrange --subranges --rev 'heads(all())'
+ rev node index size depth obshash
+ 7 f69452c5b1af 0 7 7 000000000000
+ 5 45f8b879de92 0 6 6 0ffa86a0054f
+ 3 2dc09a01254d 0 4 4 8932bf980bb4
+ 7 f69452c5b1af 4 3 7 000000000000
+ 3 2dc09a01254d 2 2 4 ce1937ca1278
+ 5 45f8b879de92 4 2 6 a3de812028fa
+ 1 66f7d451a68b 0 2 2 327c7dd73d29
+ 6 c8d03c1b5e94 4 2 6 e94b0f268773
+ 2 01241442b3c2 2 1 3 1ed3c61fb39a
+ 0 1ea73414a91b 0 1 1 000000000000
+ 3 2dc09a01254d 3 1 4 26f996446ecb
+ 5 45f8b879de92 5 1 6 e765ea1567b3
+ 1 66f7d451a68b 1 1 2 327c7dd73d29
+ 4 bebd167eb94d 4 1 5 8e945c34a0fd
+ 6 c8d03c1b5e94 5 1 6 446c2dc3bce5
+ 7 f69452c5b1af 6 1 7 000000000000
+
+New prune marker prefixed to another one
+
+ $ hg -R ../server debugobsolete aaaa4444444444444444aaaaaaaaaaaaaaaaaaaa
+ $ hg debugobshashrange -R ../server --subranges --rev 'heads(all())'
+ rev node index size depth obshash
+ 7 4de32a90b66c 0 8 8 87b2a11bd884
+ 8 45f8b879de92 0 6 6 fdbbaec33b20
+ 3 2dc09a01254d 0 4 4 8932bf980bb4
+ 7 4de32a90b66c 4 4 8 20745010e1d8
+ 3 2dc09a01254d 2 2 4 ce1937ca1278
+ 8 45f8b879de92 4 2 6 f45551c1cf4f
+ 7 4de32a90b66c 6 2 8 033544c939f0
+ 1 66f7d451a68b 0 2 2 327c7dd73d29
+ 5 c8d03c1b5e94 4 2 6 149be75f95c0
+ 2 01241442b3c2 2 1 3 1ed3c61fb39a
+ 0 1ea73414a91b 0 1 1 000000000000
+ 3 2dc09a01254d 3 1 4 26f996446ecb
+ 8 45f8b879de92 5 1 6 51df11ea9843
+ 7 4de32a90b66c 7 1 8 033544c939f0
+ 1 66f7d451a68b 1 1 2 327c7dd73d29
+ 4 bebd167eb94d 4 1 5 42574a82229f
+ 5 c8d03c1b5e94 5 1 6 446c2dc3bce5
+ 6 f69452c5b1af 6 1 7 000000000000
+
+ $ hg pull -r `getid 'desc(r4)'`
+ pulling from ssh://user@dummy/server
+ no changes found
+ OBSEXC: looking for common markers in 5 nodes
+ OBSEXC: request obsmarkers for 1 common nodes
+ 1 new obsolescence markers
+ $ hg blackbox
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obshashcache clean - new markers affect 2 changeset and cached ranges (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (0r, 1o) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' exited 0 after *.?? seconds (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull -r bebd167eb94d257ace0e814aeb98e6972ed2970d (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obsdiscovery, 1/5 mismatch - 1 obshashrange queries in *.???? seconds (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (0r, 1o) (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull -r bebd167eb94d257ace0e814aeb98e6972ed2970d exited 0 after *.?? seconds (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> blackbox (glob)
+ $ rm .hg/blackbox.log
+ $ hg debugobshashrange --subranges --rev 'heads(all())'
+ rev node index size depth obshash
+ 7 f69452c5b1af 0 7 7 000000000000
+ 5 45f8b879de92 0 6 6 fdbbaec33b20
+ 3 2dc09a01254d 0 4 4 8932bf980bb4
+ 7 f69452c5b1af 4 3 7 000000000000
+ 3 2dc09a01254d 2 2 4 ce1937ca1278
+ 5 45f8b879de92 4 2 6 f45551c1cf4f
+ 1 66f7d451a68b 0 2 2 327c7dd73d29
+ 6 c8d03c1b5e94 4 2 6 149be75f95c0
+ 2 01241442b3c2 2 1 3 1ed3c61fb39a
+ 0 1ea73414a91b 0 1 1 000000000000
+ 3 2dc09a01254d 3 1 4 26f996446ecb
+ 5 45f8b879de92 5 1 6 51df11ea9843
+ 1 66f7d451a68b 1 1 2 327c7dd73d29
+ 4 bebd167eb94d 4 1 5 42574a82229f
+ 6 c8d03c1b5e94 5 1 6 446c2dc3bce5
+ 7 f69452c5b1af 6 1 7 000000000000
+
Recover after rollback
+----------------------
$ hg pull
pulling from ssh://user@dummy/server
@@ -640,53 +916,53 @@
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obshashcache clean - new markers affect 1 changeset and cached ranges (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (0r, 1o) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' exited 0 after *.?? seconds (glob) (no-windows !)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev "heads(all())" exited 0 after *.?? seconds (glob) (windows !)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obshashcache clean - new markers affect 2 changeset and cached ranges (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (0r, 1o) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obsdiscovery, 0/8 mismatch - 1 obshashrange queries in *.???? seconds (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obsdiscovery, 0/8 mismatch - 1 obshashrange queries in *.???? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated served branch cache in *.???? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> wrote served branch cache with 1 labels and 2 nodes (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (1r, 1o) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> 1 incoming changes - new heads: 4de32a90b66c (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (1r, 1o) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> 1 incoming changes - new heads: 4de32a90b66c (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> rollback (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-firstmerge cache reset (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-firstmerge in *.???? seconds (8r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-firstmerge cache reset (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-firstmerge in *.???? seconds (8r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablesort cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablesort in *.???? seconds (8r) (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated base branch cache in *.???? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> wrote base branch cache with 1 labels and 2 nodes (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-obscache cache reset (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (8r, 12o) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (8r, 15o) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> rollback exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> blackbox (glob)
$ rm .hg/blackbox.log
$ hg debugobshashrange --subranges --rev 'heads(all())'
rev node index size depth obshash
7 f69452c5b1af 0 7 7 000000000000
- 5 45f8b879de92 0 6 6 7c49a958a9ac
+ 5 45f8b879de92 0 6 6 fdbbaec33b20
3 2dc09a01254d 0 4 4 8932bf980bb4
7 f69452c5b1af 4 3 7 000000000000
3 2dc09a01254d 2 2 4 ce1937ca1278
- 5 45f8b879de92 4 2 6 c6795525c540
+ 5 45f8b879de92 4 2 6 f45551c1cf4f
1 66f7d451a68b 0 2 2 327c7dd73d29
- 6 c8d03c1b5e94 4 2 6 89755fd39e6d
+ 6 c8d03c1b5e94 4 2 6 149be75f95c0
2 01241442b3c2 2 1 3 1ed3c61fb39a
0 1ea73414a91b 0 1 1 000000000000
3 2dc09a01254d 3 1 4 26f996446ecb
- 5 45f8b879de92 5 1 6 796507769034
+ 5 45f8b879de92 5 1 6 51df11ea9843
1 66f7d451a68b 1 1 2 327c7dd73d29
- 4 bebd167eb94d 4 1 5 b21465ecb790
+ 4 bebd167eb94d 4 1 5 42574a82229f
6 c8d03c1b5e94 5 1 6 446c2dc3bce5
7 f69452c5b1af 6 1 7 000000000000
$ hg pull
@@ -706,30 +982,30 @@
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' exited 0 after *.?? seconds (glob) (no-windows !)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev "heads(all())" exited 0 after *.?? seconds (glob) (windows !)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obsdiscovery, 0/8 mismatch - 1 obshashrange queries in *.???? seconds (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (1r, 1o) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> 1 incoming changes - new heads: 4de32a90b66c (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obsdiscovery, 0/8 mismatch - 1 obshashrange queries in *.???? seconds (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (1r, 1o) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> 1 incoming changes - new heads: 4de32a90b66c (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> blackbox (glob)
$ rm .hg/blackbox.log
$ hg debugobshashrange --subranges --rev 'heads(all())'
rev node index size depth obshash
- 8 4de32a90b66c 0 8 8 c7f1f7e9925b
- 5 45f8b879de92 0 6 6 7c49a958a9ac
+ 8 4de32a90b66c 0 8 8 87b2a11bd884
+ 5 45f8b879de92 0 6 6 fdbbaec33b20
3 2dc09a01254d 0 4 4 8932bf980bb4
- 8 4de32a90b66c 4 4 8 c681c3e58c27
+ 8 4de32a90b66c 4 4 8 20745010e1d8
3 2dc09a01254d 2 2 4 ce1937ca1278
- 5 45f8b879de92 4 2 6 c6795525c540
+ 5 45f8b879de92 4 2 6 f45551c1cf4f
8 4de32a90b66c 6 2 8 033544c939f0
1 66f7d451a68b 0 2 2 327c7dd73d29
- 6 c8d03c1b5e94 4 2 6 89755fd39e6d
+ 6 c8d03c1b5e94 4 2 6 149be75f95c0
2 01241442b3c2 2 1 3 1ed3c61fb39a
0 1ea73414a91b 0 1 1 000000000000
3 2dc09a01254d 3 1 4 26f996446ecb
- 5 45f8b879de92 5 1 6 796507769034
+ 5 45f8b879de92 5 1 6 51df11ea9843
8 4de32a90b66c 7 1 8 033544c939f0
1 66f7d451a68b 1 1 2 327c7dd73d29
- 4 bebd167eb94d 4 1 5 b21465ecb790
+ 4 bebd167eb94d 4 1 5 42574a82229f
6 c8d03c1b5e94 5 1 6 446c2dc3bce5
7 f69452c5b1af 6 1 7 000000000000
@@ -759,7 +1035,7 @@
$ hg --config extensions.strip= strip -r 'desc("foo")'
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- saved backup bundle to $TESTTMP/client/.hg/strip-backup/45f8b879de92-94c82517-backup.hg (glob)
+ saved backup bundle to $TESTTMP/client/.hg/strip-backup/45f8b879de92-94c82517-backup.hg
$ hg log -G
o 7 4de32a90b66c r7 tip
|
@@ -786,7 +1062,7 @@
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
- 2 new obsolescence markers
+ 5 new obsolescence markers
new changesets 45f8b879de92
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg log -G
@@ -812,43 +1088,43 @@
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' (glob) (no-windows !)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev "heads(all())" (glob) (windows !)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> writing .hg/cache/tags2-visible with 0 tags (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (1r) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (1r) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (1r, 1o) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' exited 0 after *.?? seconds (glob) (no-windows !)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev "heads(all())" exited 0 after *.?? seconds (glob) (windows !)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> --config "extensions.strip=" strip -r "desc(\"foo\")" (glob) (windows !)
+ * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> --config "extensions.strip=" strip -r "desc(\"foo\")" exited 0 after *.?? seconds (glob) (windows !)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (1r) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (1r) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (1r, 1o) (glob)
+ 1970/01/01 00:00:00 * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> log -G (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> log -G exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> --config 'extensions.strip=' strip -r 'desc("foo")' (glob) (no-windows !)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> --config "extensions.strip=" strip -r "desc(\"foo\")" (glob) (windows !)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> saved backup bundle to $TESTTMP/client/.hg/strip-backup/45f8b879de92-94c82517-backup.hg (glob)
+ 1970/01/01 00:00:00 * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> saved backup bundle to $TESTTMP/client/.hg/strip-backup/45f8b879de92-94c82517-backup.hg (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> strip detected, evo-ext-obscache cache reset (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-obscache in *.???? seconds (5r, 11o) (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-obscache in *.???? seconds (3r, 0o) (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> strip detected, evo-ext-obshashrange cache reset (glob)
+ * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> strip detected, evo-ext-firstmerge cache reset (glob)
+ * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-firstmerge in *.???? seconds (8r) (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> strip detected, evo-ext-depthcache cache reset (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
+ * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> strip detected, evo-ext-stablesort cache reset (glob)
+ * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-stablesort in *.???? seconds (8r) (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-obshashrange in *.???? seconds (8r, 11o) (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> strip detected, evo-ext-firstmerge cache reset (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-firstmerge in *.???? seconds (8r) (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> strip detected, evo-ext-stablesort cache reset (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-stablesort in *.???? seconds (8r) (glob)
+ * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> strip detected, evo-ext-obshashrange cache reset (glob)
+ 1970/01/01 00:00:00 * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-obshashrange in *.???? seconds (8r, 11o) (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated base branch cache in *.???? seconds (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> wrote base branch cache with 1 labels and 1 nodes (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> 3 incoming changes - new heads: 4de32a90b66c (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> --config 'extensions.strip=' strip -r 'desc("foo")' exited 0 after *.?? seconds (glob) (no-windows !)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> --config "extensions.strip=" strip -r "desc(\"foo\")" exited 0 after *.?? seconds (glob) (windows !)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> log -G (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> writing .hg/cache/tags2-visible with 0 tags (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> log -G exited 0 after *.?? seconds (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> pull (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> obsdiscovery, 1/8 mismatch - 1 obshashrange queries in *.???? seconds (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated base branch cache in *.???? seconds (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> wrote base branch cache with 1 labels and 2 nodes (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-obscache in *.???? seconds (1r, 2o) (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> 1 incoming changes - new heads: 45f8b879de92 (glob)
+ 1970/01/01 00:00:00 * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated base branch cache in *.???? seconds (glob)
+ 1970/01/01 00:00:00 * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> wrote base branch cache with 1 labels and 2 nodes (glob)
+ 1970/01/01 00:00:00 * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-obscache in *.???? seconds (1r, 5o) (glob)
+ 1970/01/01 00:00:00 * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> 1 incoming changes - new heads: 45f8b879de92 (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> pull exited 0 after *.?? seconds (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> log -G (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> writing .hg/cache/tags2-visible with 0 tags (glob)
@@ -857,22 +1133,22 @@
$ rm .hg/blackbox.log
$ hg debugobshashrange --subranges --rev 'heads(all())'
rev node index size depth obshash
- 7 4de32a90b66c 0 8 8 c7f1f7e9925b
- 8 45f8b879de92 0 6 6 7c49a958a9ac
+ 7 4de32a90b66c 0 8 8 87b2a11bd884
+ 8 45f8b879de92 0 6 6 fdbbaec33b20
3 2dc09a01254d 0 4 4 8932bf980bb4
- 7 4de32a90b66c 4 4 8 c681c3e58c27
+ 7 4de32a90b66c 4 4 8 20745010e1d8
3 2dc09a01254d 2 2 4 ce1937ca1278
- 8 45f8b879de92 4 2 6 c6795525c540
+ 8 45f8b879de92 4 2 6 f45551c1cf4f
7 4de32a90b66c 6 2 8 033544c939f0
1 66f7d451a68b 0 2 2 327c7dd73d29
- 5 c8d03c1b5e94 4 2 6 89755fd39e6d
+ 5 c8d03c1b5e94 4 2 6 149be75f95c0
2 01241442b3c2 2 1 3 1ed3c61fb39a
0 1ea73414a91b 0 1 1 000000000000
3 2dc09a01254d 3 1 4 26f996446ecb
- 8 45f8b879de92 5 1 6 796507769034
+ 8 45f8b879de92 5 1 6 51df11ea9843
7 4de32a90b66c 7 1 8 033544c939f0
1 66f7d451a68b 1 1 2 327c7dd73d29
- 4 bebd167eb94d 4 1 5 b21465ecb790
+ 4 bebd167eb94d 4 1 5 42574a82229f
5 c8d03c1b5e94 5 1 6 446c2dc3bce5
6 f69452c5b1af 6 1 7 000000000000