annotate tests/test-largefiles-wireproto.t @ 33377:5d63e5f40bea

revset: define successors revset This revset returns all successors, including transit nodes and the source nodes (to be consistent with existing revsets like "ancestors"). To filter out transit nodes, use `successors(X)-obsolete()`. To filter out divergent case, use `successors(X)-divergent()-obsolete()`. The revset could be useful to define rebase destination, like: `max(successors(BASE)-divergent()-obsolete())`. The `max` is to deal with splits. There are other implementations where `successors` returns just one level of successors, and `allsuccessors` returns everything. I think `successors` returning all successors by default is more user friendly. We have seen cases in production where people use 1-level `successors` while they really want `allsuccessors`. So it seems better to just have one single revset returning all successors by default to avoid user errors. In the future we might want to add `depth` keyword argument to it and for other revsets like `ancestors` etc. Or even build some flexible indexing syntax [1] to satisfy people having the depth limit requirement. [1]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-July/101140.html
author Jun Wu <quark@fb.com>
date Mon, 10 Jul 2017 10:56:40 -0700
parents 72f051f9a7d8
children 9a0f33f497cd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23139
e53f6b72a0e4 spelling: fixes from proofreading of spell checker issues
Mads Kiilerich <madski@unity3d.com>
parents: 21424
diff changeset
1 This file contains testcases that tend to be related to the wire protocol part
e53f6b72a0e4 spelling: fixes from proofreading of spell checker issues
Mads Kiilerich <madski@unity3d.com>
parents: 21424
diff changeset
2 of largefiles.
21424
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
3
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
4 $ USERCACHE="$TESTTMP/cache"; export USERCACHE
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
5 $ mkdir "${USERCACHE}"
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
6 $ cat >> $HGRCPATH <<EOF
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
7 > [extensions]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
8 > largefiles=
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
9 > purge=
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
10 > rebase=
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
11 > transplant=
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
12 > [phases]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
13 > publish=False
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
14 > [largefiles]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
15 > minsize=2
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
16 > patterns=glob:**.dat
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
17 > usercache=${USERCACHE}
26417
9a466b9f9792 largefiles: restore archiving largefiles with hgweb (issue4859)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25495
diff changeset
18 > [web]
9a466b9f9792 largefiles: restore archiving largefiles with hgweb (issue4859)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25495
diff changeset
19 > allow_archive = zip
21424
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
20 > [hooks]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
21 > precommit=sh -c "echo \\"Invoking status precommit hook\\"; hg status"
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
22 > EOF
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
23
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
24
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
25 #if serve
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
26 vanilla clients not locked out from largefiles servers on vanilla repos
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
27 $ mkdir r1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
28 $ cd r1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
29 $ hg init
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
30 $ echo c1 > f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
31 $ hg add f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
32 $ hg commit -m "m1"
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
33 Invoking status precommit hook
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
34 A f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
35 $ cd ..
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
36 $ hg serve -R r1 -d -p $HGPORT --pid-file hg.pid
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
37 $ cat hg.pid >> $DAEMON_PIDS
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
38 $ hg --config extensions.largefiles=! clone http://localhost:$HGPORT r2
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
39 requesting all changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
40 adding changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
41 adding manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
42 adding file changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
43 added 1 changesets with 1 changes to 1 files
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
44 updating to branch default
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
45 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
46
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
47 largefiles clients still work with vanilla servers
28549
e01bd7385f4f tests: reorder hg serve commands
Jun Wu <quark@fb.com>
parents: 28463
diff changeset
48 $ hg serve --config extensions.largefiles=! -R r1 -d -p $HGPORT1 --pid-file hg.pid
21424
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
49 $ cat hg.pid >> $DAEMON_PIDS
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
50 $ hg clone http://localhost:$HGPORT1 r3
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
51 requesting all changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
52 adding changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
53 adding manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
54 adding file changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
55 added 1 changesets with 1 changes to 1 files
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
56 updating to branch default
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
57 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
58 #endif
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
59
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
60 vanilla clients locked out from largefiles http repos
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
61 $ mkdir r4
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
62 $ cd r4
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
63 $ hg init
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
64 $ echo c1 > f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
65 $ hg add --large f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
66 $ hg commit -m "m1"
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
67 Invoking status precommit hook
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
68 A f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
69 $ cd ..
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
70
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
71 largefiles can be pushed locally (issue3583)
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
72 $ hg init dest
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
73 $ cd r4
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
74 $ hg outgoing ../dest
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
75 comparing with ../dest
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
76 searching for changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
77 changeset: 0:639881c12b4c
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
78 tag: tip
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
79 user: test
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
80 date: Thu Jan 01 00:00:00 1970 +0000
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
81 summary: m1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
82
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
83 $ hg push ../dest
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
84 pushing to ../dest
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
85 searching for changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
86 adding changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
87 adding manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
88 adding file changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
89 added 1 changesets with 1 changes to 1 files
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
90
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
91 exit code with nothing outgoing (issue3611)
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
92 $ hg outgoing ../dest
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
93 comparing with ../dest
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
94 searching for changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
95 no changes found
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
96 [1]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
97 $ cd ..
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
98
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
99 #if serve
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
100 $ hg serve -R r4 -d -p $HGPORT2 --pid-file hg.pid
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
101 $ cat hg.pid >> $DAEMON_PIDS
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
102 $ hg --config extensions.largefiles=! clone http://localhost:$HGPORT2 r5
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
103 abort: remote error:
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
104
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
105 This repository uses the largefiles extension.
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
106
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
107 Please enable it in your Mercurial config file.
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
108 [255]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
109
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
110 used all HGPORTs, kill all daemons
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
111 $ killdaemons.py
21424
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
112 #endif
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
113
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
114 vanilla clients locked out from largefiles ssh repos
33335
72f051f9a7d8 tests: quote $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 33286
diff changeset
115 $ hg --config extensions.largefiles=! clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/r4 r5
25243
d65243d28749 sshpeer: break "OutOfBandError" feature for ssh (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
116 remote:
d65243d28749 sshpeer: break "OutOfBandError" feature for ssh (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
117 remote: This repository uses the largefiles extension.
d65243d28749 sshpeer: break "OutOfBandError" feature for ssh (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
118 remote:
d65243d28749 sshpeer: break "OutOfBandError" feature for ssh (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
119 remote: Please enable it in your Mercurial config file.
d65243d28749 sshpeer: break "OutOfBandError" feature for ssh (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
120 remote:
d65243d28749 sshpeer: break "OutOfBandError" feature for ssh (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
121 remote: -
d65243d28749 sshpeer: break "OutOfBandError" feature for ssh (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
122 abort: remote error
d65243d28749 sshpeer: break "OutOfBandError" feature for ssh (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
123 (check previous remote output)
21424
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
124 [255]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
125
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
126 #if serve
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
127
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
128 largefiles clients refuse to push largefiles repos to vanilla servers
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
129 $ mkdir r6
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
130 $ cd r6
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
131 $ hg init
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
132 $ echo c1 > f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
133 $ hg add f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
134 $ hg commit -m "m1"
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
135 Invoking status precommit hook
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
136 A f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
137 $ cat >> .hg/hgrc <<!
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
138 > [web]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
139 > push_ssl = false
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
140 > allow_push = *
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
141 > !
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
142 $ cd ..
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
143 $ hg clone r6 r7
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
144 updating to branch default
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
145 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
146 $ cd r7
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
147 $ echo c2 > f2
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
148 $ hg add --large f2
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
149 $ hg commit -m "m2"
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
150 Invoking status precommit hook
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
151 A f2
29421
ecbbf4d56ee8 largefiles: check file in the repo store before checking remotely (issue5257)
liscju <piotr.listkiewicz@gmail.com>
parents: 29379
diff changeset
152 $ hg verify --large
ecbbf4d56ee8 largefiles: check file in the repo store before checking remotely (issue5257)
liscju <piotr.listkiewicz@gmail.com>
parents: 29379
diff changeset
153 checking changesets
ecbbf4d56ee8 largefiles: check file in the repo store before checking remotely (issue5257)
liscju <piotr.listkiewicz@gmail.com>
parents: 29379
diff changeset
154 checking manifests
ecbbf4d56ee8 largefiles: check file in the repo store before checking remotely (issue5257)
liscju <piotr.listkiewicz@gmail.com>
parents: 29379
diff changeset
155 crosschecking files in changesets and manifests
ecbbf4d56ee8 largefiles: check file in the repo store before checking remotely (issue5257)
liscju <piotr.listkiewicz@gmail.com>
parents: 29379
diff changeset
156 checking files
ecbbf4d56ee8 largefiles: check file in the repo store before checking remotely (issue5257)
liscju <piotr.listkiewicz@gmail.com>
parents: 29379
diff changeset
157 2 files, 2 changesets, 2 total revisions
ecbbf4d56ee8 largefiles: check file in the repo store before checking remotely (issue5257)
liscju <piotr.listkiewicz@gmail.com>
parents: 29379
diff changeset
158 searching 1 changesets for largefiles
ecbbf4d56ee8 largefiles: check file in the repo store before checking remotely (issue5257)
liscju <piotr.listkiewicz@gmail.com>
parents: 29379
diff changeset
159 verified existence of 1 revisions of 1 largefiles
28549
e01bd7385f4f tests: reorder hg serve commands
Jun Wu <quark@fb.com>
parents: 28463
diff changeset
160 $ hg serve --config extensions.largefiles=! -R ../r6 -d -p $HGPORT --pid-file ../hg.pid
21424
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
161 $ cat ../hg.pid >> $DAEMON_PIDS
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
162 $ hg push http://localhost:$HGPORT
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
163 pushing to http://localhost:$HGPORT/
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
164 searching for changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
165 abort: http://localhost:$HGPORT/ does not appear to be a largefile store
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
166 [255]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
167 $ cd ..
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
168
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
169 putlfile errors are shown (issue3123)
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
170 Corrupt the cached largefile in r7 and move it out of the servers usercache
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
171 $ mv r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8 .
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
172 $ echo 'client side corruption' > r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
173 $ rm "$USERCACHE/4cdac4d8b084d0b599525cf732437fb337d422a8"
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
174 $ hg init empty
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
175 $ hg serve -R empty -d -p $HGPORT1 --pid-file hg.pid \
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
176 > --config 'web.allow_push=*' --config web.push_ssl=False
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
177 $ cat hg.pid >> $DAEMON_PIDS
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
178 $ hg push -R r7 http://localhost:$HGPORT1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
179 pushing to http://localhost:$HGPORT1/
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
180 searching for changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
181 remote: largefiles: failed to put 4cdac4d8b084d0b599525cf732437fb337d422a8 into store: largefile contents do not match hash
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
182 abort: remotestore: could not put $TESTTMP/r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8 to remote store http://localhost:$HGPORT1/ (glob)
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
183 [255]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
184 $ mv 4cdac4d8b084d0b599525cf732437fb337d422a8 r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
185 Push of file that exists on server but is corrupted - magic healing would be nice ... but too magic
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
186 $ echo "server side corruption" > empty/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
187 $ hg push -R r7 http://localhost:$HGPORT1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
188 pushing to http://localhost:$HGPORT1/
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
189 searching for changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
190 remote: adding changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
191 remote: adding manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
192 remote: adding file changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
193 remote: added 2 changesets with 2 changes to 2 files
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
194 $ cat empty/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
195 server side corruption
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
196 $ rm -rf empty
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
197
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
198 Push a largefiles repository to a served empty repository
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
199 $ hg init r8
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
200 $ echo c3 > r8/f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
201 $ hg add --large r8/f1 -R r8
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
202 $ hg commit -m "m1" -R r8
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
203 Invoking status precommit hook
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
204 A f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
205 $ hg init empty
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
206 $ hg serve -R empty -d -p $HGPORT2 --pid-file hg.pid \
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
207 > --config 'web.allow_push=*' --config web.push_ssl=False
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
208 $ cat hg.pid >> $DAEMON_PIDS
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
209 $ rm "${USERCACHE}"/*
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
210 $ hg push -R r8 http://localhost:$HGPORT2/#default
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
211 pushing to http://localhost:$HGPORT2/
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
212 searching for changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
213 remote: adding changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
214 remote: adding manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
215 remote: adding file changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
216 remote: added 1 changesets with 1 changes to 1 files
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
217 $ [ -f "${USERCACHE}"/02a439e5c31c526465ab1a0ca1f431f76b827b90 ]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
218 $ [ -f empty/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90 ]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
219
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
220 Clone over http, no largefiles pulled on clone.
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
221
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
222 $ hg clone http://localhost:$HGPORT2/#default http-clone -U
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
223 adding changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
224 adding manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
225 adding file changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
226 added 1 changesets with 1 changes to 1 files
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
227
26417
9a466b9f9792 largefiles: restore archiving largefiles with hgweb (issue4859)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25495
diff changeset
228 Archive contains largefiles
9a466b9f9792 largefiles: restore archiving largefiles with hgweb (issue4859)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25495
diff changeset
229 >>> import urllib2, os
9a466b9f9792 largefiles: restore archiving largefiles with hgweb (issue4859)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25495
diff changeset
230 >>> u = 'http://localhost:%s/archive/default.zip' % os.environ['HGPORT2']
9a466b9f9792 largefiles: restore archiving largefiles with hgweb (issue4859)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25495
diff changeset
231 >>> with open('archive.zip', 'w') as f:
9a466b9f9792 largefiles: restore archiving largefiles with hgweb (issue4859)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25495
diff changeset
232 ... f.write(urllib2.urlopen(u).read())
9a466b9f9792 largefiles: restore archiving largefiles with hgweb (issue4859)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25495
diff changeset
233 $ unzip -t archive.zip
9a466b9f9792 largefiles: restore archiving largefiles with hgweb (issue4859)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25495
diff changeset
234 Archive: archive.zip
29562
cda10ff3175a tests: glob whitespace between path and OK in unzip(1) output
Augie Fackler <augie@google.com>
parents: 29421
diff changeset
235 testing: empty-default/.hg_archival.txt*OK (glob)
cda10ff3175a tests: glob whitespace between path and OK in unzip(1) output
Augie Fackler <augie@google.com>
parents: 29421
diff changeset
236 testing: empty-default/f1*OK (glob)
26417
9a466b9f9792 largefiles: restore archiving largefiles with hgweb (issue4859)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25495
diff changeset
237 No errors detected in compressed data of archive.zip.
9a466b9f9792 largefiles: restore archiving largefiles with hgweb (issue4859)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25495
diff changeset
238
21424
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
239 test 'verify' with remotestore:
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
240
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
241 $ rm "${USERCACHE}"/02a439e5c31c526465ab1a0ca1f431f76b827b90
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
242 $ mv empty/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90 .
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
243 $ hg -R http-clone verify --large --lfa
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
244 checking changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
245 checking manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
246 crosschecking files in changesets and manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
247 checking files
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
248 1 files, 1 changesets, 1 total revisions
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
249 searching 1 changesets for largefiles
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
250 changeset 0:cf03e5bb9936: f1 missing
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
251 verified existence of 1 revisions of 1 largefiles
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
252 [1]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
253 $ mv 02a439e5c31c526465ab1a0ca1f431f76b827b90 empty/.hg/largefiles/
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
254 $ hg -R http-clone -q verify --large --lfa
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
255
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
256 largefiles pulled on update - a largefile missing on the server:
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
257 $ mv empty/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90 .
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
258 $ hg -R http-clone up --config largefiles.usercache=http-clone-usercache
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
259 getting changed largefiles
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
260 f1: largefile 02a439e5c31c526465ab1a0ca1f431f76b827b90 not available from http://localhost:$HGPORT2/
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
261 0 largefiles updated, 0 removed
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
262 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
263 $ hg -R http-clone st
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
264 ! f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
265 $ hg -R http-clone up -Cqr null
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
266
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
267 largefiles pulled on update - a largefile corrupted on the server:
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
268 $ echo corruption > empty/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
269 $ hg -R http-clone up --config largefiles.usercache=http-clone-usercache
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
270 getting changed largefiles
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
271 f1: data corruption (expected 02a439e5c31c526465ab1a0ca1f431f76b827b90, got 6a7bb2556144babe3899b25e5428123735bb1e27)
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
272 0 largefiles updated, 0 removed
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
273 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
274 $ hg -R http-clone st
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
275 ! f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
276 $ [ ! -f http-clone/.hg/largefiles/02a439e5c31c526465ab1a0ca1f431f76b827b90 ]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
277 $ [ ! -f http-clone/f1 ]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
278 $ [ ! -f http-clone-usercache ]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
279 $ hg -R http-clone verify --large --lfc
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
280 checking changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
281 checking manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
282 crosschecking files in changesets and manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
283 checking files
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
284 1 files, 1 changesets, 1 total revisions
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
285 searching 1 changesets for largefiles
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
286 verified contents of 1 revisions of 1 largefiles
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
287 $ hg -R http-clone up -Cqr null
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
288
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
289 largefiles pulled on update - no server side problems:
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
290 $ mv 02a439e5c31c526465ab1a0ca1f431f76b827b90 empty/.hg/largefiles/
25125
bd625cd4e5e7 progress: get the extremely verbose output out of default debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23139
diff changeset
291 $ hg -R http-clone --debug up --config largefiles.usercache=http-clone-usercache --config progress.debug=true
21424
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
292 resolving manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
293 branchmerge: False, force: False, partial: False
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
294 ancestor: 000000000000, local: 000000000000+, remote: cf03e5bb9936
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
295 .hglf/f1: remote created -> g
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
296 getting .hglf/f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
297 updating: .hglf/f1 1/1 files (100.00%)
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
298 getting changed largefiles
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
299 using http://localhost:$HGPORT2/
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
300 sending capabilities command
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
301 sending batch command
28463
19b4a2087dfc largefiles: specify unit for ui.progress when operating on files
Anton Shestakov <av6@dwimlabs.net>
parents: 26417
diff changeset
302 getting largefiles: 0/1 files (0.00%)
21424
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
303 getting f1:02a439e5c31c526465ab1a0ca1f431f76b827b90
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
304 sending getlfile command
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
305 found 02a439e5c31c526465ab1a0ca1f431f76b827b90 in store
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
306 1 largefiles updated, 0 removed
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
307 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
308
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
309 $ ls http-clone-usercache/*
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
310 http-clone-usercache/02a439e5c31c526465ab1a0ca1f431f76b827b90
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
311
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
312 $ rm -rf empty http-clone*
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
313
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
314 used all HGPORTs, kill all daemons
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
315 $ killdaemons.py
21424
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
316
29068
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
317 largefiles should batch verify remote calls
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
318
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
319 $ hg init batchverifymain
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
320 $ cd batchverifymain
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
321 $ echo "aaa" >> a
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
322 $ hg add --large a
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
323 $ hg commit -m "a"
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
324 Invoking status precommit hook
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
325 A a
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
326 $ echo "bbb" >> b
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
327 $ hg add --large b
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
328 $ hg commit -m "b"
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
329 Invoking status precommit hook
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
330 A b
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
331 $ cd ..
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
332 $ hg serve -R batchverifymain -d -p $HGPORT --pid-file hg.pid \
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
333 > -A access.log
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
334 $ cat hg.pid >> $DAEMON_PIDS
29218
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
335 $ hg clone --noupdate http://localhost:$HGPORT batchverifyclone
29068
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
336 requesting all changes
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
337 adding changesets
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
338 adding manifests
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
339 adding file changes
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
340 added 2 changesets with 2 changes to 2 files
29218
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
341 $ hg -R batchverifyclone verify --large --lfa
29068
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
342 checking changesets
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
343 checking manifests
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
344 crosschecking files in changesets and manifests
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
345 checking files
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
346 2 files, 2 changesets, 2 total revisions
29218
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
347 searching 2 changesets for largefiles
29068
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
348 verified existence of 2 revisions of 2 largefiles
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
349 $ tail -1 access.log
31008
636cf3f7620d tests: use LOCALIP
Jun Wu <quark@fb.com>
parents: 30763
diff changeset
350 $LOCALIP - - [*] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=statlfile+sha%3D972a1a11f19934401291cc99117ec614933374ce%3Bstatlfile+sha%3Dc801c9cfe94400963fcb683246217d5db77f9a9a x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob)
29218
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
351 $ hg -R batchverifyclone update
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
352 getting changed largefiles
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
353 2 largefiles updated, 0 removed
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
354 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
355
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
356 Clear log file before next test
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
357
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
358 $ printf "" > access.log
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
359
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
360 Verify should check file on remote server only when file is not
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
361 available locally.
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
362
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
363 $ echo "ccc" >> batchverifymain/c
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
364 $ hg -R batchverifymain status
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
365 ? c
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
366 $ hg -R batchverifymain add --large batchverifymain/c
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
367 $ hg -R batchverifymain commit -m "c"
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
368 Invoking status precommit hook
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
369 A c
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
370 $ hg -R batchverifyclone pull
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
371 pulling from http://localhost:$HGPORT/
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
372 searching for changes
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
373 adding changesets
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
374 adding manifests
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
375 adding file changes
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
376 added 1 changesets with 1 changes to 1 files
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
377 (run 'hg update' to get a working copy)
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
378 $ hg -R batchverifyclone verify --lfa
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
379 checking changesets
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
380 checking manifests
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
381 crosschecking files in changesets and manifests
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
382 checking files
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
383 3 files, 3 changesets, 3 total revisions
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
384 searching 3 changesets for largefiles
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
385 verified existence of 3 revisions of 3 largefiles
fd288d118074 largefiles: send statlfile remote calls only for nonexisting locally files
liscju <piotr.listkiewicz@gmail.com>
parents: 29068
diff changeset
386 $ tail -1 access.log
31008
636cf3f7620d tests: use LOCALIP
Jun Wu <quark@fb.com>
parents: 30763
diff changeset
387 $LOCALIP - - [*] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=statlfile+sha%3Dc8559c3c9cfb42131794b7d8009230403b9b454c x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob)
29068
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
388
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
389 $ killdaemons.py
305f9c36a0f5 largefiles: makes verify batching stat calls to remote
liscju <piotr.listkiewicz@gmail.com>
parents: 28549
diff changeset
390
30332
318a24b52eeb spelling: fixes of non-dictionary words
Mads Kiilerich <madski@unity3d.com>
parents: 29562
diff changeset
391 largefiles should not ask for password again after successful authorization
29379
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
392
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
393 $ hg init credentialmain
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
394 $ cd credentialmain
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
395 $ echo "aaa" >> a
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
396 $ hg add --large a
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
397 $ hg commit -m "a"
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
398 Invoking status precommit hook
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
399 A a
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
400
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
401 Before running server clear the user cache to force clone to download
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
402 a large file from the server rather than to get it from the cache
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
403
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
404 $ rm "${USERCACHE}"/*
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
405
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
406 $ cd ..
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
407 $ cat << EOT > userpass.py
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
408 > import base64
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
409 > from mercurial.hgweb import common
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
410 > def perform_authentication(hgweb, req, op):
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
411 > auth = req.env.get('HTTP_AUTHORIZATION')
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
412 > if not auth:
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
413 > raise common.ErrorResponse(common.HTTP_UNAUTHORIZED, 'who',
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
414 > [('WWW-Authenticate', 'Basic Realm="mercurial"')])
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
415 > if base64.b64decode(auth.split()[1]).split(':', 1) != ['user', 'pass']:
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
416 > raise common.ErrorResponse(common.HTTP_FORBIDDEN, 'no')
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
417 > def extsetup():
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
418 > common.permhooks.insert(0, perform_authentication)
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
419 > EOT
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
420 $ hg serve --config extensions.x=userpass.py -R credentialmain \
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
421 > -d -p $HGPORT --pid-file hg.pid -A access.log
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
422 $ cat hg.pid >> $DAEMON_PIDS
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
423 $ cat << EOF > get_pass.py
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
424 > import getpass
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
425 > def newgetpass(arg):
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
426 > return "pass"
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
427 > getpass.getpass = newgetpass
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
428 > EOF
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
429 $ hg clone --config ui.interactive=true --config extensions.getpass=get_pass.py \
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
430 > http://user@localhost:$HGPORT credentialclone
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
431 requesting all changes
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
432 http authorization required for http://localhost:$HGPORT/
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
433 realm: mercurial
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
434 user: user
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
435 password: adding changesets
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
436 adding manifests
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
437 adding file changes
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
438 added 1 changesets with 1 changes to 1 files
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
439 updating to branch default
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
440 getting changed largefiles
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
441 1 largefiles updated, 0 removed
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
442 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
443
31770
3ed26ba54685 test-serve: kill daemons before deleting the access and error logs
Matt Harbison <matt_harbison@yahoo.com>
parents: 31008
diff changeset
444 $ killdaemons.py
29379
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
445 $ rm hg.pid access.log
fc777c855d66 largefiles: make cloning not ask two times about password (issue4883)
liscju <piotr.listkiewicz@gmail.com>
parents: 29218
diff changeset
446
21424
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
447 #endif