[PR #1117] [MERGED] Change ArchiveEncoding to interface. #1547

Open
opened 2026-01-29 22:21:05 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/adamhathcock/sharpcompress/pull/1117
Author: @adamhathcock
Created: 1/7/2026
Status: Merged
Merged: 1/8/2026
Merged by: @adamhathcock

Base: masterHead: adam/rework-archive-encoding


📝 Commits (6)

  • 725503d Change ArchiveEncoding to interface. Simplify class. Question what to do about Forced and complex access
  • bd3cda0 Some restoring of functionality
  • 486fdf1 move to own files and refactor UTF8 usage
  • 68451bd Use explicit enum, add comments
  • 3215204 fmt
  • 66e9de2 fixed comment

📊 Changes

24 files changed (+163 additions, -84 deletions)

View changed files

📝 src/SharpCompress/Common/Ace/Headers/AceFileHeader.cs (+1 -1)
📝 src/SharpCompress/Common/Ace/Headers/AceHeader.cs (+2 -2)
📝 src/SharpCompress/Common/Ace/Headers/AceMainHeader.cs (+1 -1)
📝 src/SharpCompress/Common/Arc/ArcEntryHeader.cs (+2 -2)
📝 src/SharpCompress/Common/ArchiveEncoding.cs (+5 -49)
src/SharpCompress/Common/ArchiveEncodingExtensions.cs (+87 -0)
📝 src/SharpCompress/Common/FilePart.cs (+2 -2)
📝 src/SharpCompress/Common/GZip/GZipFilePart.cs (+1 -1)
src/SharpCompress/Common/IArchiveEncoding.cs (+36 -0)
📝 src/SharpCompress/Common/OptionsBase.cs (+1 -1)
📝 src/SharpCompress/Common/Rar/Headers/RarHeader.cs (+3 -3)
📝 src/SharpCompress/Common/SevenZip/SevenZipFilePart.cs (+1 -1)
📝 src/SharpCompress/Common/Tar/Headers/TarHeader.cs (+2 -2)
📝 src/SharpCompress/Common/Tar/TarEntry.cs (+1 -1)
📝 src/SharpCompress/Common/Tar/TarHeaderFactory.cs (+1 -1)
📝 src/SharpCompress/Common/Zip/Headers/DirectoryEntryHeader.cs (+3 -3)
📝 src/SharpCompress/Common/Zip/Headers/LocalEntryHeader.cs (+2 -2)
📝 src/SharpCompress/Common/Zip/Headers/ZipFileEntry.cs (+2 -2)
📝 src/SharpCompress/Common/Zip/PkwareTraditionalEncryptionData.cs (+3 -3)
📝 src/SharpCompress/Common/Zip/SeekableZipHeaderFactory.cs (+1 -1)

...and 4 more files

📄 Description

Simplify class. Question what to do about Forced and complex access. Was custom encoder used?

Should I have the interface use a Func then default to what I use but allow for anything?

Started by https://github.com/adamhathcock/sharpcompress/issues/1115


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/adamhathcock/sharpcompress/pull/1117 **Author:** [@adamhathcock](https://github.com/adamhathcock) **Created:** 1/7/2026 **Status:** ✅ Merged **Merged:** 1/8/2026 **Merged by:** [@adamhathcock](https://github.com/adamhathcock) **Base:** `master` ← **Head:** `adam/rework-archive-encoding` --- ### 📝 Commits (6) - [`725503d`](https://github.com/adamhathcock/sharpcompress/commit/725503d1ceb316b61385b940bc8ee74b7d013472) Change ArchiveEncoding to interface. Simplify class. Question what to do about Forced and complex access - [`bd3cda0`](https://github.com/adamhathcock/sharpcompress/commit/bd3cda0617bd8c819d1d5308f86d13a4f2a9feb8) Some restoring of functionality - [`486fdf1`](https://github.com/adamhathcock/sharpcompress/commit/486fdf118be9952f56170962c4dbb65e222f4528) move to own files and refactor UTF8 usage - [`68451bd`](https://github.com/adamhathcock/sharpcompress/commit/68451bd75ff23fd7dfc81a6af3b0d4b3952c20ce) Use explicit enum, add comments - [`3215204`](https://github.com/adamhathcock/sharpcompress/commit/321520408ba4caca70b2ac358b7a6b92e241147d) fmt - [`66e9de2`](https://github.com/adamhathcock/sharpcompress/commit/66e9de2685b6e4e3eca2207913134639345bf824) fixed comment ### 📊 Changes **24 files changed** (+163 additions, -84 deletions) <details> <summary>View changed files</summary> 📝 `src/SharpCompress/Common/Ace/Headers/AceFileHeader.cs` (+1 -1) 📝 `src/SharpCompress/Common/Ace/Headers/AceHeader.cs` (+2 -2) 📝 `src/SharpCompress/Common/Ace/Headers/AceMainHeader.cs` (+1 -1) 📝 `src/SharpCompress/Common/Arc/ArcEntryHeader.cs` (+2 -2) 📝 `src/SharpCompress/Common/ArchiveEncoding.cs` (+5 -49) ➕ `src/SharpCompress/Common/ArchiveEncodingExtensions.cs` (+87 -0) 📝 `src/SharpCompress/Common/FilePart.cs` (+2 -2) 📝 `src/SharpCompress/Common/GZip/GZipFilePart.cs` (+1 -1) ➕ `src/SharpCompress/Common/IArchiveEncoding.cs` (+36 -0) 📝 `src/SharpCompress/Common/OptionsBase.cs` (+1 -1) 📝 `src/SharpCompress/Common/Rar/Headers/RarHeader.cs` (+3 -3) 📝 `src/SharpCompress/Common/SevenZip/SevenZipFilePart.cs` (+1 -1) 📝 `src/SharpCompress/Common/Tar/Headers/TarHeader.cs` (+2 -2) 📝 `src/SharpCompress/Common/Tar/TarEntry.cs` (+1 -1) 📝 `src/SharpCompress/Common/Tar/TarHeaderFactory.cs` (+1 -1) 📝 `src/SharpCompress/Common/Zip/Headers/DirectoryEntryHeader.cs` (+3 -3) 📝 `src/SharpCompress/Common/Zip/Headers/LocalEntryHeader.cs` (+2 -2) 📝 `src/SharpCompress/Common/Zip/Headers/ZipFileEntry.cs` (+2 -2) 📝 `src/SharpCompress/Common/Zip/PkwareTraditionalEncryptionData.cs` (+3 -3) 📝 `src/SharpCompress/Common/Zip/SeekableZipHeaderFactory.cs` (+1 -1) _...and 4 more files_ </details> ### 📄 Description Simplify class. Question what to do about Forced and complex access. Was custom encoder used? Should I have the interface use a `Func` then default to what I use but allow for anything? Started by https://github.com/adamhathcock/sharpcompress/issues/1115 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 22:21:05 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/sharpcompress#1547