Skip to content

Commit 970f58a

Browse files
authored
Replace TarFileMode with UnixFileMode (#71222)
* ref: TarFileMode -> UnixFileMode * src: TarFileMode -> UnixFileMode * tests: TarFileMode -> UnixFileMode
1 parent 8c05969 commit 970f58a

File tree

8 files changed

+13
-97
lines changed

8 files changed

+13
-97
lines changed

src/libraries/System.Formats.Tar/ref/System.Formats.Tar.cs

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ internal TarEntry() { }
4343
public int Gid { get { throw null; } set { } }
4444
public long Length { get { throw null; } }
4545
public string LinkName { get { throw null; } set { } }
46-
public System.Formats.Tar.TarFileMode Mode { get { throw null; } set { } }
46+
public System.IO.UnixFileMode Mode { get { throw null; } set { } }
4747
public System.DateTimeOffset ModificationTime { get { throw null; } set { } }
4848
public string Name { get { throw null; } set { } }
4949
public int Uid { get { throw null; } set { } }
@@ -86,23 +86,6 @@ public static void CreateFromDirectory(string sourceDirectoryName, string destin
8686
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles) { }
8787
public static void ExtractToDirectory(string sourceFileName, string destinationDirectoryName, bool overwriteFiles) { }
8888
}
89-
[System.FlagsAttribute]
90-
public enum TarFileMode
91-
{
92-
None = 0,
93-
OtherExecute = 1,
94-
OtherWrite = 2,
95-
OtherRead = 4,
96-
GroupExecute = 8,
97-
GroupWrite = 16,
98-
GroupRead = 32,
99-
UserExecute = 64,
100-
UserWrite = 128,
101-
UserRead = 256,
102-
StickyBit = 512,
103-
GroupSpecial = 1024,
104-
UserSpecial = 2048,
105-
}
10689
public sealed partial class TarReader : System.IDisposable
10790
{
10891
public TarReader(System.IO.Stream archiveStream, bool leaveOpen = false) { }

src/libraries/System.Formats.Tar/src/System.Formats.Tar.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
<Compile Include="System\Formats\Tar\FieldLengths.cs" />
1515
<Compile Include="System\Formats\Tar\FieldLocations.cs" />
1616
<Compile Include="System\Formats\Tar\PosixTarEntry.cs" />
17-
<Compile Include="System\Formats\Tar\TarFileMode.cs" />
1817
<Compile Include="System\Formats\Tar\V7TarEntry.cs" />
1918
<Compile Include="System\Formats\Tar\TarHeader.cs" />
2019
<Compile Include="System\Formats\Tar\TarHeader.Read.cs" />

src/libraries/System.Formats.Tar/src/System/Formats/Tar/TarEntry.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,9 @@ public string LinkName
162162
/// Represents the Unix file permissions of the file represented by this entry.
163163
/// </summary>
164164
/// <remarks>The value in this field has no effect on Windows platforms.</remarks>
165-
public TarFileMode Mode
165+
public UnixFileMode Mode
166166
{
167-
get => (TarFileMode)_header._mode;
167+
get => (UnixFileMode)_header._mode;
168168
set
169169
{
170170
if ((int)value is < 0 or > 4095) // 4095 in decimal is 7777 in octal

src/libraries/System.Formats.Tar/src/System/Formats/Tar/TarFileMode.cs

Lines changed: 0 additions & 66 deletions
This file was deleted.

src/libraries/System.Formats.Tar/src/System/Formats/Tar/TarHelpers.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ internal static class TarHelpers
2020
internal const byte EqualsChar = 0x3d;
2121
internal const byte NewLineChar = 0xa;
2222

23-
internal const TarFileMode DefaultMode = // 644 in octal
24-
TarFileMode.UserRead | TarFileMode.UserWrite | TarFileMode.GroupRead | TarFileMode.OtherRead;
23+
internal const UnixFileMode DefaultMode = // 644 in octal
24+
UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.GroupRead | UnixFileMode.OtherRead;
2525

2626
// Helps advance the stream a total number of bytes larger than int.MaxValue.
2727
internal static void AdvanceStream(Stream archiveStream, long bytesToDiscard)

src/libraries/System.Formats.Tar/src/System/Formats/Tar/TarWriter.Windows.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace System.Formats.Tar
1010
public sealed partial class TarWriter : IDisposable
1111
{
1212
// Creating archives in Windows always sets the mode to 777
13-
private const TarFileMode DefaultWindowsMode = TarFileMode.UserRead | TarFileMode.UserWrite | TarFileMode.UserExecute | TarFileMode.GroupRead | TarFileMode.GroupWrite | TarFileMode.GroupExecute | TarFileMode.OtherRead | TarFileMode.OtherWrite | TarFileMode.UserExecute;
13+
private const UnixFileMode DefaultWindowsMode = UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.UserExecute | UnixFileMode.GroupRead | UnixFileMode.GroupWrite | UnixFileMode.GroupExecute | UnixFileMode.OtherRead | UnixFileMode.OtherWrite | UnixFileMode.UserExecute;
1414

1515
// Windows specific implementation of the method that reads an entry from disk and writes it into the archive stream.
1616
partial void ReadFileFromDiskAndWriteToArchiveStreamAsEntry(string fullPath, string entryName)

src/libraries/System.Formats.Tar/tests/TarTestsBase.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ public abstract partial class TarTestsBase : FileCleanupTestBase
1212
protected readonly string ModifiedEntryName = "ModifiedEntryName.ext";
1313

1414
// Default values are what a TarEntry created with its constructor will set
15-
protected const TarFileMode DefaultMode = TarFileMode.UserRead | TarFileMode.UserWrite | TarFileMode.GroupRead | TarFileMode.OtherRead; // 644 in octal, internally used as default
16-
protected const TarFileMode DefaultWindowsMode = TarFileMode.UserRead | TarFileMode.UserWrite | TarFileMode.UserExecute | TarFileMode.GroupRead | TarFileMode.GroupWrite | TarFileMode.GroupExecute | TarFileMode.OtherRead | TarFileMode.OtherWrite | TarFileMode.UserExecute; // Creating archives in Windows always sets the mode to 777
15+
protected const UnixFileMode DefaultMode = UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.GroupRead | UnixFileMode.OtherRead; // 644 in octal, internally used as default
16+
protected const UnixFileMode DefaultWindowsMode = UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.UserExecute | UnixFileMode.GroupRead | UnixFileMode.GroupWrite | UnixFileMode.GroupExecute | UnixFileMode.OtherRead | UnixFileMode.OtherWrite | UnixFileMode.UserExecute; // Creating archives in Windows always sets the mode to 777
1717
protected const int DefaultGid = 0;
1818
protected const int DefaultUid = 0;
1919
protected const int DefaultDeviceMajor = 0;
@@ -36,7 +36,7 @@ public abstract partial class TarTestsBase : FileCleanupTestBase
3636
protected readonly DateTimeOffset TestChangeTime = new DateTimeOffset(2022, 4, 4, 4, 4, 4, TimeSpan.Zero);
3737

3838
protected readonly string TestLinkName = "TestLinkName";
39-
protected const TarFileMode TestMode = TarFileMode.UserRead | TarFileMode.UserWrite | TarFileMode.GroupRead | TarFileMode.GroupWrite | TarFileMode.OtherRead | TarFileMode.OtherWrite;
39+
protected const UnixFileMode TestMode = UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.GroupRead | UnixFileMode.GroupWrite | UnixFileMode.OtherRead | UnixFileMode.OtherWrite;
4040

4141
protected const string TestGName = "group";
4242
protected const string TestUName = "user";
@@ -50,9 +50,9 @@ public abstract partial class TarTestsBase : FileCleanupTestBase
5050
protected const int AssetBlockDeviceMinor = 53;
5151
protected const int AssetCharacterDeviceMajor = 49;
5252
protected const int AssetCharacterDeviceMinor = 86;
53-
protected const TarFileMode AssetMode = TarFileMode.UserRead | TarFileMode.UserWrite | TarFileMode.UserExecute | TarFileMode.GroupRead | TarFileMode.OtherRead;
54-
protected const TarFileMode AssetSpecialFileMode = TarFileMode.UserRead | TarFileMode.UserWrite | TarFileMode.GroupRead | TarFileMode.OtherRead;
55-
protected const TarFileMode AssetSymbolicLinkMode = TarFileMode.OtherExecute | TarFileMode.OtherWrite | TarFileMode.OtherRead | TarFileMode.GroupExecute | TarFileMode.GroupWrite | TarFileMode.GroupRead | TarFileMode.UserExecute | TarFileMode.UserWrite | TarFileMode.UserRead;
53+
protected const UnixFileMode AssetMode = UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.UserExecute | UnixFileMode.GroupRead | UnixFileMode.OtherRead;
54+
protected const UnixFileMode AssetSpecialFileMode = UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.GroupRead | UnixFileMode.OtherRead;
55+
protected const UnixFileMode AssetSymbolicLinkMode = UnixFileMode.OtherExecute | UnixFileMode.OtherWrite | UnixFileMode.OtherRead | UnixFileMode.GroupExecute | UnixFileMode.GroupWrite | UnixFileMode.GroupRead | UnixFileMode.UserExecute | UnixFileMode.UserWrite | UnixFileMode.UserRead;
5656
protected const string AssetGName = "devdiv";
5757
protected const string AssetUName = "dotnet";
5858
protected const string AssetPaxGeaKey = "globexthdr.MyGlobalExtendedAttribute";

src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.WriteEntry.File.Tests.Unix.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ partial void VerifyPlatformSpecificMetadata(string filePath, TarEntry entry)
169169

170170
if (entry.EntryType is not TarEntryType.Directory)
171171
{
172-
TarFileMode expectedMode = (TarFileMode)(status.Mode & 4095); // First 12 bits
172+
UnixFileMode expectedMode = (UnixFileMode)(status.Mode & 4095); // First 12 bits
173173

174174
Assert.Equal(expectedMode, entry.Mode);
175175
Assert.True(entry.ModificationTime > DateTimeOffset.UnixEpoch);

0 commit comments

Comments
 (0)