author | Matt Harbison <matt_harbison@yahoo.com> |
Mon, 04 Dec 2017 21:41:04 -0500 | |
changeset 35475 | b0c01a5ee35c |
parent 35474 | 16660fd4428d |
child 35476 | 417e8e040102 |
permissions | -rw-r--r-- |
35139
a2e927ded455
hghave: add a check for lfs-test-server
Matt Harbison <matt_harbison@yahoo.com>
parents:
35098
diff
changeset
|
1 |
#require lfs-test-server |
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
2 |
|
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
3 |
$ LFS_LISTEN="tcp://:$HGPORT" |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
4 |
$ LFS_HOST="localhost:$HGPORT" |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
5 |
$ LFS_PUBLIC=1 |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
6 |
$ export LFS_LISTEN LFS_HOST LFS_PUBLIC |
35141
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
7 |
#if no-windows |
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
8 |
$ lfs-test-server &> lfs-server.log & |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
9 |
$ echo $! >> $DAEMON_PIDS |
35141
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
10 |
#else |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
11 |
$ cat >> $TESTTMP/spawn.py <<EOF |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
12 |
> import os |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
13 |
> import subprocess |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
14 |
> import sys |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
15 |
> |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
16 |
> for path in os.environ["PATH"].split(os.pathsep): |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
17 |
> exe = os.path.join(path, 'lfs-test-server.exe') |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
18 |
> if os.path.exists(exe): |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
19 |
> with open('lfs-server.log', 'wb') as out: |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
20 |
> p = subprocess.Popen(exe, stdout=out, stderr=out) |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
21 |
> sys.stdout.write('%s\n' % p.pid) |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
22 |
> sys.exit(0) |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
23 |
> sys.exit(1) |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
24 |
> EOF |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
25 |
$ $PYTHON $TESTTMP/spawn.py >> $DAEMON_PIDS |
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
26 |
#endif |
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
27 |
|
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
28 |
$ cat >> $HGRCPATH <<EOF |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
29 |
> [extensions] |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
30 |
> lfs= |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
31 |
> [lfs] |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
32 |
> url=http://foo:bar@$LFS_HOST/ |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
33 |
> threshold=1 |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
34 |
> EOF |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
35 |
|
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
36 |
$ hg init repo1 |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
37 |
$ cd repo1 |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
38 |
$ echo THIS-IS-LFS > a |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
39 |
$ hg commit -m a -A a |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
40 |
|
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
41 |
$ hg init ../repo2 |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
42 |
$ hg push ../repo2 -v |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
43 |
pushing to ../repo2 |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
44 |
searching for changes |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
45 |
lfs: uploading 31cf46fbc4ecd458a0943c5b4881f1f5a6dd36c53d6167d5b69ac45149b38e5b (12 bytes) |
35433
f98fac24b757
lfs: using workers in lfs prefetch
Wojciech Lis <wlis@fb.com>
parents:
35280
diff
changeset
|
46 |
lfs: processed: 31cf46fbc4ecd458a0943c5b4881f1f5a6dd36c53d6167d5b69ac45149b38e5b |
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
47 |
1 changesets found |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
48 |
uncompressed size of bundle content: |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
49 |
* (changelog) (glob) |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
50 |
* (manifests) (glob) |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
51 |
* a (glob) |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
52 |
adding changesets |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
53 |
adding manifests |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
54 |
adding file changes |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
55 |
added 1 changesets with 1 changes to 1 files |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
56 |
|
35280
8e72f9152c4d
lfs: introduce a user level cache for lfs files
Matt Harbison <matt_harbison@yahoo.com>
parents:
35141
diff
changeset
|
57 |
Clear the cache to force a download |
8e72f9152c4d
lfs: introduce a user level cache for lfs files
Matt Harbison <matt_harbison@yahoo.com>
parents:
35141
diff
changeset
|
58 |
$ rm -rf `hg config lfs.usercache` |
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
59 |
$ cd ../repo2 |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
60 |
$ hg update tip -v |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
61 |
resolving manifests |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
62 |
getting a |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
63 |
lfs: downloading 31cf46fbc4ecd458a0943c5b4881f1f5a6dd36c53d6167d5b69ac45149b38e5b (12 bytes) |
35473
02f54a1ec9eb
lfs: add note messages indicating what store holds the lfs blob
Matt Harbison <matt_harbison@yahoo.com>
parents:
35433
diff
changeset
|
64 |
lfs: adding 31cf46fbc4ecd458a0943c5b4881f1f5a6dd36c53d6167d5b69ac45149b38e5b to the usercache |
35433
f98fac24b757
lfs: using workers in lfs prefetch
Wojciech Lis <wlis@fb.com>
parents:
35280
diff
changeset
|
65 |
lfs: processed: 31cf46fbc4ecd458a0943c5b4881f1f5a6dd36c53d6167d5b69ac45149b38e5b |
35473
02f54a1ec9eb
lfs: add note messages indicating what store holds the lfs blob
Matt Harbison <matt_harbison@yahoo.com>
parents:
35433
diff
changeset
|
66 |
lfs: found 31cf46fbc4ecd458a0943c5b4881f1f5a6dd36c53d6167d5b69ac45149b38e5b in the local lfs store |
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
67 |
1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
68 |
|
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
69 |
When the server has some blobs already |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
70 |
|
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
71 |
$ hg mv a b |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
72 |
$ echo ANOTHER-LARGE-FILE > c |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
73 |
$ echo ANOTHER-LARGE-FILE2 > d |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
74 |
$ hg commit -m b-and-c -A b c d |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
75 |
$ hg push ../repo1 -v | grep -v '^ ' |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
76 |
pushing to ../repo1 |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
77 |
searching for changes |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
78 |
lfs: need to transfer 2 objects (39 bytes) |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
79 |
lfs: uploading 37a65ab78d5ecda767e8622c248b5dbff1e68b1678ab0e730d5eb8601ec8ad19 (20 bytes) |
35433
f98fac24b757
lfs: using workers in lfs prefetch
Wojciech Lis <wlis@fb.com>
parents:
35280
diff
changeset
|
80 |
lfs: processed: 37a65ab78d5ecda767e8622c248b5dbff1e68b1678ab0e730d5eb8601ec8ad19 |
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
81 |
lfs: uploading d11e1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 (19 bytes) |
35433
f98fac24b757
lfs: using workers in lfs prefetch
Wojciech Lis <wlis@fb.com>
parents:
35280
diff
changeset
|
82 |
lfs: processed: d11e1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 |
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
83 |
1 changesets found |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
84 |
uncompressed size of bundle content: |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
85 |
adding changesets |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
86 |
adding manifests |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
87 |
adding file changes |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
88 |
added 1 changesets with 3 changes to 3 files |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
89 |
|
35280
8e72f9152c4d
lfs: introduce a user level cache for lfs files
Matt Harbison <matt_harbison@yahoo.com>
parents:
35141
diff
changeset
|
90 |
Clear the cache to force a download |
8e72f9152c4d
lfs: introduce a user level cache for lfs files
Matt Harbison <matt_harbison@yahoo.com>
parents:
35141
diff
changeset
|
91 |
$ rm -rf `hg config lfs.usercache` |
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
92 |
$ hg --repo ../repo1 update tip -v |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
93 |
resolving manifests |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
94 |
getting b |
35473
02f54a1ec9eb
lfs: add note messages indicating what store holds the lfs blob
Matt Harbison <matt_harbison@yahoo.com>
parents:
35433
diff
changeset
|
95 |
lfs: found 31cf46fbc4ecd458a0943c5b4881f1f5a6dd36c53d6167d5b69ac45149b38e5b in the local lfs store |
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
96 |
getting c |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
97 |
lfs: downloading d11e1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 (19 bytes) |
35473
02f54a1ec9eb
lfs: add note messages indicating what store holds the lfs blob
Matt Harbison <matt_harbison@yahoo.com>
parents:
35433
diff
changeset
|
98 |
lfs: adding d11e1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 to the usercache |
35433
f98fac24b757
lfs: using workers in lfs prefetch
Wojciech Lis <wlis@fb.com>
parents:
35280
diff
changeset
|
99 |
lfs: processed: d11e1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 |
35473
02f54a1ec9eb
lfs: add note messages indicating what store holds the lfs blob
Matt Harbison <matt_harbison@yahoo.com>
parents:
35433
diff
changeset
|
100 |
lfs: found d11e1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 in the local lfs store |
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
101 |
getting d |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
102 |
lfs: downloading 37a65ab78d5ecda767e8622c248b5dbff1e68b1678ab0e730d5eb8601ec8ad19 (20 bytes) |
35473
02f54a1ec9eb
lfs: add note messages indicating what store holds the lfs blob
Matt Harbison <matt_harbison@yahoo.com>
parents:
35433
diff
changeset
|
103 |
lfs: adding 37a65ab78d5ecda767e8622c248b5dbff1e68b1678ab0e730d5eb8601ec8ad19 to the usercache |
35433
f98fac24b757
lfs: using workers in lfs prefetch
Wojciech Lis <wlis@fb.com>
parents:
35280
diff
changeset
|
104 |
lfs: processed: 37a65ab78d5ecda767e8622c248b5dbff1e68b1678ab0e730d5eb8601ec8ad19 |
35473
02f54a1ec9eb
lfs: add note messages indicating what store holds the lfs blob
Matt Harbison <matt_harbison@yahoo.com>
parents:
35433
diff
changeset
|
105 |
lfs: found 37a65ab78d5ecda767e8622c248b5dbff1e68b1678ab0e730d5eb8601ec8ad19 in the local lfs store |
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
106 |
3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
107 |
|
35474
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
108 |
Test a corrupt file download, but clear the cache first to force a download |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
109 |
|
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
110 |
XXX: ideally, the validation would occur before polluting the usercache and |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
111 |
local store, with a clearer error message. |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
112 |
|
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
113 |
$ rm -rf `hg config lfs.usercache` |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
114 |
$ cp $TESTTMP/lfs-content/d1/1e/1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 blob |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
115 |
$ echo 'damage' > $TESTTMP/lfs-content/d1/1e/1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
116 |
$ rm ../repo1/.hg/store/lfs/objects/d1/1e1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
117 |
$ rm ../repo1/* |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
118 |
$ hg --repo ../repo1 update -C tip -v |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
119 |
resolving manifests |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
120 |
getting a |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
121 |
lfs: found 31cf46fbc4ecd458a0943c5b4881f1f5a6dd36c53d6167d5b69ac45149b38e5b in the local lfs store |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
122 |
getting b |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
123 |
lfs: found 31cf46fbc4ecd458a0943c5b4881f1f5a6dd36c53d6167d5b69ac45149b38e5b in the local lfs store |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
124 |
getting c |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
125 |
lfs: downloading d11e1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 (19 bytes) |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
126 |
lfs: adding d11e1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 to the usercache |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
127 |
lfs: processed: d11e1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
128 |
lfs: found d11e1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 in the local lfs store |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
129 |
abort: integrity check failed on data/c.i:0! |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
130 |
[255] |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
131 |
|
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
132 |
BUG: the corrupted blob was added to the usercache and local store |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
133 |
|
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
134 |
$ cat ../repo1/.hg/store/lfs/objects/d1/1e1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 | $TESTDIR/f --sha256 |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
135 |
sha256=fa82ca222fc9813afad3559637960bf311170cdd80ed35287f4623eb2320a660 |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
136 |
$ cat `hg config lfs.usercache`/d1/1e1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 | $TESTDIR/f --sha256 |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
137 |
sha256=fa82ca222fc9813afad3559637960bf311170cdd80ed35287f4623eb2320a660 |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
138 |
$ cp blob $TESTTMP/lfs-content/d1/1e/1a642b60813aee592094109b406089b8dff4cb157157f753418ec7857998 |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
139 |
|
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
140 |
Test a corrupted file upload |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
141 |
|
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
142 |
$ echo 'another lfs blob' > b |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
143 |
$ hg ci -m 'another blob' |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
144 |
$ echo 'damage' > .hg/store/lfs/objects/e6/59058e26b07b39d2a9c7145b3f99b41f797b6621c8076600e9cb7ee88291f0 |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
145 |
$ hg push -v ../repo1 |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
146 |
pushing to ../repo1 |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
147 |
searching for changes |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
148 |
lfs: uploading e659058e26b07b39d2a9c7145b3f99b41f797b6621c8076600e9cb7ee88291f0 (17 bytes) |
35475
b0c01a5ee35c
lfs: narrow the exceptions that trigger a transfer retry
Matt Harbison <matt_harbison@yahoo.com>
parents:
35474
diff
changeset
|
149 |
abort: HTTP error: HTTP Error 500: Internal Server Error (oid=e659058e26b07b39d2a9c7145b3f99b41f797b6621c8076600e9cb7ee88291f0, action=upload)! |
35474
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
150 |
[255] |
16660fd4428d
test-lfs: add tests around corrupted lfs objects
Matt Harbison <matt_harbison@yahoo.com>
parents:
35473
diff
changeset
|
151 |
|
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
152 |
Check error message when the remote missed a blob: |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
153 |
|
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
154 |
$ echo FFFFF > b |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
155 |
$ hg commit -m b -A b |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
156 |
$ echo FFFFF >> b |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
157 |
$ hg commit -m b b |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
158 |
$ rm -rf .hg/store/lfs |
35280
8e72f9152c4d
lfs: introduce a user level cache for lfs files
Matt Harbison <matt_harbison@yahoo.com>
parents:
35141
diff
changeset
|
159 |
$ rm -rf `hg config lfs.usercache` |
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
160 |
$ hg update -C '.^' |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
161 |
abort: LFS server claims required objects do not exist: |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
162 |
8e6ea5f6c066b44a0efa43bcce86aea73f17e6e23f0663df0251e7524e140a13! |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
163 |
[255] |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
164 |
|
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
165 |
Check error message when object does not exist: |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
166 |
|
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
167 |
$ hg init test && cd test |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
168 |
$ echo "[extensions]" >> .hg/hgrc |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
169 |
$ echo "lfs=" >> .hg/hgrc |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
170 |
$ echo "[lfs]" >> .hg/hgrc |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
171 |
$ echo "threshold=1" >> .hg/hgrc |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
172 |
$ echo a > a |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
173 |
$ hg add a |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
174 |
$ hg commit -m 'test' |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
175 |
$ echo aaaaa > a |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
176 |
$ hg commit -m 'largefile' |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
177 |
$ hg debugdata .hg/store/data/a.i 1 # verify this is no the file content but includes "oid", the LFS "pointer". |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
178 |
version https://git-lfs.github.com/spec/v1 |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
179 |
oid sha256:bdc26931acfb734b142a8d675f205becf27560dc461f501822de13274fe6fc8a |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
180 |
size 6 |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
181 |
x-is-binary 0 |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
182 |
$ cd .. |
35280
8e72f9152c4d
lfs: introduce a user level cache for lfs files
Matt Harbison <matt_harbison@yahoo.com>
parents:
35141
diff
changeset
|
183 |
$ rm -rf `hg config lfs.usercache` |
35098
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
184 |
$ hg --config 'lfs.url=https://dewey-lfs.vip.facebook.com/lfs' clone test test2 |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
185 |
updating to branch default |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
186 |
abort: LFS server error. Remote object for file data/a.i not found:(.*)! (re) |
66c5a8cf2868
lfs: import the Facebook git-lfs client extension
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff
changeset
|
187 |
[255] |
35141
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
188 |
|
32bb27dd5282
test-lfs: allow the test server to be killed on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
35139
diff
changeset
|
189 |
$ $PYTHON $RUNTESTDIR/killdaemons.py $DAEMON_PIDS |