@@ -1258,6 +1258,9 @@ class localrepository(object):
self.ui.debug('updating the branch cache\n')
branchmap.updatecache(self.filtered('served'))
+ self.obsstore.obscache.update(self)
+ self.obsstore.obscache.save(self)
+
def invalidatecaches(self):
if '_tagscache' in vars(self):
@@ -556,6 +556,7 @@ class obsstore(object):
self.svfs = repo.svfs
self._version = defaultformat
self._readonly = readonly
+ self.obscache = obscache(repo)
def __iter__(self):
return iter(self._all)
@@ -59,10 +59,10 @@ clone, commit, pull
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
$ hg blackbox -l 6
- 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pull
1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated served branch cache in * seconds (glob)
1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> wrote served branch cache with 1 labels and 2 nodes
- 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> 1 incoming changes - new heads: d02f48003e62
+ 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated obscache in * seconds (3r, 0o) (glob)
+ 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> 1 incoming changes - new heads: d02f48003e62 (glob)
1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pull exited 0 after * seconds (glob)
1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> blackbox -l 6
@@ -121,8 +121,8 @@ backup bundles get logged
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/*-backup.hg (glob)
$ hg blackbox -l 6
- 1970/01/01 00:00:00 bob @73f6ee326b27d820b0472f1a825e3a50f3dc489b (5000)> strip tip
- 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/73f6ee326b27-7612e004-backup.hg (glob)
+ 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> strip detected, obscache cache reset
+ 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated obscache in * seconds (3r, 0o) (glob)
1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated base branch cache in * seconds (glob)
1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> wrote base branch cache with 1 labels and 2 nodes
1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> strip tip exited 0 after * seconds (glob)
@@ -194,9 +194,9 @@ log rotation
result: None
$ hg blackbox
- 1970/01/01 00:00:00 bob @0e46349438790c460c5c9f7546bfcd39b267bbd2 (5000)> commit -m commit2 -d 2000-01-02 foo
1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> updated served branch cache in * seconds (glob)
1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> wrote served branch cache with 1 labels and 1 nodes
+ 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> updated obscache in * seconds (1r, 0o) (glob)
1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> commit -m commit2 -d 2000-01-02 foo exited 0 after * seconds (glob)
1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r 0
1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> writing .hg/cache/tags2-visible with 0 tags
@@ -35,6 +35,7 @@ Trigger branchcache creation:
checklink (symlink !)
checklink-target (symlink !)
checknoexec (execbit !)
+ obscache-v01
rbc-names-v1
rbc-revs-v1
@@ -118,6 +118,7 @@ Test cache warming command
$ ls -r .hg/cache/*
.hg/cache/rbc-revs-v1
.hg/cache/rbc-names-v1
+ .hg/cache/obscache-v01
.hg/cache/branch2-served
$ cd ..
@@ -86,6 +86,7 @@ Non store repo:
.hg/00manifest.i
.hg/cache
.hg/cache/branch2-served
+ .hg/cache/obscache-v01
.hg/cache/rbc-names-v1
.hg/cache/rbc-revs-v1
.hg/data
@@ -118,6 +119,7 @@ Non fncache repo:
.hg/00changelog.i
.hg/cache
.hg/cache/branch2-served
+ .hg/cache/obscache-v01
.hg/cache/rbc-names-v1
.hg/cache/rbc-revs-v1
.hg/dirstate
@@ -233,6 +233,7 @@ r4 has hardlinks in the working dir (not
2 r4/.hg/cache/checkisexec
2 r4/.hg/cache/checklink-target
2 r4/.hg/cache/checknoexec
+ 2 r4/.hg/cache/obscache-v01
2 r4/.hg/cache/rbc-names-v1
2 r4/.hg/cache/rbc-revs-v1
2 r4/.hg/dirstate
@@ -282,6 +283,7 @@ Update back to revision 11 in r4 should
2 r4/.hg/cache/checkisexec
2 r4/.hg/cache/checklink-target
2 r4/.hg/cache/checknoexec
+ 2 r4/.hg/cache/obscache-v01
2 r4/.hg/cache/rbc-names-v1
2 r4/.hg/cache/rbc-revs-v1
1 r4/.hg/dirstate
@@ -66,6 +66,7 @@ new directories are setgid
00600 ./.hg/00changelog.i
00770 ./.hg/cache/
00660 ./.hg/cache/branch2-served
+ 00660 ./.hg/cache/obscache-v01
00660 ./.hg/cache/rbc-names-v1
00660 ./.hg/cache/rbc-revs-v1
00660 ./.hg/dirstate
@@ -115,6 +116,7 @@ group can still write everything
00660 ../push/.hg/00changelog.i
00770 ../push/.hg/cache/
00660 ../push/.hg/cache/branch2-base
+ 00660 ../push/.hg/cache/obscache-v01
00660 ../push/.hg/dirstate
00660 ../push/.hg/requires
00770 ../push/.hg/store/
@@ -537,6 +537,7 @@ Strip 1: expose an old head:
$ hg --config extensions.mq= strip 5
saved backup bundle to $TESTTMP/t3/.hg/strip-backup/*-backup.hg (glob)
+ warning: ignoring unknown working parent 735c3ca72986!
$ hg tags # partly stale cache
tip 5:735c3ca72986
bar 1:78391a272241
@@ -548,6 +549,7 @@ Strip 2: destroy whole branch, no old he
$ hg --config extensions.mq= strip 4
saved backup bundle to $TESTTMP/t3/.hg/strip-backup/*-backup.hg (glob)
+ warning: ignoring unknown working parent 735c3ca72986!
$ hg tags # partly stale
tip 4:735c3ca72986
bar 0:bbd179dfa0a7
@@ -679,6 +681,7 @@ Missing tags2* files means the cache was
checklink
checklink-target
hgtagsfnodes1
+ obscache-v01
Cache should contain the head only, even though other nodes have tags data
@@ -707,6 +710,7 @@ Running hg tags should produce tags2* fi
checklink
checklink-target
hgtagsfnodes1
+ obscache-v01
tags2-visible
$ f --size --hexdump tagsclient/.hg/cache/hgtagsfnodes1