Use GVFS Helper transport instead of read object hook#122
Conversation
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
|
After @jeffhostetler merges microsoft/git#191, I'll generate a In the meantime, the rest is available for review. cc/ @wilbaker, @jrbriggs, @kewillford |
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
wilbaker
left a comment
There was a problem hiding this comment.
Just some minor comments and questions, overall looking good!
Signed-off-by: Derrick Stolee <stolee@gmail.com>
Signed-off-by: Derrick Stolee <stolee@gmail.com>
| @@ -36,6 +36,7 @@ public static class GitConfig | |||
| public const string ScalarTelemetryPipe = GitConfig.ScalarPrefix + "telemetry-pipe"; | |||
There was a problem hiding this comment.
Wondering if we should have a comment on the "gvfs.cache-server" and "gvfs.sharedCache" stating that we intended/need to leave the config prefix as "gvfs" and that it wasn't an oversight during the conversion.
There was a problem hiding this comment.
Interesting... probably not? I did a pretty thorough find-and-replace, so we should assume from now on that every "gvfs" in the codebase is intended to be there.
There was a problem hiding this comment.
that we intended/need to leave the config prefix as "gvfs"
Why do we need to use "gvfs" for the new settings? Is the long term plan to remove the read-object hook in GVFS as well?
There was a problem hiding this comment.
It's because it is related to the "gvfs" protocol (the endpoints have "gvfs" in the name).
There is a possibility that we can move VFS for Git onto the gvfs-helper, too.
Resolves #164. Rename `PostFetchStep` to `CommitGraphStep` because it only writes the commit-graph files. Convert the step to use the `--reachable` option instead of `--stdin-packs`. This helps in multiple ways: 1. We don't need to communicate a list of downloaded packs. 2. It's faster to start from refs than scanning packs. 3. This will work on vanilla Git repos. 4. We can now run the commit-graph step in the background at a standard cadence instead of running it after a prefetch. Cleans up some messages that are no longer useful, including the download-object request that was made irrelevant in #122.
See microsoft/git#191 for the Git code regarding the GVFS transport layer. This can work in tandem with the read-object hook, but it should make the read-object hook irrelevant.
Delete all references to the read-object hook in the product code. This unblocks Finish conversion to .NET Core #4 and the [Mount Removal] tasks [Mount Removal] Remove disk layout upgrade code #15, [Mount Removal] Delete Scalar.Mount.* projects #132, [Mount Removal] Remove GitObjectsRoot and LocalCacheRoot from RepoMetadata.dat and switch to 'gvfs.sharedcache' #133, [Mount Removal] Remove shared cache mapping file #135, [Mount Removal] Improve the layout of files owned by Scalar.Service and audit their ACLs #136, and possible others.
Delete the Sparse Verb in favor of
git sparse-checkout set.Delete the
BlobPrefetcherand all references to--filesor--foldersprefetching.Resolves #6, #7, #36.