|
|
|
|
|
by rcxdude
971 days ago
|
|
with the sparse checkout/partial clone features there's no particular reason you couldn't enforce partial read access: the way git tree hashes work, if you don't change anything in a subdirectory, the contribution of that hash to the tree doesn't change. So as long as you have the hash of that directory you don't need the contents to construct a new commit. The same is true for files themselves: the main thing that must be known is that if you are a file you must know the contents of it, and the directory listing of all the parent folders up to the root. Everything else you only need to know the hash. This is how sparse checkouts work and still allow commits, and it can be turned into partial read access by only allowing sparse checkout and not allowing the content of those directories to be sent to the client. |
|