Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cache to warning #5

Open
wants to merge 323 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
323 commits
Select commit Hold shift + click to select a range
355ead8
Variable renaming
wilbaker Oct 2, 2018
f97b5cd
SharedCacheTests: add test for multi-enlistment checkout failures
derrickstolee Oct 1, 2018
8dba3b4
Merge pull request #324 Windows: Use a faster comparison when enumera…
wilbaker Oct 2, 2018
4a48901
Merge pull request #313 CloneVerb: Force download of commit and trees…
derrickstolee Oct 3, 2018
48f62a2
Use correct repoUrl for credential
jeschu1 Oct 3, 2018
d2bbde8
Remove SharedCacheTests.SecondCloneSucceedsWithMissingTrees
derrickstolee Oct 3, 2018
0bf8b3f
Fix diagnose message for cache server
jeschu1 Oct 3, 2018
e99c92f
Mac: Prevent double hydration and directory expansion
wilbaker Oct 3, 2018
4fd9e66
Merge pull request #331 Remove SharedCacheTests.SecondCloneSucceedsWi…
derrickstolee Oct 4, 2018
c226d42
1. GVFS.Service checks for upgrade availability periodically. When an…
alameenshah Sep 18, 2018
d0668d4
Incorporating suggestions from test feedback.
alameenshah Sep 19, 2018
5681da5
- renamed upgrade ring config to "gvfs.upgrade-ring"
alameenshah Sep 21, 2018
4206f26
- resolving merge issues
alameenshah Sep 24, 2018
9e225a8
- Removed GitProcess.Version()
alameenshah Sep 27, 2018
f453680
- Renamed GVFSConfig.cs to ServerGVFSConfig.cs.
alameenshah Sep 26, 2018
1274350
- New ConfigVerb.
alameenshah Sep 26, 2018
1827893
- Replaced git config format and writer with FileBasedDictionary
alameenshah Sep 26, 2018
bab403f
- Allow gvfs config to succeed from a Non-elevated command prompt. GV…
alameenshah Sep 26, 2018
380fd99
- Renamed GVFSVerb.NonRepoVerb to GVFSVerb.ForNoEnlistment.
alameenshah Sep 26, 2018
d263eb1
- Support for New Asset installer name format.
alameenshah Sep 28, 2018
28f1633
- Updated InstallerExtension of Mock & Mac platforms. New extenstions…
alameenshah Oct 1, 2018
4980230
- Fixing FunctionalTest failure.
alameenshah Oct 1, 2018
f215afc
Fixing a typo
alameenshah Oct 1, 2018
0322ab5
- Revert back to old installer name "SetupGVFS.<version>.exe"
alameenshah Oct 3, 2018
f40e3d6
Merge pull request #327 from jeschu1/repourl_fix
jeschu1 Oct 4, 2018
bd66019
Merge pull request #329 from jeschu1/cacheserverurl
jeschu1 Oct 4, 2018
46f9bc5
Repair Functional Tests: test for confirm on and off
jeschu1 Oct 4, 2018
9dd292d
PR Feedback: Use fsid&inode instead of path as key in mutex map
wilbaker Oct 4, 2018
5ab4463
Add Mac Setup instructions needed for building on Mac
Aug 30, 2018
84fdbf8
Add initial set of build steps for Mac OS
Sep 20, 2018
871f87c
Update mac os build subtitle
Sep 20, 2018
88b1c55
Remove steps covered by the prep script
Sep 20, 2018
fbc892a
Remove deprecated java hack for git-credential-manager
Sep 20, 2018
96218db
Grammar
Sep 21, 2018
54b7315
Style updates
Sep 21, 2018
4fe765d
Simplify steps language
Sep 21, 2018
b824382
Update grammar issues
Sep 26, 2018
01b68ac
Fix Spelling
Sep 26, 2018
53f1def
More style fixes
Oct 4, 2018
04b9203
More grammar resolutions
Oct 4, 2018
718b5d0
Add original description on NamedPipe protocol
jamill Oct 4, 2018
6f00c20
SecondCloneSucceedsWithMissingTrees: Attempt 2
derrickstolee Oct 4, 2018
43287ec
SharedCacheTests: Update WellKnownCommitSha
derrickstolee Oct 4, 2018
02d13b7
- Fixing merge issues with master
alameenshah Oct 4, 2018
5dc0e35
Remove autogenerated Xcode comment
wilbaker Oct 4, 2018
253c9f5
Mac: Update MoveAndOverwriteFile to use native API
wilbaker Oct 4, 2018
a3cb262
Merge pull request #336 SecondCloneSucceedsWithMissingTrees: Attempt 2
derrickstolee Oct 4, 2018
7aebab2
- Fixing UT failure. Launching upgrade tool was moved out of the spin…
alameenshah Oct 4, 2018
8b27e06
Merge pull request #334 Mac: Prevent double hydration and directory e…
wilbaker Oct 4, 2018
b613d4f
Merge pull request #287 from kyle-rader/chore/add-mac-build-steps
Oct 4, 2018
9bdca0b
Merge pull request #344 Mac: Update MoveAndOverwriteFile to use nativ…
wilbaker Oct 4, 2018
df5ea19
Simplify NamedPipeStreamReader logic
jamill Oct 4, 2018
755dda6
Mac kext: Handle named streams
pmj Oct 1, 2018
f147f8c
Mac kext: Replaces some C-style casts with C++ style.
pmj Sep 28, 2018
d21d165
Mac kext: Enables warning for shadowed variables.
pmj Oct 1, 2018
e50e488
Mac kext: Adds typed array memory allocation function.
pmj Oct 1, 2018
3211ed1
Mac kext: Use only VirtualizationRoot handles, not direct pointers
pmj Sep 28, 2018
0a0ac88
Mac kext: Dynamically alloc virtualisation root array & resize when f…
pmj Oct 1, 2018
25dab5d
Select installation of VS that can build the project on Windows.
jrbriggs Oct 4, 2018
0c13294
Merge pull request #339: Pass all required components to vswhere in B…
jrbriggs Oct 5, 2018
4cc1b43
Merge pull request #343: Fix handling of multiple sequential messages
jrbriggs Oct 5, 2018
4057d91
Upgrade verb for manually installing new product release
alameenshah Oct 5, 2018
c07d9eb
- Removed wildcard matching while searching for downloaded installers
alameenshah Oct 5, 2018
63a8405
Windows: Add delay and retry to attributes check in ExpandedFileAttri…
wilbaker Oct 5, 2018
320d046
Use Refresh rather than creating a new FileInfo
wilbaker Oct 5, 2018
5747bf8
Merge pull request #322 from pmj/virt-root-refactor
pmj Oct 6, 2018
c2910a1
Mac kext: Scoped timing wrapper and user client for extracting profil…
Jun 20, 2018
3c86170
Mac kext: Incorporates code review style feedback
pmj Oct 5, 2018
5f7cc97
Mac kext: Placement of profiling probes throughout the vnode listener
pmj Sep 29, 2018
b268599
Mac kext: Conditionally enable performance tracing.
pmj Sep 28, 2018
905258a
Mac kext: New Profiling(Release) build configuration based on Release
pmj Sep 29, 2018
97d4776
Mac kext: Adds check to only handle fileops on allowed filesystems
pmj Oct 6, 2018
e1db074
Merge pull request #281 from pmj/performance-tracing
pmj Oct 7, 2018
f73a208
Merge pull request #352 from pmj/fileops-on-allowed-filesystems
pmj Oct 7, 2018
5ee74b0
Make GVFS.Upgrader rely on GVFS.cs.props to fix incremental build issue
jrbriggs Oct 8, 2018
1c6a49f
Merge pull request #335 from jeschu1/repair_functional_tests
jeschu1 Oct 8, 2018
95b9bf6
GitProcess: allow GIT_TRACE to point to full path
derrickstolee Oct 3, 2018
b1a31fc
Switch from FileAttributeRecallOnOpen to FileAttributeRecallOnDataAccess
wilbaker Oct 8, 2018
c3ea175
- Added ability to set custom key comparers in FileBasedDictionary. C…
alameenshah Oct 8, 2018
07c8b1d
Merge pull request #326 GitProcess: allow GIT_TRACE to point to full …
derrickstolee Oct 8, 2018
d743a67
Merge pull request #353: Make GVFS.Upgrader rely on GVFS.cs.props
jrbriggs Oct 8, 2018
5a22202
Avoiding possible redundant initialisation of ConcurrentDictionary in…
alameenshah Oct 8, 2018
4a2edc0
Mac: New folder notifications
wilbaker Oct 8, 2018
723f21f
Merge pull request #350 Windows: Add delay and retry to attributes ch…
wilbaker Oct 8, 2018
07a6003
Enable additional functional tests
wilbaker Oct 8, 2018
6fe4f03
Cleanup - Use Enlistment.GitBinPath when available, rather than invok…
alameenshah Oct 9, 2018
19b90cc
Notify provider of new ancestor folders, enable more tests, support g…
wilbaker Oct 8, 2018
5b8f17a
Cleanups - made InstallerExtension strings const. Renamed InstallerEx…
alameenshah Oct 9, 2018
7cd6375
UpgradeVerb cleanups for release
alameenshah Oct 9, 2018
9edf598
Revert whitespace change
wilbaker Oct 9, 2018
f642a7d
Move call to pop
wilbaker Oct 9, 2018
740bd76
Update build scripts to handle new Profiling configuration
nickgra Oct 10, 2018
1af2617
Mac: Handle projection changes where git deletes folders that are sti…
wilbaker Oct 9, 2018
8572e72
Add check-ignore and check-mailmap to commands that do not lock
Oct 10, 2018
5d62ef3
Fix StyleCop issue
wilbaker Oct 10, 2018
d57e791
Add additional functional test and update PrjFS_WritePlaceholderDirec…
wilbaker Oct 10, 2018
74743c0
Code cleanup
wilbaker Oct 10, 2018
246f1aa
Merge pull request #368 Mac: Handle projection changes where git dele…
wilbaker Oct 10, 2018
c3f03f8
Update GitForWindows to include tracing
derrickstolee Oct 11, 2018
34a54f9
Add tests for creating placeholders
Oct 10, 2018
7ff203c
Add test that adds untracked file in new folder 2 levels deep
Oct 9, 2018
03fba04
Update git for windows version
Oct 9, 2018
26e67c3
Merge kewillford/untracked_missing
derrickstolee Oct 11, 2018
33f8566
Add try/catch/finally for the task running git command with stdin
Oct 11, 2018
a5c027e
Address PR feedback and update MirrorProvider script too
nickgra Oct 11, 2018
23d457d
Fix commands that need additional parameters with stdin
Oct 11, 2018
82627ae
Merge pull request #375 from nickgra/ProfilingBuild
nickgra Oct 11, 2018
ed46b0e
GVFS.props: use release build with rebase fix
derrickstolee Oct 12, 2018
074ddbf
Merge pull request #362 from kewillford/check_ignore
Oct 12, 2018
51de92b
Merge pull request #373 Update Git to include tracing and fix for unt…
derrickstolee Oct 12, 2018
730fb89
Use a consistent date/time format for logging
mitesch Oct 12, 2018
5106a87
Cleanup for PR feedback
wilbaker Oct 12, 2018
c12e1f9
Turn on 'gvfs prefetch --hydrate' on MacOS by providing a native OS i…
nickgra Oct 10, 2018
be7f0b2
Merge pull request #372 from nickgra/realPrefetchHydrate
nickgra Oct 12, 2018
a5bb527
Additional cleanup for PR feedback
wilbaker Oct 15, 2018
1e9e915
Merge pull request #357 Mac: New folder notifications
wilbaker Oct 15, 2018
5f9bab4
- Updated gvfs config verb to support CRUD and List operations on set…
alameenshah Oct 12, 2018
59d0250
incorporating review comments. Removed tracer. Style cleanups.
alameenshah Oct 15, 2018
012ee31
Mac: Update and delete placeholder functions should check if file is …
wilbaker Oct 9, 2018
a697342
Merge pull request #384: Include UTC offset in log timestamp.
jrbriggs Oct 16, 2018
e05c9c7
PR Feedback: Cleanup comments
wilbaker Oct 16, 2018
383ab8d
incorporating review comments - removed hard coded config file path, …
alameenshah Oct 16, 2018
ee516e7
Add WaitForBackgroundOperations call with checking modified paths
Oct 16, 2018
2e7de55
Move validation of background operations completing to common location
Oct 17, 2018
0b26d76
Use common method for getting the modified paths contents
Oct 17, 2018
1ccbc99
Merge pull request #394 Mac: Update and delete placeholder functions …
wilbaker Oct 17, 2018
86c4191
Replaced CommandLineParser's Param set with our own option set check.
alameenshah Oct 17, 2018
9b2d5a8
Merge pull request #401 Add WaitForBackgroundOperations call with che…
Oct 18, 2018
51a2b63
Ignore .vscode directory
jrbriggs Oct 18, 2018
5e713ae
Use 'multi-pack-index' builtin instead of 'midx' to match upstream im…
derrickstolee Sep 5, 2018
127e8b3
Run post-fetch job immediately on "gvfs mount" to ensure users have a…
derrickstolee Sep 24, 2018
66ad490
Update GitForWindows version to include new MIDX code
derrickstolee Sep 24, 2018
f1bc061
Refactor to use a common authentication method
sanoursa Sep 6, 2018
34c615d
Attempt an anonymous query before requesting an auth token
sanoursa Sep 6, 2018
d8fa542
Allow a verb to pass along its auth instance to another verb that it …
sanoursa Sep 7, 2018
927c3d6
Fixed up another entry point that requires auth
sanoursa Sep 7, 2018
dc5bcec
Add a single-step Initialize method
sanoursa Sep 25, 2018
ca076fa
Pass the exisitng auth instance through to the constructor of Enlistm…
sanoursa Sep 25, 2018
5d8975e
Require an auth instance to be initialized before it can be used
sanoursa Sep 25, 2018
4d215d4
Fix up FastFetch to initialize auth before making any queries
sanoursa Sep 25, 2018
11c98fe
Fail to initialize if there were unrelated errors during the anonymou…
sanoursa Sep 25, 2018
9a4d2b3
Cleaned up logging and don't report an error on a failed anonymous query
sanoursa Sep 25, 2018
29104cd
Fixed failing dehydrate scenario, reduced tracing chatter
sanoursa Sep 25, 2018
13d7e88
Remove unused code
sanoursa Sep 25, 2018
a73bd7d
Don't allow switching between anonymous/authenticated, and treat empt…
sanoursa Oct 5, 2018
0655916
Removed invalid exception
sanoursa Oct 5, 2018
4c843f6
Set httpStatus to 200 in the success case
sanoursa Oct 18, 2018
1275144
Cleanup ConfigVerb- removed multiple returns with nested if else.
alameenshah Oct 18, 2018
6643b70
Create init scripts to set up dev environment in cmd/ps
jrbriggs Oct 18, 2018
93ca1b1
Enforce running init before other scripts. Remove relative paths from…
jrbriggs Oct 18, 2018
e22ceee
Merge pull request #247: Enable anonymous access
sanoursa Oct 18, 2018
8d4596a
Close file descriptors when done with them as part of prefetch --hydrate
nickgra Oct 17, 2018
5a2a9a7
Merge pull request #399 from nickgra/closefds
nickgra Oct 18, 2018
e4f2b49
CommitPrefetcher: Delete MIDX when deleting bad packs
derrickstolee Oct 19, 2018
97fa309
Added OneTimeSetup method to clear all FunctionalTest configs before …
alameenshah Oct 19, 2018
c3b9282
Use IsUnderConstruction to avoid threadabort on mac
derrickstolee Oct 19, 2018
d7698d0
Add untracked files from reset mixed to ModifiedPaths.dat
wilbaker Oct 18, 2018
7643cfd
Don't use .NET Core specific Remove
wilbaker Oct 19, 2018
7daa9f1
Merge pull request #296 Update multi-pack-index to use upstream version
derrickstolee Oct 19, 2018
3bd509d
GVFS ConfigVerb - support for listing & CRUD
alameenshah Oct 19, 2018
f8de648
PR Feedback: Cleanup and ensure paths correct on all platforms
wilbaker Oct 22, 2018
cbdaeaa
Fix build break on Windows
wilbaker Oct 22, 2018
6e697e0
Fix another Windows build break
wilbaker Oct 22, 2018
e1da84b
Fix repositoryPath to work on all platforms
sanoursa Oct 22, 2018
f487e7f
Merge pull request #417: Fix nuget repositoryPath to work on all plat…
sanoursa Oct 23, 2018
986d7ea
Add functional test the fails on Windows without fix
wilbaker Oct 23, 2018
7343743
Fix casing in EnsureVFSDevShell.bat
jrbriggs Oct 19, 2018
f27cec1
Trim down the list of macros and allow running specific functional tests
jrbriggs Oct 19, 2018
01f78b6
Just test for the agent flag being set to something
jrbriggs Oct 19, 2018
30eba63
Allow running from devenv prompts, put nuget on the path
jrbriggs Oct 19, 2018
f4b5868
Remove convenience macros from init
jrbriggs Oct 23, 2018
c08f0c7
Move init script
jrbriggs Oct 23, 2018
4821f22
Remove *DevService.bat scripts
jrbriggs Oct 23, 2018
32fc0cf
Make Windows scripts init the environment
jrbriggs Oct 23, 2018
15fa4f1
Ignore symlinks when 'prefetch --hydrate'-ing. Update ParseFromLsTree…
nickgra Oct 20, 2018
8bb0fc7
First round of changes for PR feedback
wilbaker Oct 23, 2018
61c6b9c
Merge pull request #412 from nickgra/prefetchSkipSymlinks
nickgra Oct 24, 2018
69523ef
Merge pull request #406: Remove most relative paths from Windows scripts
jrbriggs Oct 24, 2018
8705bef
Eliminate LazyPath race condition by not using them on BG task thread
wilbaker Oct 23, 2018
31329e5
Cleanup for PR comments
wilbaker Oct 24, 2018
1e1c41b
Add additional logging
wilbaker Oct 24, 2018
4d03365
Centralize spcial Mac paths in InitializeEnviroment.sh
jrbriggs Oct 24, 2018
ab465bb
Also update ModifedPaths for update-index command
wilbaker Oct 24, 2018
dd9646e
Merge pull request #421: Centralize special Mac paths in InitializeEn…
jrbriggs Oct 24, 2018
3075aaf
PostFetchJob: Kill running Git process when unmounting
derrickstolee Oct 24, 2018
7d443e9
Merge pull request #420 PostFetchJob: Kill running Git process when u…
derrickstolee Oct 24, 2018
cf38b02
PostFetchJob: Delete stale .lock files
derrickstolee Oct 24, 2018
878c9a9
GitProcess: return true when process is null
derrickstolee Oct 25, 2018
bade078
Prefetch Tests: Add test for .lock files
derrickstolee Oct 24, 2018
f7c4c32
Merge pull request #422 PostFetchJob: Delete stale .lock files
derrickstolee Oct 25, 2018
f2c63e8
Mount: Remove tracing on TryAttach
jeschu1 Oct 22, 2018
347e1f0
GitProcessTests: add simple unit test
derrickstolee Oct 25, 2018
90b6477
Modify PrepFunctionalTests.sh to work out of the publish directory
jrbriggs Oct 25, 2018
58aa5e9
Merge pull request #425 GitProcess: return true when process is null
derrickstolee Oct 25, 2018
75ab20c
Mac kext: Adds nullability attributes to pointer-typed function param…
pmj Oct 25, 2018
a72a5ab
Mac kext: Removes unused vfs_context_t parameter
pmj Oct 25, 2018
b1a1e42
Merge pull request #424 from pmj/fix-null-vfs-context
pmj Oct 25, 2018
583a33b
Relocated Git installer to BuildOuptut
jrbriggs Oct 25, 2018
2753b72
PR Feedback: Use different GitIndexEntry methods when building new pr…
wilbaker Oct 25, 2018
97dfe31
StyleCop fixes
wilbaker Oct 25, 2018
8a6b1bd
Implement a generic bool array for use with parameterized TestFixtures.
nickgra Oct 25, 2018
d428f1a
Merge pull request #427: Modify PrepFunctionalTests.sh to work out of…
jrbriggs Oct 26, 2018
f032c94
Update Readme.md
ravi-saini35 Oct 26, 2018
c52da6c
Merge pull request #430 from nickgra/objectArrays4NUnit
nickgra Oct 26, 2018
d9edf15
Migrate nuget feeds
jrbriggs Oct 26, 2018
efd971a
PerfProfiling should not initialize GVFSPlatform twice
wilbaker Oct 26, 2018
9d84295
Update Readme.md
ravi-saini35 Oct 26, 2018
77f84ae
Use StringBuilder in BG task and update unit tests
wilbaker Oct 26, 2018
6532cc9
Merge pull request #435: Move build dependencies feed
jrbriggs Oct 26, 2018
7cde6c2
Additional cleanup
wilbaker Oct 26, 2018
208a5dc
Merge remote-tracking branch 'msft/master' into reset_mixed_untracked…
wilbaker Oct 26, 2018
5be9511
Use DataSources.AllBools in unit tests
wilbaker Oct 26, 2018
0f79ab0
Mac: Skip events when file attributes cannot be read
wilbaker Oct 23, 2018
12c17a3
Assert that file attribute read does not fail in FileOp events
wilbaker Oct 25, 2018
43cf47a
Deny I/O when file attribute read fails
wilbaker Oct 25, 2018
b471dd4
Merge pull request #418 Mac: Do not panic when file attributes cannot…
wilbaker Oct 26, 2018
c7e221b
Mac PrjFSLib: Use IOSharedDataQueue workaround library if available
pmj Oct 25, 2018
920fe27
Merge pull request #429 from pmj/ioshareddataqueue-workaround-dylib
pmj Oct 28, 2018
85c5cb8
Merge pull request #415 from jeschu1/warn_instead
jeschu1 Oct 29, 2018
4809082
Consume libSharedDataQueue.dylib by downloading it as a NuGet package…
nickgra Oct 29, 2018
6fa9bbc
Merge pull request #408 Add untracked files from reset mixed to Modif…
wilbaker Oct 29, 2018
835e950
Mac: Run GitCommandsTests with and without validating the working dir…
wilbaker Oct 25, 2018
6bb8059
Address PR feedback on naming
nickgra Oct 30, 2018
a84150d
Fix StyleCop issues
wilbaker Oct 30, 2018
486def4
Merge pull request #434 Update Readme.md
Oct 30, 2018
a6e4768
Merge pull request #439 from nickgra/downloadDylib
nickgra Oct 30, 2018
a89a455
Enable HashObjectTests and RmTests on Mac
wilbaker Oct 30, 2018
f2deecd
Clean up NUnit source parameterization
wilbaker Oct 30, 2018
4478d09
Add ability to specify an iKey for the ETW listener
Oct 30, 2018
1ce6738
Add path helper method, only run with both validation options when ru…
wilbaker Oct 31, 2018
7122424
Merge pull request #445 Mac: Run GitRepoTests with and without valida…
wilbaker Oct 31, 2018
76ee853
Telemetry: Record when a mount succesfully starts
jeschu1 Oct 23, 2018
accaacb
Disable panic in fileop handler
nickgra Oct 31, 2018
b03ecc7
Merge pull request #437 from jeschu1/virtualrepoready
jeschu1 Nov 1, 2018
676ab68
Disable Native_ProjFS_MoveFile_PartialToOutside functional test
wilbaker Nov 1, 2018
d66c5b0
Address PR feedback
nickgra Nov 1, 2018
8a0b910
Mac: Disable StatusTests.MoveFileIntoDotGitDirectory
wilbaker Nov 1, 2018
c450c84
Merge pull request #455 Disable Native_ProjFS_MoveFile_PartialToOutsi…
wilbaker Nov 1, 2018
97ea58c
Merge pull request #451 from nickgra/fileopAttributesPanic
nickgra Nov 1, 2018
18e59c1
Merge pull request #456 Mac: Disable StatusTests.MoveFileIntoDotGitDi…
wilbaker Nov 1, 2018
f1d1c7a
Use explicit class declarations instead of an anonymous class for pay…
Nov 1, 2018
5b19140
Before putting a PAT on the keychain in PrepFunctionalTests.sh, try r…
nickgra Nov 1, 2018
2bd5592
Merge pull request #460 from nickgra/deletePATInPrep
nickgra Nov 2, 2018
7832aaa
Merge pull request #447 Add ability to specify an iKey for the ETW li…
Nov 2, 2018
2c4dcf8
PrefetchVerbTests: Remove commit-graph check
derrickstolee Nov 2, 2018
cec8718
Merge pull request #462 PrefetchVerbTests: Remove commit-graph check
derrickstolee Nov 2, 2018
11ab1fb
Add a script used by the CI to create a build drop for running functi…
jrbriggs Oct 31, 2018
2bedc74
Merge pull request #466: Add Scripts/Mac/CI/CreateBuildDrop.sh
jrbriggs Nov 2, 2018
f0c3a60
TryDeleteStatusCacheFile as warning
jeschu1 Nov 5, 2018
700a9be
Create dd
jeschu1 May 23, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -223,3 +223,6 @@ ModelManifest.xml
*.dll
*.cab
*.cer

# VS Code private directory
.vscode/
10 changes: 10 additions & 0 deletions GVFS.sln
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GVFS.Mac", "GVFS\GVFS\GVFS.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GVFS.Windows", "GVFS\GVFS\GVFS.Windows.csproj", "{32220664-594C-4425-B9A0-88E0BE2F3D2A}"
ProjectSection(ProjectDependencies) = postProject
{AECEC217-2499-403D-B0BB-2962B9BE5970} = {AECEC217-2499-403D-B0BB-2962B9BE5970}
{2D23AB54-541F-4ABC-8DCA-08C199E97ABB} = {2D23AB54-541F-4ABC-8DCA-08C199E97ABB}
{798DE293-6EDA-4DC4-9395-BE7A71C563E3} = {798DE293-6EDA-4DC4-9395-BE7A71C563E3}
{5A6656D5-81C7-472C-9DC8-32D071CB2258} = {5A6656D5-81C7-472C-9DC8-32D071CB2258}
Expand Down Expand Up @@ -167,6 +168,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GVFS.FunctionalTests.LockHo
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GVFS.Hooks.Mac", "GVFS\GVFS.Hooks\GVFS.Hooks.Mac.csproj", "{4CC2A90D-D240-4382-B4BF-5E175515E492}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GVFS.Upgrader", "GVFS\GVFS.Upgrader\GVFS.Upgrader.csproj", "{AECEC217-2499-403D-B0BB-2962B9BE5970}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug.Mac|x64 = Debug.Mac|x64
Expand Down Expand Up @@ -369,6 +372,12 @@ Global
{4CC2A90D-D240-4382-B4BF-5E175515E492}.Release.Mac|x64.Build.0 = Release|x64
{4CC2A90D-D240-4382-B4BF-5E175515E492}.Release.Windows|x64.ActiveCfg = Release|x64
{4CC2A90D-D240-4382-B4BF-5E175515E492}.Release.Windows|x64.Build.0 = Release|x64
{AECEC217-2499-403D-B0BB-2962B9BE5970}.Debug.Mac|x64.ActiveCfg = Debug|x64
{AECEC217-2499-403D-B0BB-2962B9BE5970}.Debug.Windows|x64.ActiveCfg = Debug|x64
{AECEC217-2499-403D-B0BB-2962B9BE5970}.Debug.Windows|x64.Build.0 = Debug|x64
{AECEC217-2499-403D-B0BB-2962B9BE5970}.Release.Mac|x64.ActiveCfg = Release|x64
{AECEC217-2499-403D-B0BB-2962B9BE5970}.Release.Windows|x64.ActiveCfg = Release|x64
{AECEC217-2499-403D-B0BB-2962B9BE5970}.Release.Windows|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -403,6 +412,7 @@ Global
{BD7C5776-82F2-40C6-AF01-B3CC1E2D83AF} = {C41F10F9-1163-4CFA-A465-EA728F75E9FA}
{FA273F69-5762-43D8-AEA1-B4F08090D624} = {C41F10F9-1163-4CFA-A465-EA728F75E9FA}
{4CC2A90D-D240-4382-B4BF-5E175515E492} = {2EF2EC94-3A68-4ED7-9A58-B7057ADBA01C}
{AECEC217-2499-403D-B0BB-2962B9BE5970} = {2EF2EC94-3A68-4ED7-9A58-B7057ADBA01C}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {A025908B-DAB1-46CB-83A3-56F3B863D8FA}
Expand Down
2 changes: 1 addition & 1 deletion GVFS/FastFetch/CheckoutJob.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public CheckoutJob(int maxParallel, IEnumerable<string> folderList, string targe
{
this.tracer = tracer.StartActivity(AreaPath, EventLevel.Informational, Keywords.Telemetry, metadata: null);
this.enlistment = enlistment;
this.diff = new DiffHelper(tracer, enlistment, new string[0], folderList);
this.diff = new DiffHelper(tracer, enlistment, new string[0], folderList, includeSymLinks: true);
this.targetCommitSha = targetCommitSha;
this.forceCheckout = forceCheckout;
this.AvailableBlobShas = new BlockingCollection<string>();
Expand Down
11 changes: 9 additions & 2 deletions GVFS/FastFetch/FastFetchVerb.cs
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ private int ExecuteWithExitCode()
Console.WriteLine("Must be run within a git repo");
return ExitFailure;
}

string commitish = this.Commit ?? this.Branch;
if (string.IsNullOrWhiteSpace(commitish))
{
Expand Down Expand Up @@ -231,10 +231,17 @@ private int ExecuteWithExitCode()
{ "TargetCommitish", commitish },
{ "Checkout", this.Checkout },
});

string error;
if (!enlistment.Authentication.TryInitialize(tracer, enlistment, out error))
{
tracer.RelatedError(error);
Console.WriteLine(error);
return ExitFailure;
}

RetryConfig retryConfig = new RetryConfig(this.MaxAttempts, TimeSpan.FromMinutes(RetryConfig.FetchAndCloneTimeoutMinutes));
BlobPrefetcher prefetcher = this.GetFolderPrefetcher(tracer, enlistment, cacheServer, retryConfig);
string error;
if (!BlobPrefetcher.TryLoadFolderList(enlistment, this.FolderList, this.FolderListFile, prefetcher.FolderList, out error))
{
tracer.RelatedError(error);
Expand Down
2 changes: 1 addition & 1 deletion GVFS/GVFS.Build/GVFS.props
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

<PropertyGroup Label="Parameters">
<GVFSVersion>0.2.173.2</GVFSVersion>
<GitPackageVersion>2.20180814.4</GitPackageVersion>
<GitPackageVersion>2.20181018.1</GitPackageVersion>
</PropertyGroup>

<PropertyGroup Label="DefaultSettings">
Expand Down
5 changes: 3 additions & 2 deletions GVFS/GVFS.Common/DiskLayoutUpgrade.cs
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,8 @@ protected bool TrySetGitConfig(ITracer tracer, string enlistmentRoot, Dictionary
GVFSEnlistment enlistment = GVFSEnlistment.CreateFromDirectory(
enlistmentRoot,
GVFSPlatform.Instance.GitInstallation.GetInstalledGitBinPath(),
ProcessHelper.GetCurrentProcessLocation());
ProcessHelper.GetCurrentProcessLocation(),
authentication: null);
GitProcess git = enlistment.CreateGitProcess();

foreach (string key in configSettings.Keys)
Expand Down Expand Up @@ -327,7 +328,7 @@ private static void StartLogFile(string enlistmentRoot, JsonTracer tracer)
tracer.AddLogFileEventListener(
GVFSEnlistment.GetNewGVFSLogFileName(
Path.Combine(enlistmentRoot, GVFSConstants.DotGVFS.LogPath),
GVFSConstants.LogFileTypes.Upgrade),
GVFSConstants.LogFileTypes.MountUpgrade),
EventLevel.Informational,
Keywords.Any);

Expand Down
5 changes: 3 additions & 2 deletions GVFS/GVFS.Common/Enlistment.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ protected Enlistment(
string repoUrl,
string gitBinPath,
string gvfsHooksRoot,
bool flushFileBuffersForPacks)
bool flushFileBuffersForPacks,
GitAuthentication authentication)
{
if (string.IsNullOrWhiteSpace(gitBinPath))
{
Expand Down Expand Up @@ -47,7 +48,7 @@ protected Enlistment(
this.RepoUrl = originResult.Output.Trim();
}

this.Authentication = new GitAuthentication(gitProcess, this.RepoUrl);
this.Authentication = authentication ?? new GitAuthentication(gitProcess, this.RepoUrl);
}

public string EnlistmentRoot { get; }
Expand Down
29 changes: 25 additions & 4 deletions GVFS/GVFS.Common/FileBasedDictionary.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,32 @@ namespace GVFS.Common
{
public class FileBasedDictionary<TKey, TValue> : FileBasedCollection
{
private ConcurrentDictionary<TKey, TValue> data = new ConcurrentDictionary<TKey, TValue>();
private ConcurrentDictionary<TKey, TValue> data;

private FileBasedDictionary(ITracer tracer, PhysicalFileSystem fileSystem, string dataFilePath)
private FileBasedDictionary(
ITracer tracer,
PhysicalFileSystem fileSystem,
string dataFilePath,
IEqualityComparer<TKey> keyComparer)
: base(tracer, fileSystem, dataFilePath, collectionAppendsDirectlyToFile: false)
{
this.data = new ConcurrentDictionary<TKey, TValue>(keyComparer);
}

public static bool TryCreate(ITracer tracer, string dictionaryPath, PhysicalFileSystem fileSystem, out FileBasedDictionary<TKey, TValue> output, out string error)
public static bool TryCreate(
ITracer tracer,
string dictionaryPath,
PhysicalFileSystem fileSystem,
out FileBasedDictionary<TKey, TValue> output,
out string error,
IEqualityComparer<TKey> keyComparer = null)
{
output = new FileBasedDictionary<TKey, TValue>(tracer, fileSystem, dictionaryPath);
output = new FileBasedDictionary<TKey, TValue>(
tracer,
fileSystem,
dictionaryPath,
keyComparer ?? EqualityComparer<TKey>.Default);

if (!output.TryLoadFromDisk<TKey, TValue>(
output.TryParseAddLine,
output.TryParseRemoveLine,
Expand Down Expand Up @@ -90,6 +106,11 @@ public void RemoveAndFlush(TKey key)
}
}

public Dictionary<TKey, TValue> GetAllKeysAndValues()
{
return new Dictionary<TKey, TValue>(this.data);
}

private void Flush()
{
this.WriteAndReplaceDataFile(this.GenerateDataLines);
Expand Down
2 changes: 1 addition & 1 deletion GVFS/GVFS.Common/FileBasedLock.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using GVFS.Common.FileSystem;
using GVFS.Common.FileSystem;
using GVFS.Common.Tracing;
using System;

Expand Down
4 changes: 3 additions & 1 deletion GVFS/GVFS.Common/FileSystem/IKernelDriver.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using GVFS.Common.Tracing;
using System;

namespace GVFS.Common.FileSystem
{
Expand All @@ -8,7 +9,8 @@ public interface IKernelDriver
string DriverLogFolderName { get; }
bool IsSupported(string normalizedEnlistmentRootPath, out string warning, out string error);
string FlushDriverLogs();
bool TryPrepareFolderForCallbacks(string folderPath, out string error);
bool TryPrepareFolderForCallbacks(string folderPath, out string error, out Exception exception);
bool IsReady(JsonTracer tracer, string enlistmentRoot, out string error);
bool IsGVFSUpgradeSupported();
}
}
3 changes: 2 additions & 1 deletion GVFS/GVFS.Common/FileSystem/IPlatformFileSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ public interface IPlatformFileSystem
void MoveAndOverwriteFile(string sourceFileName, string destinationFilename);
void CreateHardLink(string newLinkFileName, string existingFileName);
bool TryGetNormalizedPath(string path, out string normalizedPath, out string errorMessage);
void ChangeMode(string path, int mode);
void ChangeMode(string path, int mode);
bool HydrateFile(string fileName, byte[] buffer);
}
}
4 changes: 2 additions & 2 deletions GVFS/GVFS.Common/FileSystem/PhysicalFileSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -103,9 +103,9 @@ public virtual void DeleteDirectory(string path, bool recursive = false)
RecursiveDelete(path);
}

public virtual bool IsSymlink(string path)
public virtual bool IsSymLink(string path)
{
return (this.GetAttributes(path) & FileAttributes.ReparsePoint) == FileAttributes.ReparsePoint && NativeMethods.IsSymlink(path);
return (this.GetAttributes(path) & FileAttributes.ReparsePoint) == FileAttributes.ReparsePoint && NativeMethods.IsSymLink(path);
}

public virtual IEnumerable<DirectoryItemInfo> ItemsInDirectory(string path)
Expand Down
29 changes: 26 additions & 3 deletions GVFS/GVFS.Common/GVFSConstants.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System.IO;
using System.IO;

namespace GVFS.Common
{
Expand Down Expand Up @@ -32,7 +32,13 @@ public static class GitConfig
public const string DeprecatedCacheEndpointSuffix = ".cache-server-url";
public const string HooksPrefix = GitConfig.GVFSPrefix + "clone.default-";
public const string GVFSTelemetryId = GitConfig.GVFSPrefix + "telemetry-id";
public const string HooksExtension = ".hooks";
public const string IKey = GitConfig.GVFSPrefix + "ikey";
public const string HooksExtension = ".hooks";
}

public static class LocalGVFSConfig
{
public const string UpgradeRing = "upgrade.ring";
}

public static class GitStatusCache
Expand Down Expand Up @@ -72,15 +78,18 @@ public static class SpecialGitFiles
public static class LogFileTypes
{
public const string MountPrefix = "mount";
public const string UpgradePrefix = "productupgrade";

public const string Clone = "clone";
public const string Dehydrate = "dehydrate";
public const string MountVerb = MountPrefix + "_verb";
public const string MountProcess = MountPrefix + "_process";
public const string MountUpgrade = MountPrefix + "_repoupgrade";
public const string Prefetch = "prefetch";
public const string Repair = "repair";
public const string Service = "service";
public const string Upgrade = MountPrefix + "_upgrade";
public const string UpgradeVerb = UpgradePrefix + "_verb";
public const string UpgradeProcess = UpgradePrefix + "_process";
}

public static class DotGVFS
Expand Down Expand Up @@ -215,5 +224,19 @@ public static class Unmount
public const string SkipLock = "skip-wait-for-lock";
}
}

public static class UpgradeVerbMessages
{
public const string GVFSUpgrade = "`gvfs upgrade`";
public const string GVFSUpgradeConfirm = "`gvfs upgrade --confirm`";
public const string NoUpgradeCheckPerformed = "No upgrade check was performed.";
public const string NoneRingConsoleAlert = "Upgrade ring set to \"None\". " + NoUpgradeCheckPerformed;
public const string NoRingConfigConsoleAlert = "Upgrade ring is not set. " + NoUpgradeCheckPerformed;
public const string InvalidRingConsoleAlert = "Upgrade ring set to unknown value. " + NoUpgradeCheckPerformed;
public const string SetUpgradeRingCommand = "To set or change upgrade ring, run `gvfs config " + LocalGVFSConfig.UpgradeRing + " [\"Fast\"|\"Slow\"|\"None\"]` from a command prompt.";
public const string ReminderNotification = "A new version of GVFS is available. Run " + UpgradeVerbMessages.GVFSUpgrade + " to start the upgrade.";
public const string UnmountRepoWarning = "Upgrade will unmount and remount gvfs repos, ensure you are at a stopping point.";
public const string UpgradeInstallAdvice = "When ready, run " + UpgradeVerbMessages.GVFSUpgradeConfirm + " from an elevated command prompt.";
}
}
}
22 changes: 11 additions & 11 deletions GVFS/GVFS.Common/GVFSEnlistment.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
using GVFS.Common.Git;
using GVFS.Common.NamedPipes;
using Newtonsoft.Json;
using System;
using System.IO;
using System.Security.AccessControl;
using System.Security.Principal;
using System.Threading;

namespace GVFS.Common
Expand All @@ -13,21 +12,21 @@ public partial class GVFSEnlistment : Enlistment
public const string BlobSizesCacheName = "blobSizes";

private const string GitObjectCacheName = "gitObjects";
private const string InvalidRepoUrl = "invalid://repoUrl";

private string gitVersion;
private string gvfsVersion;
private string gvfsHooksVersion;

// New enlistment
public GVFSEnlistment(string enlistmentRoot, string repoUrl, string gitBinPath, string gvfsHooksRoot)
public GVFSEnlistment(string enlistmentRoot, string repoUrl, string gitBinPath, string gvfsHooksRoot, GitAuthentication authentication)
: base(
enlistmentRoot,
Path.Combine(enlistmentRoot, GVFSConstants.WorkingDirectoryRootName),
repoUrl,
gitBinPath,
gvfsHooksRoot,
flushFileBuffersForPacks: true)
flushFileBuffersForPacks: true,
authentication: authentication)
{
this.NamedPipeName = GVFSPlatform.Instance.GetNamedPipeName(this.EnlistmentRoot);
this.DotGVFSRoot = Path.Combine(this.EnlistmentRoot, GVFSConstants.DotGVFS.Root);
Expand All @@ -38,12 +37,13 @@ public GVFSEnlistment(string enlistmentRoot, string repoUrl, string gitBinPath,
}

// Existing, configured enlistment
private GVFSEnlistment(string enlistmentRoot, string gitBinPath, string gvfsHooksRoot)
private GVFSEnlistment(string enlistmentRoot, string gitBinPath, string gvfsHooksRoot, GitAuthentication authentication)
: this(
enlistmentRoot,
null,
gitBinPath,
gvfsHooksRoot)
gvfsHooksRoot,
authentication)
{
}

Expand Down Expand Up @@ -79,7 +79,7 @@ public string GVFSHooksVersion
get { return this.gvfsHooksVersion; }
}

public static GVFSEnlistment CreateWithoutRepoUrlFromDirectory(string directory, string gitBinRoot, string gvfsHooksRoot)
public static GVFSEnlistment CreateWithoutRepoUrlFromDirectory(string directory, string gitBinRoot, string gvfsHooksRoot, GitAuthentication authentication)
{
if (Directory.Exists(directory))
{
Expand All @@ -90,13 +90,13 @@ public static GVFSEnlistment CreateWithoutRepoUrlFromDirectory(string directory,
return null;
}

return new GVFSEnlistment(enlistmentRoot, InvalidRepoUrl, gitBinRoot, gvfsHooksRoot);
return new GVFSEnlistment(enlistmentRoot, string.Empty, gitBinRoot, gvfsHooksRoot, authentication);
}

return null;
}

public static GVFSEnlistment CreateFromDirectory(string directory, string gitBinRoot, string gvfsHooksRoot)
public static GVFSEnlistment CreateFromDirectory(string directory, string gitBinRoot, string gvfsHooksRoot, GitAuthentication authentication)
{
if (Directory.Exists(directory))
{
Expand All @@ -107,7 +107,7 @@ public static GVFSEnlistment CreateFromDirectory(string directory, string gitBin
return null;
}

return new GVFSEnlistment(enlistmentRoot, gitBinRoot, gvfsHooksRoot);
return new GVFSEnlistment(enlistmentRoot, gitBinRoot, gvfsHooksRoot, authentication);
}

return null;
Expand Down
Loading