mirror of
https://github.com/facebook/sapling.git
synced 2024-10-16 19:57:18 +03:00
03e4494e3d
Summary: Verify SHA256 before writing content to the local blob store. This avoids issues when the remote store does not response with the correct content. Differential Revision: D10212567 fbshipit-source-id: 5683058670487df53fb14653d83c27da11367e76
37 lines
932 B
Perl
37 lines
932 B
Perl
$ enable lfs remotefilelog
|
|
$ setconfig lfs.url=file://$TESTTMP/cache lfs.threshold=1 remotefilelog.cachepath=$TESTTMP/rflcache
|
|
|
|
Write a LFS file to the repo
|
|
|
|
$ newrepo source
|
|
$ drawdag << 'EOS'
|
|
> A # A/A=LFS
|
|
> EOS
|
|
|
|
Upload it to the dummy remote store
|
|
|
|
$ hg debuglfsupload -r tip
|
|
|
|
Download it from another repo
|
|
|
|
$ newrepo
|
|
$ hg pull ../source -q
|
|
$ hg update tip -q
|
|
|
|
Corrupt the remote store
|
|
|
|
$ echo corrupted > $TESTTMP/cache/2f/7548e627a92d9ce3f912eb71226f692ec83deed2e72298270b198540d7c70b
|
|
|
|
Download it again in a fresh new repo - should fail
|
|
(using remotefilelog to bypass integrity check at revlog level)
|
|
|
|
$ newrepo
|
|
$ echo remotefilelog >> .hg/requires
|
|
$ hg pull ../source -q
|
|
$ hg update tip -q
|
|
abort: lfs: sha256 mismatch (oid: 2f7548e627a92d9ce3f912eb71226f692ec83deed2e72298270b198540d7c70b, content: 3dff7d61038895144c0eca9d06ac8d067919785a5ba2604db7aef154899a494d)
|
|
[255]
|
|
|
|
$ [ -f A ]
|
|
[1]
|