private void InitializeLocalCacheAndObjectsPathsFromRepoMetadata( ITracer tracer, GVFSEnlistment enlistment) { string error; string gitObjectsRoot; if (!RepoMetadata.Instance.TryGetGitObjectsRoot(out gitObjectsRoot, out error)) { this.ReportErrorAndExit(tracer, "Failed to determine git objects root from repo metadata: " + error); } if (string.IsNullOrWhiteSpace(gitObjectsRoot)) { this.ReportErrorAndExit(tracer, "Invalid git objects root (empty or whitespace)"); } string localCacheRoot; if (!RepoMetadata.Instance.TryGetLocalCacheRoot(out localCacheRoot, out error)) { this.ReportErrorAndExit(tracer, "Failed to determine local cache path from repo metadata: " + error); } enlistment.InitializeLocalCacheAndObjectPaths(localCacheRoot, gitObjectsRoot); }
private GVFSGitObjects CreateTestableGVFSGitObjects(MockHttpGitObjects httpObjects, MockFileSystemWithCallbacks fileSystem) { MockTracer tracer = new MockTracer(); GVFSEnlistment enlistment = new GVFSEnlistment(TestEnlistmentRoot, "https://fakeRepoUrl", "fakeGitBinPath", gvfsHooksRoot: null); enlistment.InitializeLocalCacheAndObjectPaths(TestLocalCacheRoot, TestObjecRoot); GitRepo repo = new GitRepo(tracer, enlistment, fileSystem, () => new MockLibGit2Repo(tracer)); GVFSContext context = new GVFSContext(tracer, fileSystem, repo, enlistment); GVFSGitObjects dut = new GVFSGitObjects(context, httpObjects); return(dut); }