mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 09:17:30 +03:00
remotefilelog: make fetchpacks the default
Summary: This has been enabled for a while now. We won't be going back to using loosefiles, so let's make fetchpacks the default in the code. A future step will remove the code paths that are no longer exercised. Reviewed By: quark-zju Differential Revision: D17919275 fbshipit-source-id: 0614f5710b630690de92cdb43ec07d3a2888aa1e
This commit is contained in:
parent
5ee25ad3e4
commit
c3bc1a7fe4
@ -60,29 +60,8 @@ Prefetch should fail with corruption error
|
||||
added 3 changesets with 0 changes to 0 files
|
||||
adding remote bookmark master_bookmark
|
||||
new changesets 426bada5c675:26805aba1e60
|
||||
$ hgmn prefetch -r ":"
|
||||
remote: Command failed
|
||||
remote: Error:
|
||||
remote: Corrupt hg filenode returned: 005d992c5dcf32993668f7cede29d296c494a5d9 != a2e456504a5e61f763f1a0b36a6c247c7541b2b3
|
||||
remote: Root cause:
|
||||
remote: CorruptHgFileNode {
|
||||
remote: expected: HgFileNodeId(
|
||||
remote: HgNodeHash(
|
||||
remote: Sha1(005d992c5dcf32993668f7cede29d296c494a5d9),
|
||||
remote: ),
|
||||
remote: ),
|
||||
remote: actual: HgFileNodeId(
|
||||
remote: HgNodeHash(
|
||||
remote: Sha1(a2e456504a5e61f763f1a0b36a6c247c7541b2b3),
|
||||
remote: ),
|
||||
remote: ),
|
||||
remote: }
|
||||
abort: error downloading file contents:
|
||||
'connection closed early for filename * and node *' (glob)
|
||||
[255]
|
||||
|
||||
Same for getpackv1
|
||||
$ hgmn prefetch -r ":" --config remotefilelog.fetchpacks=True
|
||||
$ hgmn prefetch -r ":"
|
||||
remote: Command failed
|
||||
remote: Error:
|
||||
remote: Corrupt hg filenode returned: 005d992c5dcf32993668f7cede29d296c494a5d9 != a2e456504a5e61f763f1a0b36a6c247c7541b2b3
|
||||
|
@ -62,6 +62,8 @@ Create a new repository, enable LFS there as well
|
||||
> [extensions]
|
||||
> pushrebase =
|
||||
> remotenames =
|
||||
> [remotefilelog]
|
||||
> getpackversion = 2
|
||||
> EOF
|
||||
|
||||
Pull changes from Mononoke
|
||||
|
@ -121,16 +121,20 @@ Verify that if we fail to upload LFS blobs first, the push fails
|
||||
|
||||
$ cd ..
|
||||
|
||||
Create a new client repository
|
||||
$ hgclone_treemanifest ssh://user@dummy/repo-hg-nolfs repo-hg-lfs2 --noupdate --config extensions.remotenames=
|
||||
$ cd repo-hg-lfs2
|
||||
Create a new client repository, using getpack (with its own cachepath)
|
||||
$ hgclone_treemanifest ssh://user@dummy/repo-hg-nolfs repo-hg-lfs3 --noupdate --config extensions.remotenames=
|
||||
$ cd repo-hg-lfs3
|
||||
$ setup_hg_client
|
||||
$ setup_hg_lfs "$lfs_uri" 1000B "$TESTTMP/lfs-cache2"
|
||||
$ setup_hg_lfs "$lfs_uri" 1000B "$TESTTMP/lfs-cache3"
|
||||
|
||||
$ cat >> .hg/hgrc <<EOF
|
||||
> [extensions]
|
||||
> pushrebase =
|
||||
> remotenames =
|
||||
> [remotefilelog]
|
||||
> fetchpacks = True
|
||||
> getpackversion = 2
|
||||
> cachepath=$TESTTMP/cachepath-alt
|
||||
> EOF
|
||||
|
||||
$ hgmn pull -v
|
||||
@ -205,55 +209,3 @@ Change "sha256:oid" to an another valid oid to check sha1 consisnency
|
||||
abort: stream ended unexpectedly (got 0 bytes, expected 4)
|
||||
[255]
|
||||
|
||||
$ cd ..
|
||||
|
||||
|
||||
Create a new client repository, using getpack (with its own cachepath)
|
||||
$ hgclone_treemanifest ssh://user@dummy/repo-hg-nolfs repo-hg-lfs3 --noupdate --config extensions.remotenames=
|
||||
$ cd repo-hg-lfs3
|
||||
$ setup_hg_client
|
||||
$ setup_hg_lfs "$lfs_uri" 1000B "$TESTTMP/lfs-cache3"
|
||||
|
||||
$ cat >> .hg/hgrc <<EOF
|
||||
> [extensions]
|
||||
> pushrebase =
|
||||
> remotenames =
|
||||
> [remotefilelog]
|
||||
> fetchpacks = True
|
||||
> getpackversion = 2
|
||||
> cachepath=$TESTTMP/cachepath-alt
|
||||
> EOF
|
||||
|
||||
$ hgmn pull -v
|
||||
pulling from ssh://user@dummy/repo
|
||||
searching for changes
|
||||
all local heads known remotely
|
||||
adding changesets
|
||||
adding manifests
|
||||
adding file changes
|
||||
added 2 changesets with 0 changes to 0 files
|
||||
new changesets 99765c8d839c:c651f052c52d
|
||||
|
||||
$ hgmn update -r master_bookmark -v
|
||||
resolving manifests
|
||||
lfs: need to transfer 2 objects (3.92 KB)
|
||||
lfs: downloading d19bca751e178f8cce59e1b872e0fd5857951c2577a2318aefad3253c317d982 (1.96 KB)
|
||||
lfs: processed: d19bca751e178f8cce59e1b872e0fd5857951c2577a2318aefad3253c317d982
|
||||
lfs: downloading e2fff2ce58d585b4b0572e0a323f9e7e5f98cc641489e12c03c401d05d0e350d (1.95 KB)
|
||||
lfs: processed: e2fff2ce58d585b4b0572e0a323f9e7e5f98cc641489e12c03c401d05d0e350d
|
||||
getting lfs-largefile
|
||||
getting lfs-largefile-renamed
|
||||
getting smallfile
|
||||
calling hook update.prefetch: edenscm.hgext.remotefilelog.wcpprefetch
|
||||
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
||||
|
||||
$ sha256sum lfs-largefile
|
||||
e2fff2ce58d585b4b0572e0a323f9e7e5f98cc641489e12c03c401d05d0e350d lfs-largefile
|
||||
|
||||
$ sha256sum lfs-largefile-renamed
|
||||
d19bca751e178f8cce59e1b872e0fd5857951c2577a2318aefad3253c317d982 lfs-largefile-renamed
|
||||
|
||||
$ hgmn st --change . -C
|
||||
A lfs-largefile-renamed
|
||||
lfs-largefile-for-rename
|
||||
R lfs-largefile-for-rename
|
||||
|
@ -93,6 +93,8 @@
|
||||
> [extensions]
|
||||
> pushrebase =
|
||||
> remotenames =
|
||||
> [remotefilelog]
|
||||
> getpackversion = 2
|
||||
> EOF
|
||||
|
||||
$ hgmn pull
|
||||
|
@ -107,6 +107,8 @@
|
||||
> threshold=1000B
|
||||
> usercache=$TESTTMP/lfs-cache2
|
||||
> url=$lfs_uri
|
||||
> [remotefilelog]
|
||||
> getpackversion = 2
|
||||
> EOF
|
||||
|
||||
$ hg update master_bookmark -v
|
||||
|
@ -24,16 +24,14 @@ define a remotefilelog cache process that just logs when things are added
|
||||
> cmd = sys.stdin.readline().strip()
|
||||
> if cmd == 'exit':
|
||||
> sys.exit(0)
|
||||
> elif cmd == 'get':
|
||||
> elif cmd == 'getdata' or cmd == 'gethistory':
|
||||
> count = int(sys.stdin.readline())
|
||||
> for _ in range(count):
|
||||
> key = sys.stdin.readline()[:-1]
|
||||
> if '\0' in key:
|
||||
> _, key = key.split('\0')
|
||||
> sys.stdout.write(key + '\n')
|
||||
> sys.stdout.write('0\n')
|
||||
> sys.stdout.flush()
|
||||
> elif cmd == 'set':
|
||||
> elif cmd == 'setdata' or cmd == 'sethistory':
|
||||
> count = int(sys.stdin.readline())
|
||||
> for _ in range(count):
|
||||
> key = sys.stdin.readline()[:-1]
|
||||
@ -115,16 +113,15 @@ pull the infinitepush commit
|
||||
|
||||
the blob didn't get uploaded to the cache
|
||||
$ cat $TESTTMP/cachelog.log
|
||||
cacheprocess: set $TESTTMP/cachepath/repo-pull1/packs/07bbbe5abb17b910e6011232ceba22b0c6b29b9a
|
||||
cacheprocess: set $TESTTMP/cachepath/repo-pull1/packs/f361a1ed16f4b87bbe47e638d8c2cc9f1de8e06f
|
||||
|
||||
$ hg debugremotefilelog ../cachepath/repo-pull1/97/1c419dd609331343dee105fffd0f4608dc0bf2/b4aa7b980f00bcd3ea58510798c1425dcdc511f3
|
||||
size: 9 bytes
|
||||
path: ../cachepath/repo-pull1/97/1c419dd609331343dee105fffd0f4608dc0bf2/b4aa7b980f00bcd3ea58510798c1425dcdc511f3
|
||||
key: b4aa7b980f00
|
||||
filename: file
|
||||
$ hg debughistorypack ../cachepath/repo-pull1/packs/f361a1ed16f4b87bbe47e638d8c2cc9f1de8e06f
|
||||
|
||||
node => p1 p2 linknode copyfrom
|
||||
b4aa7b980f00 => 599997c6080f 000000000000 000000000000
|
||||
599997c6080f => 000000000000 000000000000 d998012a9c34
|
||||
file
|
||||
Node P1 Node P2 Node Link Node Copy From
|
||||
b4aa7b980f00 599997c6080f 000000000000 000000000000
|
||||
599997c6080f 000000000000 000000000000 d998012a9c34
|
||||
|
||||
$ hg debughistorypack ../cachepath/repo-pull1/packs/manifests/0a557814daab121c2043c7ba26a89a0d60671de6.histpack
|
||||
|
||||
@ -191,22 +188,20 @@ pull only the master branch into another repo
|
||||
|
||||
the blob was uploaded to the cache
|
||||
$ cat $TESTTMP/cachelog.log
|
||||
cacheprocess: set repo-pull2/97/1c419dd609331343dee105fffd0f4608dc0bf2/b4aa7b980f00bcd3ea58510798c1425dcdc511f3
|
||||
cacheprocess: set $TESTTMP/cachepath/repo-pull2/packs/07bbbe5abb17b910e6011232ceba22b0c6b29b9a
|
||||
cacheprocess: set $TESTTMP/cachepath/repo-pull2/packs/e5e1a8b81e9d2360fe54412f8370812c06c6cadb
|
||||
|
||||
$ hg log -G -T '{node} {desc} ({remotenames})\n' -r "all()"
|
||||
@ 6dbc3093b5955d7bb47512155149ec66791c277d master (default/master_bookmark)
|
||||
|
|
||||
o d998012a9c34a2423757a3d40f8579c78af1b342 base ()
|
||||
|
||||
$ hg debugremotefilelog ../cachepath/repo-pull2/97/1c419dd609331343dee105fffd0f4608dc0bf2/b4aa7b980f00bcd3ea58510798c1425dcdc511f3
|
||||
size: 9 bytes
|
||||
path: ../cachepath/repo-pull2/97/1c419dd609331343dee105fffd0f4608dc0bf2/b4aa7b980f00bcd3ea58510798c1425dcdc511f3
|
||||
key: b4aa7b980f00
|
||||
filename: file
|
||||
$ hg debughistorypack ../cachepath/repo-pull2/packs/e5e1a8b81e9d2360fe54412f8370812c06c6cadb
|
||||
|
||||
node => p1 p2 linknode copyfrom
|
||||
b4aa7b980f00 => 599997c6080f 000000000000 6dbc3093b595
|
||||
599997c6080f => 000000000000 000000000000 d998012a9c34
|
||||
file
|
||||
Node P1 Node P2 Node Link Node Copy From
|
||||
b4aa7b980f00 599997c6080f 000000000000 6dbc3093b595
|
||||
599997c6080f 000000000000 000000000000 d998012a9c34
|
||||
|
||||
$ hg debughistorypack ../cachepath/repo-pull2/packs/manifests/d4f69b796da6848a455a916d75afe6b27e774058.histpack
|
||||
|
||||
@ -236,15 +231,12 @@ pull the infinitepush commit again in a new repo
|
||||
new changesets 60ab8a6c8e65
|
||||
$ hgmn up 60ab8a6c8e652ea968be7ffdb658b49de35d3621
|
||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
||||
$ hg debugremotefilelog ../cachepath/repo-pull3/97/1c419dd609331343dee105fffd0f4608dc0bf2/b4aa7b980f00bcd3ea58510798c1425dcdc511f3
|
||||
size: 9 bytes
|
||||
path: ../cachepath/repo-pull3/97/1c419dd609331343dee105fffd0f4608dc0bf2/b4aa7b980f00bcd3ea58510798c1425dcdc511f3
|
||||
key: b4aa7b980f00
|
||||
filename: file
|
||||
$ hg debughistorypack ../cachepath/repo-pull2/packs/e5e1a8b81e9d2360fe54412f8370812c06c6cadb
|
||||
|
||||
node => p1 p2 linknode copyfrom
|
||||
b4aa7b980f00 => 599997c6080f 000000000000 6dbc3093b595
|
||||
599997c6080f => 000000000000 000000000000 d998012a9c34
|
||||
file
|
||||
Node P1 Node P2 Node Link Node Copy From
|
||||
b4aa7b980f00 599997c6080f 000000000000 6dbc3093b595
|
||||
599997c6080f 000000000000 000000000000 d998012a9c34
|
||||
|
||||
$ hg debughistorypack ../cachepath/repo-pull3/packs/manifests/d4f69b796da6848a455a916d75afe6b27e774058.histpack
|
||||
|
||||
|
@ -149,6 +149,12 @@ Setup another client and update to latest commit from mercurial
|
||||
$ cd client-pull
|
||||
$ setup_hg_client
|
||||
$ setup_hg_lfs "$lfs_uri" 1000B "$TESTTMP/lfs-cache1"
|
||||
|
||||
$ cat >> .hg/hgrc <<EOF
|
||||
> [remotefilelog]
|
||||
> getpackversion=2
|
||||
> EOF
|
||||
|
||||
$ hg up 2 -v
|
||||
resolving manifests
|
||||
lfs: downloading c12949887b7d8c46e9fcc5d9cd4bd884de33c1d00e24d7ac56ed9200e07f31a1 (40 bytes)
|
||||
|
Loading…
Reference in New Issue
Block a user