comparison hgext/lfs/__init__.py @ 37248:dfb38c4850a9

lfs: add an experimental knob to disable blob serving The use case here is the server admin may want to store the blobs elsewhere. As it stands now, the `lfs.url` config on the client side is all that enforces this (the web.allow-* permissions aren't able to block LFS blobs without also blocking normal hg traffic). The real solution to this is to implement the 'verify' action on the client and server, but that's not a near term goal. Whether this is useful in its own right, and should be promoted out of experimental at some point is TBD. Since the other two tests that deal with LFS and `hg serve` are already complex and have #testcases, this seems like a good time to start a new test dedicated to access checks against the server. Instead of conditionally wrapping the wire protocol handler, I put this in the handler because I'd still like to bring the annotations in from the evolve extension in order to set up the wrapping. The 400 status probably isn't great, but that's what it would be for existing `hg serve` instances without support for serving blobs.
author Matt Harbison <matt_harbison@yahoo.com>
date Sat, 31 Mar 2018 15:20:43 -0400
parents 6c7a6b04b274
children 092eff6833a7
comparison
equal deleted inserted replaced
37247:2ed180117f76 37248:dfb38c4850a9
164 testedwith = 'ships-with-hg-core' 164 testedwith = 'ships-with-hg-core'
165 165
166 configtable = {} 166 configtable = {}
167 configitem = registrar.configitem(configtable) 167 configitem = registrar.configitem(configtable)
168 168
169 configitem('experimental', 'lfs.serve',
170 default=True,
171 )
169 configitem('experimental', 'lfs.user-agent', 172 configitem('experimental', 'lfs.user-agent',
170 default=None, 173 default=None,
171 ) 174 )
172 configitem('experimental', 'lfs.worker-enable', 175 configitem('experimental', 'lfs.worker-enable',
173 default=False, 176 default=False,