Mercurial > hg
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 |
rev | line source |
---|---|
12416 | 1 Test encode/decode filters |
1258 | 2 |
12416 | 3 $ hg init |
4 $ cat > .hg/hgrc <<EOF | |
5 > [encode] | |
6 > not.gz = tr [:lower:] [:upper:] | |
7 > *.gz = gzip -d | |
8 > [decode] | |
9 > not.gz = tr [:upper:] [:lower:] | |
10 > *.gz = gzip | |
11 > EOF | |
12 $ echo "this is a test" | gzip > a.gz | |
13 $ echo "this is a test" > not.gz | |
14 $ hg add * | |
15 $ hg ci -m "test" | |
1258 | 16 |
12416 | 17 no changes |
18 | |
19 $ hg status | |
20 $ touch * | |
21 | |
22 no changes | |
23 | |
24 $ hg status | |
25 | |
26 check contents in repo are encoded | |
1258 | 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 | 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 | 31 THIS IS A TEST |
32 | |
33 check committed content was decoded | |
1258 | 34 |
12416 | 35 $ gunzip < a.gz |
36 this is a test | |
37 $ cat not.gz | |
38 this is a test | |
39 $ rm * | |
40 $ hg co -C | |
41 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
1258 | 42 |
12416 | 43 check decoding of our new working dir copy |
1258 | 44 |
12416 | 45 $ gunzip < a.gz |
46 this is a test | |
47 $ cat not.gz | |
48 this is a test | |
1258 | 49 |
12416 | 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 | 52 $ hg cat a.gz |
53 this is a test | |
54 $ hg cat --decode a.gz | gunzip | |
55 this is a test | |
56 $ mkdir subdir | |
57 $ cd subdir | |
58 $ hg -R .. cat ../a.gz | |
59 this is a test | |
60 $ hg -R .. cat --decode ../a.gz | gunzip | |
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 .. |