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

Fix LastWriteTime and LastAccessTime of a symlink on Windows and Unix #52639

Merged
merged 24 commits into from
Nov 15, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
270c526
Implement most of the fix for #38824
hamarb123 May 12, 2021
50d0b47
Merge remote-tracking branch 'upstream/main' into fixfor38824
hamarb123 Oct 20, 2021
952a168
Most of the code for PR #52639 to fix #38824
hamarb123 Oct 20, 2021
abdbbcb
Remove additional FILE_FLAG_OPEN_REPARSE_POINT
hamarb123 Oct 21, 2021
7dc1875
Add missing override keywords
hamarb123 Oct 21, 2021
41d23e2
Fix access modifiers
hamarb123 Oct 21, 2021
f603c3c
Merge remote-tracking branch 'upstream/main' into fixfor38824
hamarb123 Oct 21, 2021
0a87835
Add more symlink tests, rearrange files
hamarb123 Oct 26, 2021
606130b
Merge remote-tracking branch 'upstream/main' into fixfor38824
hamarb123 Oct 26, 2021
f8c4fd6
Fix return type of CreateSymlink in File/GetSetTimes.cs
hamarb123 Oct 26, 2021
060bf1c
Remove browser from new symlink tests as it doesn't support creation …
hamarb123 Oct 26, 2021
f4bac0c
Use lutimes, improve code readability, simplify tests
hamarb123 Oct 28, 2021
97d1ed3
Change year in test to 2014 to reduce diff
hamarb123 Oct 28, 2021
fd9d2d5
Rename symlink tests, use 1 core symlink times function, and check th…
hamarb123 Oct 28, 2021
1b7b868
Inline RunSymlinkTestPart 'function'
hamarb123 Oct 28, 2021
b8460ff
Share CreateSymlinkToItem call in tests and update comment for clarity
hamarb123 Oct 28, 2021
9bf86db
Update symlink time tests
hamarb123 Oct 29, 2021
5713e27
Remove unnecessary Assert.All
hamarb123 Oct 29, 2021
d50be1b
Changes to SettingUpdatesPropertiesOnSymlink test
hamarb123 Oct 30, 2021
d61060b
Merge remote-tracking branch 'upstream/main' into fixfor38824
hamarb123 Oct 30, 2021
a894d87
Remove unnecessary fsi.Refresh()
hamarb123 Oct 31, 2021
d8bff21
Updates to test and pal_time.c
hamarb123 Nov 5, 2021
3b37666
Merge remote-tracking branch 'upstream/main' into fixfor38824
hamarb123 Nov 5, 2021
569a24f
Remove trailing space
hamarb123 Nov 5, 2021
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
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ internal static partial class FileOperations
internal const int FILE_FLAG_BACKUP_SEMANTICS = 0x02000000;
internal const int FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000;
internal const int FILE_FLAG_OVERLAPPED = 0x40000000;
internal const int FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000;

internal const int FILE_LIST_DIRECTORY = 0x0001;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ private static SafeFileHandle OpenHandle(string fullPath, bool asDirectory)
Interop.Kernel32.GenericOperations.GENERIC_WRITE,
FileShare.ReadWrite | FileShare.Delete,
FileMode.Open,
asDirectory ? Interop.Kernel32.FileOperations.FILE_FLAG_BACKUP_SEMANTICS : 0);
(asDirectory ? Interop.Kernel32.FileOperations.FILE_FLAG_BACKUP_SEMANTICS : 0) | Interop.Kernel32.FileOperations.FILE_FLAG_OPEN_REPARSE_POINT);

if (handle.IsInvalid)
{
Expand Down