2019-05-28 13:12:27 +03:00
|
|
|
$ setconfig extensions.treemanifest=!
|
2016-10-24 21:49:54 +03:00
|
|
|
#require no-osx
|
|
|
|
|
2014-11-19 21:10:03 +03:00
|
|
|
Setup the extension
|
|
|
|
|
|
|
|
$ cat >> $HGRCPATH << EOF
|
|
|
|
> [extensions]
|
2018-01-09 14:06:09 +03:00
|
|
|
> simplecache=
|
2015-06-12 01:29:43 +03:00
|
|
|
> [simplecache]
|
2018-01-23 23:09:23 +03:00
|
|
|
> showdebug=true
|
2015-06-12 01:29:43 +03:00
|
|
|
> cachedir=$TESTTMP/hgsimplecache
|
2014-11-19 21:10:03 +03:00
|
|
|
> EOF
|
|
|
|
|
|
|
|
Initialize the repo
|
|
|
|
|
|
|
|
$ hg init repo
|
|
|
|
$ cd repo
|
|
|
|
|
|
|
|
$ echo x >> x
|
|
|
|
$ hg commit -Am x
|
|
|
|
adding x
|
|
|
|
$ hg mv x y
|
|
|
|
$ echo x >> y
|
|
|
|
$ hg st -C
|
|
|
|
A y
|
|
|
|
x
|
|
|
|
R x
|
|
|
|
$ hg commit -Am xx
|
|
|
|
$ hg book foo
|
|
|
|
|
|
|
|
Test that output remains the same with multiple invocations.
|
|
|
|
$ hg --debug export
|
|
|
|
exporting patch:
|
|
|
|
# HG changeset patch
|
|
|
|
# User test
|
|
|
|
# Date 0 0
|
|
|
|
# Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
# Node ID a5d935fe38ada2b984c29e4e02bffd7f19bf818d
|
|
|
|
# Parent b292c1e3311fd0f13ae83b409caae4a6d1fb348c
|
|
|
|
xx
|
|
|
|
|
2019-02-21 00:52:40 +03:00
|
|
|
no value found for key buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2 from local
|
|
|
|
falling back for value buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2
|
|
|
|
set value for key buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2 to local
|
2014-11-19 21:10:03 +03:00
|
|
|
diff -r b292c1e3311fd0f13ae83b409caae4a6d1fb348c -r a5d935fe38ada2b984c29e4e02bffd7f19bf818d x
|
|
|
|
--- a/x Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -1,1 +0,0 @@
|
|
|
|
-x
|
|
|
|
diff -r b292c1e3311fd0f13ae83b409caae4a6d1fb348c -r a5d935fe38ada2b984c29e4e02bffd7f19bf818d y
|
|
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/y Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -0,0 +1,2 @@
|
|
|
|
+x
|
|
|
|
+x
|
|
|
|
$ hg --debug export
|
|
|
|
exporting patch:
|
|
|
|
# HG changeset patch
|
|
|
|
# User test
|
|
|
|
# Date 0 0
|
|
|
|
# Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
# Node ID a5d935fe38ada2b984c29e4e02bffd7f19bf818d
|
|
|
|
# Parent b292c1e3311fd0f13ae83b409caae4a6d1fb348c
|
|
|
|
xx
|
|
|
|
|
2019-02-21 00:52:40 +03:00
|
|
|
got value for key buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2 from local
|
2014-11-19 21:10:03 +03:00
|
|
|
diff -r b292c1e3311fd0f13ae83b409caae4a6d1fb348c -r a5d935fe38ada2b984c29e4e02bffd7f19bf818d x
|
|
|
|
--- a/x Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -1,1 +0,0 @@
|
|
|
|
-x
|
|
|
|
diff -r b292c1e3311fd0f13ae83b409caae4a6d1fb348c -r a5d935fe38ada2b984c29e4e02bffd7f19bf818d y
|
|
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/y Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -0,0 +1,2 @@
|
|
|
|
+x
|
|
|
|
+x
|
|
|
|
$ hg --debug log -vpC -r .
|
2019-02-21 00:52:40 +03:00
|
|
|
got value for key buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2 from local
|
|
|
|
got value for key buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2 from local
|
2014-11-19 21:10:03 +03:00
|
|
|
changeset: 1:a5d935fe38ada2b984c29e4e02bffd7f19bf818d
|
|
|
|
bookmark: foo
|
|
|
|
tag: tip
|
|
|
|
phase: draft
|
|
|
|
parent: 0:b292c1e3311fd0f13ae83b409caae4a6d1fb348c
|
|
|
|
parent: -1:0000000000000000000000000000000000000000
|
2019-05-22 18:28:07 +03:00
|
|
|
manifest: 87b34bbb5b48d4106fd2da95fbe8beb73c1850d2
|
2014-11-19 21:10:03 +03:00
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files+: y
|
|
|
|
files-: x
|
|
|
|
copies: y (x)
|
|
|
|
extra: branch=default
|
|
|
|
description:
|
|
|
|
xx
|
|
|
|
|
|
|
|
|
|
|
|
diff -r b292c1e3311fd0f13ae83b409caae4a6d1fb348c -r a5d935fe38ada2b984c29e4e02bffd7f19bf818d x
|
|
|
|
--- a/x Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -1,1 +0,0 @@
|
|
|
|
-x
|
|
|
|
diff -r b292c1e3311fd0f13ae83b409caae4a6d1fb348c -r a5d935fe38ada2b984c29e4e02bffd7f19bf818d y
|
|
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/y Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -0,0 +1,2 @@
|
|
|
|
+x
|
|
|
|
+x
|
|
|
|
|
|
|
|
$ hg log -vp -r .
|
|
|
|
changeset: 1:a5d935fe38ad
|
|
|
|
bookmark: foo
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: x y
|
|
|
|
description:
|
|
|
|
xx
|
|
|
|
|
|
|
|
|
|
|
|
diff -r b292c1e3311f -r a5d935fe38ad x
|
|
|
|
--- a/x Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -1,1 +0,0 @@
|
|
|
|
-x
|
|
|
|
diff -r b292c1e3311f -r a5d935fe38ad y
|
|
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/y Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -0,0 +1,2 @@
|
|
|
|
+x
|
|
|
|
+x
|
|
|
|
|
|
|
|
|
2018-04-05 14:56:32 +03:00
|
|
|
Test that disabling the cache entirely doesn't break things
|
|
|
|
$ hg --debug --config simplecache.caches= export
|
|
|
|
exporting patch:
|
|
|
|
# HG changeset patch
|
|
|
|
# User test
|
|
|
|
# Date 0 0
|
|
|
|
# Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
# Node ID a5d935fe38ada2b984c29e4e02bffd7f19bf818d
|
|
|
|
# Parent b292c1e3311fd0f13ae83b409caae4a6d1fb348c
|
|
|
|
xx
|
|
|
|
|
2019-02-21 00:52:40 +03:00
|
|
|
falling back for value buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2
|
2018-04-05 14:56:32 +03:00
|
|
|
diff -r b292c1e3311fd0f13ae83b409caae4a6d1fb348c -r a5d935fe38ada2b984c29e4e02bffd7f19bf818d x
|
|
|
|
--- a/x Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -1,1 +0,0 @@
|
|
|
|
-x
|
|
|
|
diff -r b292c1e3311fd0f13ae83b409caae4a6d1fb348c -r a5d935fe38ada2b984c29e4e02bffd7f19bf818d y
|
|
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/y Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -0,0 +1,2 @@
|
|
|
|
+x
|
|
|
|
+x
|
|
|
|
|
2014-11-19 21:10:03 +03:00
|
|
|
Test that corrupt caches are gracefully ignored, and updated
|
2019-02-21 00:52:40 +03:00
|
|
|
# Use a long value so we trigger checksum validation
|
|
|
|
$ printf "12345678901234567890123456789012345678901234567890" > "$TESTTMP/hgsimplecache/buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2"
|
2014-11-19 21:10:03 +03:00
|
|
|
$ hg --debug log -vpC -r .
|
2019-02-21 00:52:40 +03:00
|
|
|
got value for key buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2 from local
|
|
|
|
error getting or deserializing key buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2: invalid hash from simplecache for key 'buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2'
|
|
|
|
no value found for key buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2 from local
|
|
|
|
falling back for value buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2
|
|
|
|
set value for key buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2 to local
|
|
|
|
got value for key buildstatus:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:b292c1e3311fd0f13ae83b409caae4a6d1fb348c:v2 from local
|
2014-11-19 21:10:03 +03:00
|
|
|
changeset: 1:a5d935fe38ada2b984c29e4e02bffd7f19bf818d
|
|
|
|
bookmark: foo
|
|
|
|
tag: tip
|
|
|
|
phase: draft
|
|
|
|
parent: 0:b292c1e3311fd0f13ae83b409caae4a6d1fb348c
|
|
|
|
parent: -1:0000000000000000000000000000000000000000
|
2019-05-22 18:28:07 +03:00
|
|
|
manifest: 87b34bbb5b48d4106fd2da95fbe8beb73c1850d2
|
2014-11-19 21:10:03 +03:00
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files+: y
|
|
|
|
files-: x
|
|
|
|
copies: y (x)
|
|
|
|
extra: branch=default
|
|
|
|
description:
|
|
|
|
xx
|
|
|
|
|
|
|
|
|
|
|
|
diff -r b292c1e3311fd0f13ae83b409caae4a6d1fb348c -r a5d935fe38ada2b984c29e4e02bffd7f19bf818d x
|
|
|
|
--- a/x Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -1,1 +0,0 @@
|
|
|
|
-x
|
|
|
|
diff -r b292c1e3311fd0f13ae83b409caae4a6d1fb348c -r a5d935fe38ada2b984c29e4e02bffd7f19bf818d y
|
|
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/y Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -0,0 +1,2 @@
|
|
|
|
+x
|
|
|
|
+x
|
|
|
|
|
|
|
|
|
|
|
|
Test strange (unicode) filenames
|
2019-02-21 00:52:40 +03:00
|
|
|
$ printf "delete cca.hg.buildstatus:f3a143469693894d291b7388ea8392a07492751f:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:v2\r\n" | nc localhost 11101
|
2014-11-19 21:10:03 +03:00
|
|
|
* (glob)
|
|
|
|
$ echo 'x' > Å
|
|
|
|
$ hg add Å
|
|
|
|
$ hg commit -m 'unicode test'
|
|
|
|
$ hg export --debug
|
|
|
|
exporting patch:
|
|
|
|
# HG changeset patch
|
|
|
|
# User test
|
|
|
|
# Date 0 0
|
|
|
|
# Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
# Node ID f3a143469693894d291b7388ea8392a07492751f
|
|
|
|
# Parent a5d935fe38ada2b984c29e4e02bffd7f19bf818d
|
|
|
|
unicode test
|
|
|
|
|
2019-02-21 00:52:40 +03:00
|
|
|
no value found for key buildstatus:f3a143469693894d291b7388ea8392a07492751f:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:v2 from local
|
|
|
|
falling back for value buildstatus:f3a143469693894d291b7388ea8392a07492751f:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:v2
|
|
|
|
set value for key buildstatus:f3a143469693894d291b7388ea8392a07492751f:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:v2 to local
|
2014-11-19 21:10:03 +03:00
|
|
|
diff -r a5d935fe38ada2b984c29e4e02bffd7f19bf818d -r f3a143469693894d291b7388ea8392a07492751f \xc3\x85 (esc)
|
|
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/\xc3\x85 Thu Jan 01 00:00:00 1970 +0000 (esc)
|
|
|
|
@@ -0,0 +1,1 @@
|
|
|
|
+x
|
|
|
|
$ hg --debug log -vpC -r .
|
2019-02-21 00:52:40 +03:00
|
|
|
got value for key buildstatus:f3a143469693894d291b7388ea8392a07492751f:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:v2 from local
|
|
|
|
got value for key buildstatus:f3a143469693894d291b7388ea8392a07492751f:a5d935fe38ada2b984c29e4e02bffd7f19bf818d:v2 from local
|
2014-11-19 21:10:03 +03:00
|
|
|
changeset: 2:f3a143469693894d291b7388ea8392a07492751f
|
|
|
|
bookmark: foo
|
|
|
|
tag: tip
|
|
|
|
phase: draft
|
|
|
|
parent: 1:a5d935fe38ada2b984c29e4e02bffd7f19bf818d
|
|
|
|
parent: -1:0000000000000000000000000000000000000000
|
2019-05-22 18:28:07 +03:00
|
|
|
manifest: 0640a75d79d252a6348f1e2316af42e7960b4a90
|
2014-11-19 21:10:03 +03:00
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files+: \xc3\x85 (esc)
|
|
|
|
extra: branch=default
|
|
|
|
description:
|
|
|
|
unicode test
|
|
|
|
|
|
|
|
|
|
|
|
diff -r a5d935fe38ada2b984c29e4e02bffd7f19bf818d -r f3a143469693894d291b7388ea8392a07492751f \xc3\x85 (esc)
|
|
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/\xc3\x85 Thu Jan 01 00:00:00 1970 +0000 (esc)
|
|
|
|
@@ -0,0 +1,1 @@
|
|
|
|
+x
|
|
|
|
|
2015-06-12 01:29:43 +03:00
|
|
|
Test local cache eviction
|
|
|
|
$ echo 'x' >> y && hg commit -qm "1" && hg export --debug > /dev/null
|
|
|
|
$ echo 'x' >> y && hg commit -qm "2" && hg export --debug > /dev/null
|
|
|
|
$ echo 'x' >> y && hg commit -qm "3" && hg export --debug > /dev/null
|
|
|
|
$ echo 'x' >> y && hg commit -qm "4" && hg export --debug > /dev/null
|
|
|
|
$ echo 'x' >> y && hg commit -qm "5" && hg export --debug > /dev/null
|
|
|
|
$ echo 'x' >> y && hg commit -qm "6" && hg export --debug > /dev/null
|
2016-01-08 05:30:24 +03:00
|
|
|
$ ls $TESTTMP/hgsimplecache | grep -c buildstatus
|
2015-06-12 01:29:43 +03:00
|
|
|
8
|
|
|
|
$ echo 'x' >> y && hg commit -qm "7"
|
2016-01-08 05:30:24 +03:00
|
|
|
$ hg --debug --config simplecache.maxcachesize=2 --config simplecache.evictionpercent=50 export > /dev/null
|
2016-01-08 05:30:24 +03:00
|
|
|
$ ls $TESTTMP/hgsimplecache | grep -c buildstatus
|
2015-06-12 01:29:43 +03:00
|
|
|
5
|