Mercurial > hg
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 |
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 |