annotate tests/test-largefiles-wireproto.t @ 24545:9e0c67e84896

json: implement {tags} template Tags is pretty easy to implement. Let's start there. The output is slightly different from `hg tags -Tjson`. For reference, the CLI has the following output: [ { "node": "e2049974f9a23176c2addb61d8f5b86e0d620490", "rev": 29880, "tag": "tip", "type": "" }, ... ] Our output has the format: { "node": "0aeb19ea57a6d223bacddda3871cb78f24b06510", "tags": [ { "node": "e2049974f9a23176c2addb61d8f5b86e0d620490", "tag": "tag1", "date": [1427775457.0, 25200] }, ... ] } "rev" is omitted because it isn't a reliable identifier. We shouldn't be exposing them in web APIs and giving the impression it remotely resembles a stable identifier. Perhaps we could one day hide this behind a config option (it might be useful to expose when running servers locally). The "type" of the tag isn't defined because this information isn't yet exposed to the hgweb templater (it could be in a follow-up) and because it is questionable whether different types should be exposed at all. (Should the web interface really be exposing "local" tags?) We use an object for the outer type instead of Array for a few reasons. First, it is extensible. If we ever need to throw more global properties into the output, we can do that without breaking backwards compatibility (property additions should be backwards compatible). Second, uniformity in web APIs is nice. Having everything return objects seems much saner than a mix of array and object. Third, there are security issues with arrays in older browsers. The JSON web services world almost never uses arrays as the main type for this reason. Another possibly controversial part about this patch is how dates are defined. While JSON has a Date type, it is based on the JavaScript Date type, which is widely considered a pile of garbage. It is a non-starter for this reason. Many of Mercurial's built-in date filters drop seconds resolution. So that's a non-starter as well, since we want the API to be lossless where possible. rfc3339date, rfc822date, isodatesec, and date are all lossless. However, they each require the client to perform string parsing on top of JSON decoding. While date parsing libraries are pretty ubiquitous, some languages don't have them out of the box. However, pretty much every programming language can deal with UNIX timestamps (which are just integers or floats). So, we choose to use Mercurial's internal date representation, which in JSON is modeled as float seconds since UNIX epoch and an integer timezone offset from UTC (keep in mind JavaScript/JSON models all "Numbers" as double prevision floating point numbers, so there isn't a difference between ints and floats in JSON).
author Gregory Szorc <gregory.szorc@gmail.com>
date Tue, 31 Mar 2015 14:52:21 -0700
parents e53f6b72a0e4
children bd625cd4e5e7
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}
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
18 > [hooks]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
19 > 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
20 > EOF
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
21
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
22
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
23 #if serve
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
24 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
25 $ mkdir r1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
26 $ cd r1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
27 $ hg init
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
28 $ echo c1 > f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
29 $ hg add f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
30 $ hg commit -m "m1"
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
31 Invoking status precommit hook
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
32 A f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
33 $ cd ..
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
34 $ 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
35 $ 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
36 $ 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
37 requesting all changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
38 adding changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
39 adding manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
40 adding file changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
41 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
42 updating to branch default
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
43 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
44
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
45 largefiles clients still work with vanilla servers
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
46 $ hg --config extensions.largefiles=! serve -R r1 -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
47 $ 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
48 $ 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
49 requesting all changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
50 adding changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
51 adding manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
52 adding file changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
53 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
54 updating to branch default
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
55 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
56 #endif
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
57
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
58 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
59 $ mkdir r4
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
60 $ cd r4
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
61 $ hg init
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
62 $ echo c1 > f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
63 $ hg add --large f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
64 $ hg commit -m "m1"
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
65 Invoking status precommit hook
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
66 A f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
67 $ cd ..
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
68
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
69 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
70 $ hg init dest
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
71 $ cd r4
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
72 $ hg outgoing ../dest
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
73 comparing with ../dest
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
74 searching for changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
75 changeset: 0:639881c12b4c
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
76 tag: tip
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
77 user: test
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
78 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
79 summary: m1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
80
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
81 $ hg push ../dest
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
82 pushing to ../dest
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
83 searching for changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
84 adding changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
85 adding manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
86 adding file changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
87 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
88
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
89 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
90 $ hg outgoing ../dest
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
91 comparing with ../dest
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
92 searching for changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
93 no changes found
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
94 [1]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
95 $ cd ..
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
96
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
97 #if serve
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
98 $ 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
99 $ 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
100 $ 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
101 abort: remote error:
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
102
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
103 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
104
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
105 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
106 [255]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
107
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
108 used all HGPORTs, kill all daemons
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
109 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
110 #endif
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
111
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
112 vanilla clients locked out from largefiles ssh repos
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
113 $ hg --config extensions.largefiles=! clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/r4 r5
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
114 abort: remote error:
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
115
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
116 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
117
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
118 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
119 [255]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
120
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
121 #if serve
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
122
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
123 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
124 $ mkdir r6
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
125 $ cd r6
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
126 $ hg init
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
127 $ echo c1 > f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
128 $ hg add f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
129 $ hg commit -m "m1"
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
130 Invoking status precommit hook
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
131 A f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
132 $ cat >> .hg/hgrc <<!
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
133 > [web]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
134 > push_ssl = false
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
135 > allow_push = *
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
136 > !
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
137 $ cd ..
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
138 $ hg clone r6 r7
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
139 updating to branch default
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
140 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
141 $ cd r7
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
142 $ echo c2 > f2
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
143 $ hg add --large f2
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
144 $ hg commit -m "m2"
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
145 Invoking status precommit hook
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
146 A f2
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
147 $ hg --config extensions.largefiles=! -R ../r6 serve -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
148 $ 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
149 $ 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
150 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
151 searching for changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
152 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
153 [255]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
154 $ cd ..
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
155
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
156 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
157 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
158 $ 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
159 $ 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
160 $ rm "$USERCACHE/4cdac4d8b084d0b599525cf732437fb337d422a8"
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
161 $ hg init empty
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
162 $ 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
163 > --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
164 $ 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
165 $ 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
166 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
167 searching for changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
168 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
169 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
170 [255]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
171 $ 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
172 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
173 $ 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
174 $ 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
175 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
176 searching for changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
177 remote: adding changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
178 remote: adding manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
179 remote: adding file changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
180 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
181 $ 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
182 server side corruption
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
183 $ rm -rf empty
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
184
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
185 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
186 $ hg init r8
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
187 $ echo c3 > r8/f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
188 $ 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
189 $ 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
190 Invoking status precommit hook
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
191 A f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
192 $ hg init empty
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
193 $ 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
194 > --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
195 $ 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
196 $ rm "${USERCACHE}"/*
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
197 $ 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
198 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
199 searching for changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
200 remote: adding changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
201 remote: adding manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
202 remote: adding file changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
203 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
204 $ [ -f "${USERCACHE}"/02a439e5c31c526465ab1a0ca1f431f76b827b90 ]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
205 $ [ -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
206
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
207 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
208
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
209 $ 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
210 adding changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
211 adding manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
212 adding file changes
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
213 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
214
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
215 test 'verify' with remotestore:
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
216
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
217 $ rm "${USERCACHE}"/02a439e5c31c526465ab1a0ca1f431f76b827b90
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
218 $ 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
219 $ 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
220 checking changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
221 checking manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
222 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
223 checking files
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
224 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
225 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
226 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
227 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
228 [1]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
229 $ 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
230 $ 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
231
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
232 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
233 $ 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
234 $ 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
235 getting changed largefiles
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
236 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
237 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
238 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
239 $ 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
240 ! f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
241 $ 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
242
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
243 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
244 $ 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
245 $ 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
246 getting changed largefiles
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
247 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
248 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
249 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
250 $ 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
251 ! f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
252 $ [ ! -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
253 $ [ ! -f http-clone/f1 ]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
254 $ [ ! -f http-clone-usercache ]
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
255 $ 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
256 checking changesets
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
257 checking manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
258 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
259 checking files
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
260 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
261 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
262 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
263 $ 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
264
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
265 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
266 $ 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
267 $ hg -R http-clone --debug 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
268 resolving manifests
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
269 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
270 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
271 .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
272 getting .hglf/f1
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
273 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
274 getting changed largefiles
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
275 using http://localhost:$HGPORT2/
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
276 sending capabilities command
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
277 sending batch command
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
278 getting largefiles: 0/1 lfile (0.00%)
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
279 getting f1:02a439e5c31c526465ab1a0ca1f431f76b827b90
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
280 sending getlfile command
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
281 found 02a439e5c31c526465ab1a0ca1f431f76b827b90 in store
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
282 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
283 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
284
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
285 $ ls http-clone-usercache/*
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
286 http-clone-usercache/02a439e5c31c526465ab1a0ca1f431f76b827b90
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
287
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
288 $ 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
289
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
290 used all HGPORTs, kill all daemons
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
291 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
292
d13b4ecdb680 test: split test-largefile.t in multiple file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
293 #endif