annotate tests/test-encode.t @ 44667:b561f3a68e41 stable

discovery: avoid wrongly saying there are nothing to pull We can get in a situation where a revision passed through `hg pull --rev REV` are available on the server, but not a descendant of the advertised server heads. For example the server could lying be during heads advertisement, to hide some pull request. Or obsolete/hidden content could be explicitly pulled. So in this case the lookup associated to `REV` returned successfully, but the normal discovery will find all advertised heads already known locally. This flip a special boolean `anyinc` that will prevent any fetch attempt, preventing `REV` to be pulled over. We add three line of code to detect this case and make sure a pull actually happens. My main target is to make some third party extensions happy (I expect the associated test to move upstream with the extension). However this fix already make some of the `infinitepush` test happier.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 06 Apr 2020 00:24:57 +0200
parents 538353b80676
children b7fde9237c92
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12416
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
1 Test encode/decode filters
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
2
12416
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
3 $ hg init
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
4 $ cat > .hg/hgrc <<EOF
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
5 > [encode]
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
6 > not.gz = tr [:lower:] [:upper:]
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
7 > *.gz = gzip -d
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
8 > [decode]
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
9 > not.gz = tr [:upper:] [:lower:]
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
10 > *.gz = gzip
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
11 > EOF
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
12 $ echo "this is a test" | gzip > a.gz
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
13 $ echo "this is a test" > not.gz
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
14 $ hg add *
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
15 $ hg ci -m "test"
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
16
12416
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
17 no changes
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
18
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
19 $ hg status
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
20 $ touch *
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
21
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
22 no changes
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
23
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
24 $ hg status
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
25
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
26 check contents in repo are encoded
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
27
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 12416
diff changeset
28 $ hg debugdata a.gz 0
12416
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
29 this is a test
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 12416
diff changeset
30 $ hg debugdata not.gz 0
12416
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
31 THIS IS A TEST
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
32
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
33 check committed content was decoded
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
34
12416
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
35 $ gunzip < a.gz
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
36 this is a test
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
37 $ cat not.gz
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
38 this is a test
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
39 $ rm *
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
40 $ hg co -C
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
41 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
42
12416
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
43 check decoding of our new working dir copy
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
44
12416
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
45 $ gunzip < a.gz
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
46 this is a test
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
47 $ cat not.gz
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
48 this is a test
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
49
12416
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
50 check hg cat operation
6093
f5b00b6e426a Option --decode for hg cat to apply decode filters.
Jesse Glick <jesse.glick@sun.com>
parents: 3853
diff changeset
51
12416
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
52 $ hg cat a.gz
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
53 this is a test
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
54 $ hg cat --decode a.gz | gunzip
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
55 this is a test
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
56 $ mkdir subdir
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
57 $ cd subdir
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
58 $ hg -R .. cat ../a.gz
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
59 this is a test
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
60 $ hg -R .. cat --decode ../a.gz | gunzip
1fcdd9b7f657 tests: unify test-encode
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
61 this is a test
37461
538353b80676 procutil: fix error message of tempfile filter
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
62 $ cd ..
538353b80676 procutil: fix error message of tempfile filter
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
63
538353b80676 procutil: fix error message of tempfile filter
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
64 check tempfile filter
538353b80676 procutil: fix error message of tempfile filter
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
65
538353b80676 procutil: fix error message of tempfile filter
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
66 $ hg cat a.gz --decode --config 'decode.*.gz=tempfile:gzip -c INFILE > OUTFILE' | gunzip
538353b80676 procutil: fix error message of tempfile filter
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
67 this is a test
538353b80676 procutil: fix error message of tempfile filter
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
68 $ hg cat a.gz --decode --config 'decode.*.gz=tempfile:sh -c "exit 1"'
538353b80676 procutil: fix error message of tempfile filter
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
69 abort: command '*' failed: exited with status 1 (glob)
538353b80676 procutil: fix error message of tempfile filter
Yuya Nishihara <yuya@tcha.org>
parents: 16913
diff changeset
70 [255]
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 14182
diff changeset
71
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 14182
diff changeset
72 $ cd ..