gitextract_91dbp7i6/ ├── .azure-pipelines/ │ └── release.yml ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── dependabot.yml │ └── workflows/ │ ├── build.yaml │ ├── functional-tests.yaml │ ├── release-winget.yaml │ └── scripts/ │ └── validate_release.ps1 ├── .gitignore ├── .vsconfig ├── AuthoringTests.md ├── CONTRIBUTING.md ├── Directory.Build.props ├── Directory.Build.targets ├── Directory.Packages.props ├── Directory.Solution.props ├── GVFS/ │ ├── FastFetch/ │ │ ├── CheckoutPrefetcher.cs │ │ ├── CheckoutStage.cs │ │ ├── FastFetch.csproj │ │ ├── FastFetchLibGit2Repo.cs │ │ ├── FastFetchVerb.cs │ │ ├── GitEnlistment.cs │ │ ├── Index.cs │ │ ├── IndexLock.cs │ │ ├── NativeMethods.cs │ │ ├── Program.cs │ │ └── WorkingTree.cs │ ├── GVFS/ │ │ ├── CommandLine/ │ │ │ ├── CacheServerVerb.cs │ │ │ ├── CacheVerb.cs │ │ │ ├── CloneVerb.cs │ │ │ ├── ConfigVerb.cs │ │ │ ├── DehydrateVerb.cs │ │ │ ├── DiagnoseVerb.cs │ │ │ ├── GVFSVerb.cs │ │ │ ├── HealthVerb.cs │ │ │ ├── LogVerb.cs │ │ │ ├── MountVerb.cs │ │ │ ├── PrefetchVerb.cs │ │ │ ├── RepairVerb.cs │ │ │ ├── ServiceVerb.cs │ │ │ ├── SparseVerb.cs │ │ │ ├── StatusVerb.cs │ │ │ ├── UnmountVerb.cs │ │ │ └── UpgradeVerb.cs │ │ ├── GVFS.csproj │ │ ├── InternalsVisibleTo.cs │ │ ├── Program.cs │ │ └── RepairJobs/ │ │ ├── BackgroundOperationDatabaseRepairJob.cs │ │ ├── BlobSizeDatabaseRepairJob.cs │ │ ├── GitConfigRepairJob.cs │ │ ├── GitHeadRepairJob.cs │ │ ├── GitIndexRepairJob.cs │ │ ├── RepairJob.cs │ │ ├── RepoMetadataDatabaseRepairJob.cs │ │ └── VFSForGitDatabaseRepairJob.cs │ ├── GVFS.Common/ │ │ ├── AzDevOpsOrgFromNuGetFeed.cs │ │ ├── ConcurrentHashSet.cs │ │ ├── ConsoleHelper.cs │ │ ├── Database/ │ │ │ ├── GVFSDatabase.cs │ │ │ ├── GVFSDatabaseException.cs │ │ │ ├── IDbCommandExtensions.cs │ │ │ ├── IDbConnectionFactory.cs │ │ │ ├── IGVFSConnectionPool.cs │ │ │ ├── IPlaceholderCollection.cs │ │ │ ├── IPlaceholderData.cs │ │ │ ├── ISparseCollection.cs │ │ │ ├── PlaceholderTable.cs │ │ │ ├── SparseTable.cs │ │ │ └── SqliteDatabase.cs │ │ ├── DiskLayoutUpgrades/ │ │ │ ├── DiskLayoutUpgrade.cs │ │ │ ├── DiskLayoutUpgrade_SqlitePlaceholders.cs │ │ │ └── DiskLayoutVersion.cs │ │ ├── Enlistment.cs │ │ ├── EpochConverter.cs │ │ ├── FileBasedCollection.cs │ │ ├── FileBasedCollectionException.cs │ │ ├── FileBasedDictionary.cs │ │ ├── FileBasedLock.cs │ │ ├── FileSystem/ │ │ │ ├── DirectoryItemInfo.cs │ │ │ ├── FileProperties.cs │ │ │ ├── FlushToDiskFileStream.cs │ │ │ ├── HooksInstaller.cs │ │ │ ├── IKernelDriver.cs │ │ │ ├── IPlatformFileSystem.cs │ │ │ └── PhysicalFileSystem.cs │ │ ├── GVFS.Common.csproj │ │ ├── GVFSConstants.cs │ │ ├── GVFSContext.cs │ │ ├── GVFSEnlistment.Shared.cs │ │ ├── GVFSEnlistment.cs │ │ ├── GVFSLock.Shared.cs │ │ ├── GVFSLock.cs │ │ ├── GVFSPlatform.cs │ │ ├── Git/ │ │ │ ├── DiffTreeResult.cs │ │ │ ├── EndianHelper.cs │ │ │ ├── GVFSGitObjects.cs │ │ │ ├── GitAuthentication.cs │ │ │ ├── GitConfigHelper.cs │ │ │ ├── GitConfigSetting.cs │ │ │ ├── GitCoreGVFSFlags.cs │ │ │ ├── GitIndexGenerator.cs │ │ │ ├── GitObjectContentType.cs │ │ │ ├── GitObjects.cs │ │ │ ├── GitOid.cs │ │ │ ├── GitPathConverter.cs │ │ │ ├── GitProcess.cs │ │ │ ├── GitRefs.cs │ │ │ ├── GitRepo.cs │ │ │ ├── GitSsl.cs │ │ │ ├── GitVersion.cs │ │ │ ├── HashingStream.cs │ │ │ ├── ICredentialStore.cs │ │ │ ├── IGitInstallation.cs │ │ │ ├── LibGit2Exception.cs │ │ │ ├── LibGit2Repo.cs │ │ │ ├── LibGit2RepoInvoker.cs │ │ │ ├── NoOpStream.cs │ │ │ ├── RefLogEntry.cs │ │ │ ├── RequiredGitConfig.cs │ │ │ ├── Sha1Id.cs │ │ │ └── SideChannelStream.cs │ │ ├── GitCommandLineParser.cs │ │ ├── GitStatusCache.cs │ │ ├── GitStatusCacheConfig.cs │ │ ├── HealthCalculator/ │ │ │ ├── EnlistmentHealthCalculator.cs │ │ │ ├── EnlistmentHealthData.cs │ │ │ ├── EnlistmentHydrationSummary.cs │ │ │ ├── EnlistmentPathData.cs │ │ │ └── HydrationStatusCircuitBreaker.cs │ │ ├── HeartbeatThread.cs │ │ ├── Http/ │ │ │ ├── CacheServerInfo.cs │ │ │ ├── CacheServerResolver.cs │ │ │ ├── ConfigHttpRequestor.cs │ │ │ ├── GitEndPointResponseData.cs │ │ │ ├── GitObjectsHttpException.cs │ │ │ ├── GitObjectsHttpRequestor.cs │ │ │ └── HttpRequestor.cs │ │ ├── IDiskLayoutUpgradeData.cs │ │ ├── IHeartBeatMetadataProvider.cs │ │ ├── IProcessRunner.cs │ │ ├── InternalVerbParameters.cs │ │ ├── InternalsVisibleTo.cs │ │ ├── InvalidRepoException.cs │ │ ├── LegacyPlaceholderListDatabase.cs │ │ ├── LocalCacheResolver.cs │ │ ├── LocalGVFSConfig.cs │ │ ├── Maintenance/ │ │ │ ├── GitMaintenanceQueue.cs │ │ │ ├── GitMaintenanceScheduler.cs │ │ │ ├── GitMaintenanceStep.cs │ │ │ ├── GitProcessChecker.cs │ │ │ ├── LooseObjectsStep.cs │ │ │ ├── PackfileMaintenanceStep.cs │ │ │ ├── PostFetchStep.cs │ │ │ └── PrefetchStep.cs │ │ ├── MissingTreeTracker.cs │ │ ├── ModifiedPathsDatabase.cs │ │ ├── NamedPipes/ │ │ │ ├── AllowAllLocksNamedPipeServer.cs │ │ │ ├── BrokenPipeException.cs │ │ │ ├── HydrationStatusNamedPipeMessages.cs │ │ │ ├── LockNamedPipeMessages.cs │ │ │ ├── NamedPipeClient.cs │ │ │ ├── NamedPipeMessages.cs │ │ │ ├── NamedPipeServer.cs │ │ │ ├── NamedPipeStreamReader.cs │ │ │ ├── NamedPipeStreamWriter.cs │ │ │ ├── PipeNameLengthException.cs │ │ │ └── UnstageNamedPipeMessages.cs │ │ ├── NativeMethods.Shared.cs │ │ ├── NativeMethods.cs │ │ ├── NetworkStreams/ │ │ │ ├── BatchedLooseObjectDeserializer.cs │ │ │ ├── PrefetchPacksDeserializer.cs │ │ │ └── RestrictedStream.cs │ │ ├── OrgInfoApiClient.cs │ │ ├── Paths.Shared.cs │ │ ├── Prefetch/ │ │ │ ├── BlobPrefetcher.cs │ │ │ ├── Git/ │ │ │ │ ├── DiffHelper.cs │ │ │ │ ├── PathWithMode.cs │ │ │ │ └── PrefetchGitObjects.cs │ │ │ └── Pipeline/ │ │ │ ├── BatchObjectDownloadStage.cs │ │ │ ├── Data/ │ │ │ │ ├── BlobDownloadRequest.cs │ │ │ │ ├── IndexPackRequest.cs │ │ │ │ └── TreeSearchRequest.cs │ │ │ ├── FindBlobsStage.cs │ │ │ ├── HydrateFilesStage.cs │ │ │ ├── IndexPackStage.cs │ │ │ └── PrefetchPipelineStage.cs │ │ ├── ProcessHelper.cs │ │ ├── ProcessResult.cs │ │ ├── ProcessRunnerImpl.cs │ │ ├── RepoMetadata.cs │ │ ├── RetryBackoff.cs │ │ ├── RetryCircuitBreaker.cs │ │ ├── RetryConfig.cs │ │ ├── RetryWrapper.cs │ │ ├── RetryableException.cs │ │ ├── ReturnCode.cs │ │ ├── SHA1Util.cs │ │ ├── ServerGVFSConfig.cs │ │ ├── StreamUtil.cs │ │ ├── Tracing/ │ │ │ ├── DiagnosticConsoleEventListener.cs │ │ │ ├── EventLevel.cs │ │ │ ├── EventListener.cs │ │ │ ├── EventMetadata.cs │ │ │ ├── EventOpcode.cs │ │ │ ├── IEventListenerEventSink.cs │ │ │ ├── IQueuedPipeStringWriterEventSink.cs │ │ │ ├── ITracer.cs │ │ │ ├── JsonTracer.cs │ │ │ ├── Keywords.cs │ │ │ ├── LogFileEventListener.cs │ │ │ ├── NullTracer.cs │ │ │ ├── PrettyConsoleEventListener.cs │ │ │ ├── QueuedPipeStringWriter.cs │ │ │ ├── TelemetryDaemonEventListener.cs │ │ │ ├── TraceEventMessage.cs │ │ │ └── TracingConstants.cs │ │ ├── VersionResponse.cs │ │ ├── WorktreeCommandParser.cs │ │ └── X509Certificates/ │ │ ├── CertificateVerifier.cs │ │ └── SystemCertificateStore.cs │ ├── GVFS.FunctionalTests/ │ │ ├── AssemblyAttributes.cs │ │ ├── Categories.cs │ │ ├── FileSystemRunners/ │ │ │ ├── BashRunner.cs │ │ │ ├── CmdRunner.cs │ │ │ ├── FileSystemRunner.cs │ │ │ ├── PowerShellRunner.cs │ │ │ ├── ShellRunner.cs │ │ │ └── SystemIORunner.cs │ │ ├── GVFS.FunctionalTests.csproj │ │ ├── GVFSTestConfig.cs │ │ ├── GlobalSetup.cs │ │ ├── Program.cs │ │ ├── Settings.cs │ │ ├── Should/ │ │ │ └── FileSystemShouldExtensions.cs │ │ ├── Tests/ │ │ │ ├── DiskLayoutVersionTests.cs │ │ │ ├── EnlistmentPerFixture/ │ │ │ │ ├── BasicFileSystemTests.cs │ │ │ │ ├── CacheServerTests.cs │ │ │ │ ├── CloneTests.cs │ │ │ │ ├── DehydrateTests.cs │ │ │ │ ├── DiagnoseTests.cs │ │ │ │ ├── GVFSLockTests.cs │ │ │ │ ├── GVFSUpgradeReminderTests.cs │ │ │ │ ├── GitBlockCommandsTests.cs │ │ │ │ ├── GitCorruptObjectTests.cs │ │ │ │ ├── GitFilesTests.cs │ │ │ │ ├── GitMoveRenameTests.cs │ │ │ │ ├── GitReadAndGitLockTests.cs │ │ │ │ ├── HealthTests.cs │ │ │ │ ├── MountTests.cs │ │ │ │ ├── MoveRenameFileTests.cs │ │ │ │ ├── MoveRenameFileTests_2.cs │ │ │ │ ├── MoveRenameFolderTests.cs │ │ │ │ ├── MultithreadedReadWriteTests.cs │ │ │ │ ├── ParallelHydrationTests.cs │ │ │ │ ├── PrefetchVerbTests.cs │ │ │ │ ├── PrefetchVerbWithoutSharedCacheTests.cs │ │ │ │ ├── SparseTests.cs │ │ │ │ ├── StatusVerbTests.cs │ │ │ │ ├── SymbolicLinkTests.cs │ │ │ │ ├── TestsWithEnlistmentPerFixture.cs │ │ │ │ ├── UnmountTests.cs │ │ │ │ ├── UpdatePlaceholderTests.cs │ │ │ │ ├── WorkingDirectoryTests.cs │ │ │ │ └── WorktreeTests.cs │ │ │ ├── EnlistmentPerTestCase/ │ │ │ │ ├── DiskLayoutUpgradeTests.cs │ │ │ │ ├── LooseObjectStepTests.cs │ │ │ │ ├── ModifiedPathsTests.cs │ │ │ │ ├── PersistedWorkingDirectoryTests.cs │ │ │ │ ├── RepairTests.cs │ │ │ │ └── TestsWithEnlistmentPerTestCase.cs │ │ │ ├── FastFetchTests.cs │ │ │ ├── GVFSVerbTests.cs │ │ │ ├── GitCommands/ │ │ │ │ ├── AddStageTests.cs │ │ │ │ ├── CheckoutTests.cs │ │ │ │ ├── CherryPickConflictTests.cs │ │ │ │ ├── CorruptionReproTests.cs │ │ │ │ ├── CreatePlaceholderTests.cs │ │ │ │ ├── DeleteEmptyFolderTests.cs │ │ │ │ ├── EnumerationMergeTest.cs │ │ │ │ ├── GitCommandsTests.cs │ │ │ │ ├── GitRepoTests.cs │ │ │ │ ├── HashObjectTests.cs │ │ │ │ ├── MergeConflictTests.cs │ │ │ │ ├── RebaseConflictTests.cs │ │ │ │ ├── RebaseTests.cs │ │ │ │ ├── ResetHardTests.cs │ │ │ │ ├── ResetMixedTests.cs │ │ │ │ ├── ResetSoftTests.cs │ │ │ │ ├── RmTests.cs │ │ │ │ ├── StatusTests.cs │ │ │ │ ├── UpdateIndexTests.cs │ │ │ │ └── UpdateRefTests.cs │ │ │ ├── MultiEnlistmentTests/ │ │ │ │ ├── ConfigVerbTests.cs │ │ │ │ ├── ServiceVerbTests.cs │ │ │ │ ├── SharedCacheTests.cs │ │ │ │ └── TestsWithMultiEnlistment.cs │ │ │ ├── PrintTestCaseStats.cs │ │ │ └── TestResultsHelper.cs │ │ ├── Tools/ │ │ │ ├── ControlGitRepo.cs │ │ │ ├── FileSystemHelpers.cs │ │ │ ├── GVFSFunctionalTestEnlistment.cs │ │ │ ├── GVFSHelpers.cs │ │ │ ├── GVFSProcess.cs │ │ │ ├── GVFSServiceProcess.cs │ │ │ ├── GitHelpers.cs │ │ │ ├── GitProcess.cs │ │ │ ├── NativeMethods.cs │ │ │ ├── ProcessHelper.cs │ │ │ ├── ProcessResult.cs │ │ │ ├── ProjFSFilterInstaller.cs │ │ │ ├── RepositoryHelpers.cs │ │ │ └── TestConstants.cs │ │ └── Windows/ │ │ ├── TestData/ │ │ │ └── BackgroundGitUpdates/ │ │ │ ├── PersistentDictionary.edb │ │ │ ├── PersistentDictionary.jfm │ │ │ ├── epc.chk │ │ │ ├── epcres00001.jrs │ │ │ └── epcres00002.jrs │ │ ├── Tests/ │ │ │ ├── JunctionAndSubstTests.cs │ │ │ ├── ServiceTests.cs │ │ │ ├── SharedCacheUpgradeTests.cs │ │ │ ├── WindowsDiskLayoutUpgradeTests.cs │ │ │ ├── WindowsFileSystemTests.cs │ │ │ ├── WindowsFolderUsnUpdate.cs │ │ │ ├── WindowsTombstoneTests.cs │ │ │ └── WindowsUpdatePlaceholderTests.cs │ │ └── Tools/ │ │ └── RegistryHelper.cs │ ├── GVFS.FunctionalTests.LockHolder/ │ │ ├── AcquireGVFSLock.cs │ │ ├── GVFS.FunctionalTests.LockHolder.csproj │ │ └── Program.cs │ ├── GVFS.Hooks/ │ │ ├── GVFS.Hooks.csproj │ │ ├── HooksPlatform/ │ │ │ └── GVFSHooksPlatform.cs │ │ ├── KnownGitCommands.cs │ │ ├── Program.Unstage.cs │ │ ├── Program.Worktree.cs │ │ ├── Program.cs │ │ └── UnstageCommandParser.cs │ ├── GVFS.Installers/ │ │ ├── GVFS.Installers.csproj │ │ ├── Setup.iss │ │ ├── info.bat │ │ └── install.bat │ ├── GVFS.MSBuild/ │ │ ├── CompileTemplatedFile.cs │ │ ├── GVFS.MSBuild.csproj │ │ ├── GVFS.targets │ │ ├── GVFS.tasks │ │ ├── GenerateGVFSConstants.cs │ │ ├── GenerateGVFSVersionHeader.cs │ │ └── GenerateWindowsAppManifest.cs │ ├── GVFS.Mount/ │ │ ├── GVFS.Mount.csproj │ │ ├── InProcessMount.cs │ │ ├── InProcessMountVerb.cs │ │ ├── MountAbortedException.cs │ │ └── Program.cs │ ├── GVFS.NativeHooks.Common/ │ │ ├── common.h │ │ └── common.windows.cpp │ ├── GVFS.NativeTests/ │ │ ├── FileUtils.cpp │ │ ├── FileUtils.h │ │ ├── GVFS.NativeTests.vcxproj │ │ ├── GVFS.NativeTests.vcxproj.filters │ │ ├── ReadMe.txt │ │ ├── include/ │ │ │ ├── NtFunctions.h │ │ │ ├── SafeHandle.h │ │ │ ├── SafeOverlapped.h │ │ │ ├── Should.h │ │ │ ├── TestException.h │ │ │ ├── TestHelpers.h │ │ │ ├── TestVerifiers.h │ │ │ ├── prjlib_internal.h │ │ │ ├── prjlibp.h │ │ │ ├── stdafx.h │ │ │ └── targetver.h │ │ ├── interface/ │ │ │ ├── NtQueryDirectoryFileTests.h │ │ │ ├── PlaceholderUtils.h │ │ │ ├── ProjFS_BugRegressionTest.h │ │ │ ├── ProjFS_DeleteFileTest.h │ │ │ ├── ProjFS_DeleteFolderTest.h │ │ │ ├── ProjFS_DirEnumTest.h │ │ │ ├── ProjFS_FileAttributeTest.h │ │ │ ├── ProjFS_FileEATest.h │ │ │ ├── ProjFS_FileOperationTest.h │ │ │ ├── ProjFS_MoveFileTest.h │ │ │ ├── ProjFS_MoveFolderTest.h │ │ │ ├── ProjFS_MultiThreadsTest.h │ │ │ ├── ProjFS_SetLinkTest.h │ │ │ ├── ReadAndWriteTests.h │ │ │ └── TrailingSlashTests.h │ │ ├── packages.config │ │ └── source/ │ │ ├── NtFunctions.cpp │ │ ├── NtQueryDirectoryFileTests.cpp │ │ ├── PlaceholderUtils.cpp │ │ ├── ProjFS_BugRegressionTest.cpp │ │ ├── ProjFS_DeleteFileTest.cpp │ │ ├── ProjFS_DeleteFolderTest.cpp │ │ ├── ProjFS_DirEnumTest.cpp │ │ ├── ProjFS_FileAttributeTest.cpp │ │ ├── ProjFS_FileEATest.cpp │ │ ├── ProjFS_FileOperationTest.cpp │ │ ├── ProjFS_MoveFileTest.cpp │ │ ├── ProjFS_MoveFolderTest.cpp │ │ ├── ProjFS_MultiThreadTest.cpp │ │ ├── ProjFS_SetLinkTest.cpp │ │ ├── ReadAndWriteTests.cpp │ │ ├── TrailingSlashTests.cpp │ │ ├── dllmain.cpp │ │ └── stdafx.cpp │ ├── GVFS.Payload/ │ │ ├── GVFS.Payload.csproj │ │ └── layout.bat │ ├── GVFS.PerfProfiling/ │ │ ├── GVFS.PerfProfiling.csproj │ │ ├── ProfilingEnvironment.cs │ │ └── Program.cs │ ├── GVFS.Platform.Windows/ │ │ ├── ActiveEnumeration.cs │ │ ├── CurrentUser.cs │ │ ├── DiskLayoutUpgrades/ │ │ │ ├── DiskLayout14to15Upgrade_ModifiedPaths.cs │ │ │ ├── DiskLayout15to16Upgrade_GitStatusCache.cs │ │ │ ├── DiskLayout16to17Upgrade_FolderPlaceholderValues.cs │ │ │ ├── DiskLayout17to18Upgrade_TombstoneFolderPlaceholders.cs │ │ │ ├── DiskLayout18to19Upgrade_SqlitePlacholders.cs │ │ │ └── WindowsDiskLayoutUpgradeData.cs │ │ ├── GVFS.Platform.Windows.csproj │ │ ├── HResultExtensions.cs │ │ ├── PatternMatcher.cs │ │ ├── PlatformLoader.Windows.cs │ │ ├── ProjFSFilter.cs │ │ ├── Readme.md │ │ ├── WindowsFileBasedLock.cs │ │ ├── WindowsFileSystem.Shared.cs │ │ ├── WindowsFileSystem.cs │ │ ├── WindowsFileSystemVirtualizer.cs │ │ ├── WindowsGitHooksInstaller.cs │ │ ├── WindowsGitInstallation.cs │ │ ├── WindowsPhysicalDiskInfo.cs │ │ ├── WindowsPlatform.Shared.cs │ │ └── WindowsPlatform.cs │ ├── GVFS.PostIndexChangedHook/ │ │ ├── GVFS.PostIndexChangedHook.vcxproj │ │ ├── GVFS.PostIndexChangedHook.vcxproj.filters │ │ ├── Version.rc │ │ ├── main.cpp │ │ ├── resource.h │ │ ├── stdafx.cpp │ │ ├── stdafx.h │ │ └── targetver.h │ ├── GVFS.ReadObjectHook/ │ │ ├── GVFS.ReadObjectHook.vcxproj │ │ ├── GVFS.ReadObjectHook.vcxproj.filters │ │ ├── Version.rc │ │ ├── main.cpp │ │ ├── packet.cpp │ │ ├── packet.h │ │ ├── resource.h │ │ ├── stdafx.cpp │ │ ├── stdafx.h │ │ └── targetver.h │ ├── GVFS.Service/ │ │ ├── Configuration.cs │ │ ├── GVFS.Service.csproj │ │ ├── GVFSMountProcess.cs │ │ ├── GVFSService.Windows.cs │ │ ├── Handlers/ │ │ │ ├── EnableAndAttachProjFSHandler.cs │ │ │ ├── GetActiveRepoListHandler.cs │ │ │ ├── INotificationHandler.cs │ │ │ ├── MessageHandler.cs │ │ │ ├── NotificationHandler.cs │ │ │ ├── RegisterRepoHandler.cs │ │ │ ├── RequestHandler.Windows.cs │ │ │ ├── RequestHandler.cs │ │ │ └── UnregisterRepoHandler.cs │ │ ├── IRepoMounter.cs │ │ ├── IRepoRegistry.cs │ │ ├── Program.cs │ │ ├── RepoRegistration.cs │ │ └── RepoRegistry.cs │ ├── GVFS.Tests/ │ │ ├── DataSources.cs │ │ ├── GVFS.Tests.csproj │ │ ├── NUnitRunner.cs │ │ └── Should/ │ │ ├── EnumerableShouldExtensions.cs │ │ ├── StringExtensions.cs │ │ ├── StringShouldExtensions.cs │ │ └── ValueShouldExtensions.cs │ ├── GVFS.UnitTests/ │ │ ├── Category/ │ │ │ └── CategoryConstants.cs │ │ ├── CommandLine/ │ │ │ ├── CacheVerbTests.cs │ │ │ └── HooksInstallerTests.cs │ │ ├── Common/ │ │ │ ├── AzDevOpsOrgFromNuGetFeedTests.cs │ │ │ ├── BackgroundTaskQueueTests.cs │ │ │ ├── CacheServerResolverTests.cs │ │ │ ├── Database/ │ │ │ │ ├── GVFSDatabaseTests.cs │ │ │ │ ├── PlaceholderTableTests.cs │ │ │ │ ├── SparseTableTests.cs │ │ │ │ └── TableTests.cs │ │ │ ├── EnlistmentHydrationSummaryTests.cs │ │ │ ├── EpochConverterTests.cs │ │ │ ├── FileBasedDictionaryTests.cs │ │ │ ├── GVFSEnlistmentHealthTests.cs │ │ │ ├── GVFSEnlistmentTests.cs │ │ │ ├── GVFSLockTests.cs │ │ │ ├── Git/ │ │ │ │ ├── GitSslTests.cs │ │ │ │ └── Sha1IdTests.cs │ │ │ ├── GitCommandLineParserTests.cs │ │ │ ├── GitConfigHelperTests.cs │ │ │ ├── GitObjectsTests.cs │ │ │ ├── GitPathConverterTests.cs │ │ │ ├── GitStatusCacheTests.cs │ │ │ ├── GitVersionTests.cs │ │ │ ├── HydrationStatusCircuitBreakerTests.cs │ │ │ ├── HydrationStatusErrorPathTests.cs │ │ │ ├── JsonTracerTests.cs │ │ │ ├── LegacyPlaceholderDatabaseTests.cs │ │ │ ├── LibGit2RepoInvokerTests.cs │ │ │ ├── LibGit2RepoSafeDirectoryTests.cs │ │ │ ├── MissingTreeTrackerTests.cs │ │ │ ├── ModifiedPathsDatabaseTests.cs │ │ │ ├── NamedPipeStreamReaderWriterTests.cs │ │ │ ├── NamedPipeTests.cs │ │ │ ├── OrgInfoApiClientTests.cs │ │ │ ├── PathsTests.cs │ │ │ ├── PhysicalFileSystemDeleteTests.cs │ │ │ ├── RefLogEntryTests.cs │ │ │ ├── RetryBackoffTests.cs │ │ │ ├── RetryConfigTests.cs │ │ │ ├── RetryWrapperTests.cs │ │ │ ├── SHA1UtilTests.cs │ │ │ ├── WorktreeCommandParserTests.cs │ │ │ ├── WorktreeEnlistmentTests.cs │ │ │ ├── WorktreeInfoTests.cs │ │ │ └── WorktreeNestedPathTests.cs │ │ ├── Data/ │ │ │ ├── backward.txt │ │ │ ├── caseChange.txt │ │ │ ├── forward.txt │ │ │ └── index_v4 │ │ ├── GVFS.UnitTests.csproj │ │ ├── Git/ │ │ │ ├── GVFSGitObjectsTests.cs │ │ │ ├── GitAuthenticationTests.cs │ │ │ ├── GitObjectsTests.cs │ │ │ └── GitProcessTests.cs │ │ ├── Hooks/ │ │ │ ├── PostIndexChangedHookTests.cs │ │ │ └── UnstageTests.cs │ │ ├── Maintenance/ │ │ │ ├── GitMaintenanceQueueTests.cs │ │ │ ├── GitMaintenanceStepTests.cs │ │ │ ├── LooseObjectStepTests.cs │ │ │ ├── PackfileMaintenanceStepTests.cs │ │ │ └── PostFetchStepTests.cs │ │ ├── Mock/ │ │ │ ├── Common/ │ │ │ │ ├── MockFileBasedLock.cs │ │ │ │ ├── MockGVFSEnlistment.cs │ │ │ │ ├── MockGitStatusCache.cs │ │ │ │ ├── MockLocalGVFSConfig.cs │ │ │ │ ├── MockLocalGVFSConfigBuilder.cs │ │ │ │ ├── MockPhysicalGitObjects.cs │ │ │ │ ├── MockPlatform.cs │ │ │ │ ├── MockTracer.cs │ │ │ │ └── Tracing/ │ │ │ │ └── MockListener.cs │ │ │ ├── FileSystem/ │ │ │ │ ├── ConfigurableFileSystem.cs │ │ │ │ ├── MockDirectory.cs │ │ │ │ ├── MockFile.cs │ │ │ │ ├── MockFileSystem.cs │ │ │ │ ├── MockFileSystemCallbacks.cs │ │ │ │ ├── MockFileSystemWithCallbacks.cs │ │ │ │ └── MockPlatformFileSystem.cs │ │ │ ├── Git/ │ │ │ │ ├── MockBatchHttpGitObjects.cs │ │ │ │ ├── MockGVFSGitObjects.cs │ │ │ │ ├── MockGitInstallation.cs │ │ │ │ ├── MockGitProcess.cs │ │ │ │ ├── MockGitRepo.cs │ │ │ │ ├── MockHttpGitObjects.cs │ │ │ │ └── MockLibGit2Repo.cs │ │ │ ├── MockCacheServerInfo.cs │ │ │ ├── MockTextWriter.cs │ │ │ ├── ReusableMemoryStream.cs │ │ │ └── Virtualization/ │ │ │ ├── Background/ │ │ │ │ └── MockBackgroundTaskManager.cs │ │ │ ├── BlobSize/ │ │ │ │ └── MockBlobSizesDatabase.cs │ │ │ ├── FileSystem/ │ │ │ │ └── MockFileSystemVirtualizer.cs │ │ │ └── Projection/ │ │ │ └── MockGitIndexProjection.cs │ │ ├── Prefetch/ │ │ │ ├── BatchObjectDownloadStageTests.cs │ │ │ ├── BlobPrefetcherTests.cs │ │ │ ├── DiffHelperTests.cs │ │ │ ├── DiffTreeResultTests.cs │ │ │ ├── PrefetchPacksDeserializerTests.cs │ │ │ └── PrefetchTracingTests.cs │ │ ├── Program.cs │ │ ├── Readme.md │ │ ├── Service/ │ │ │ └── RepoRegistryTests.cs │ │ ├── Setup.cs │ │ ├── Tracing/ │ │ │ ├── EventListenerTests.cs │ │ │ ├── QueuedPipeStringWriterTests.cs │ │ │ └── TelemetryDaemonEventListenerTests.cs │ │ ├── Virtual/ │ │ │ ├── CommonRepoSetup.cs │ │ │ ├── FileSystemVirtualizerTester.cs │ │ │ └── TestsWithCommonRepo.cs │ │ ├── Virtualization/ │ │ │ ├── FileSystemCallbacksTests.cs │ │ │ └── Projection/ │ │ │ ├── GitIndexEntryTests.cs │ │ │ ├── LazyUTF8StringTests.cs │ │ │ ├── ObjectPoolTests.cs │ │ │ └── SortedFolderEntriesTests.cs │ │ └── Windows/ │ │ ├── CommandLine/ │ │ │ └── SparseVerbTests.cs │ │ ├── Mock/ │ │ │ ├── MockVirtualizationInstance.cs │ │ │ ├── MockWriteBuffer.cs │ │ │ └── WindowsFileSystemVirtualizerTester.cs │ │ ├── Platform/ │ │ │ └── ProjFSFilterTests.cs │ │ ├── Virtualization/ │ │ │ ├── ActiveEnumerationTests.cs │ │ │ ├── PatternMatcherTests.cs │ │ │ └── WindowsFileSystemVirtualizerTests.cs │ │ └── WindowsFileBasedLockTests.cs │ ├── GVFS.VirtualFileSystemHook/ │ │ ├── GVFS.VirtualFileSystemHook.vcxproj │ │ ├── GVFS.VirtualFileSystemHook.vcxproj.filters │ │ ├── Version.rc │ │ ├── main.cpp │ │ ├── resource.h │ │ ├── stdafx.cpp │ │ ├── stdafx.h │ │ └── targetver.h │ ├── GVFS.Virtualization/ │ │ ├── Background/ │ │ │ ├── BackgroundFileSystemTaskRunner.cs │ │ │ ├── FileSystemTask.cs │ │ │ ├── FileSystemTaskQueue.cs │ │ │ └── FileSystemTaskResult.cs │ │ ├── BlobSize/ │ │ │ ├── BlobSizes.cs │ │ │ └── BlobSizesException.cs │ │ ├── FileSystem/ │ │ │ ├── FSResult.cs │ │ │ ├── FileSystemResult.cs │ │ │ ├── FileSystemVirtualizer.cs │ │ │ ├── UpdateFailureReason.cs │ │ │ └── UpdatePlaceholderType.cs │ │ ├── FileSystemCallbacks.cs │ │ ├── GVFS.Virtualization.csproj │ │ ├── InternalsVisibleTo.cs │ │ └── Projection/ │ │ ├── GitIndexProjection.FileData.cs │ │ ├── GitIndexProjection.FileTypeAndMode.cs │ │ ├── GitIndexProjection.FolderData.cs │ │ ├── GitIndexProjection.FolderEntryData.cs │ │ ├── GitIndexProjection.GitIndexEntry.cs │ │ ├── GitIndexProjection.GitIndexParser.cs │ │ ├── GitIndexProjection.LazyUTF8String.cs │ │ ├── GitIndexProjection.ObjectPool.cs │ │ ├── GitIndexProjection.PoolAllocationMultipliers.cs │ │ ├── GitIndexProjection.SortedFolderEntries.cs │ │ ├── GitIndexProjection.SparseFolder.cs │ │ ├── GitIndexProjection.cs │ │ ├── IProfilerOnlyIndexProjection.cs │ │ ├── ProjectedFileInfo.cs │ │ ├── Readme.md │ │ └── SizesUnavailableException.cs │ └── GitHooksLoader/ │ ├── GitHooksLoader.cpp │ ├── GitHooksLoader.vcxproj │ ├── GitHooksLoader.vcxproj.filters │ ├── Version.rc │ ├── resource.h │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h ├── GVFS.sln ├── GvFlt_EULA.md ├── License.md ├── Protocol.md ├── Readme.md ├── SECURITY.md ├── ThirdPartyNotices.txt ├── Version.props ├── docs/ │ ├── faq.md │ ├── getting-started.md │ ├── index.md │ └── troubleshooting.md ├── global.json ├── nuget.config └── scripts/ ├── Build.bat ├── CreateBuildArtifacts.bat ├── InitializeEnvironment.bat ├── RunFunctionalTests-Dev.ps1 ├── RunFunctionalTests.bat ├── RunUnitTests.bat ├── StopAllServices.bat └── StopService.bat