Commit Graph

1310 Commits

Author SHA1 Message Date
Adam Hathcock
0e2c33dd78 Merge branch 'master' into adam/add-alternate-compressions
# Conflicts:
#	tests/SharpCompress.Performance/Benchmarks/TarBenchmarks.cs
#	tests/SharpCompress.Performance/Benchmarks/ZipBenchmarks.cs
#	tests/SharpCompress.Performance/baseline-results.md
2026-02-12 14:20:01 +00:00
Adam Hathcock
7f6272807d update docs 2026-02-12 10:32:20 +00:00
Adam Hathcock
89d948b4e1 use configure await false 2026-02-12 10:29:15 +00:00
Adam Hathcock
51c42b89b4 OpenAsyncArchive has to be async 2026-02-12 10:26:18 +00:00
Adam Hathcock
5a319ffe2c create/open always has to be async for detection 2026-02-12 10:18:43 +00:00
Adam Hathcock
bae660381c TarArchive should use a compression method like TarReader 2026-02-12 09:48:06 +00:00
Adam Hathcock
b2f1d007c6 Clean up some code paths 2026-02-12 08:50:18 +00:00
Adam Hathcock
6f50545c31 more cleaning 2026-02-11 16:48:37 +00:00
Adam Hathcock
ab1dd45e9c more moved and validated 2026-02-11 16:47:20 +00:00
Adam Hathcock
cd5da3da5d moved and validated more async code 2026-02-11 16:35:41 +00:00
Adam Hathcock
218af5a8b3 validate and make sure rar5 methods are the same 2026-02-11 16:27:53 +00:00
Adam Hathcock
e786c00767 divide async and sync logic 2026-02-11 16:20:51 +00:00
Adam Hathcock
103ae60631 codex found problems 2026-02-11 16:10:55 +00:00
Adam Hathcock
d0baa16502 Fix 7z seeking to be contigous in async too 2026-02-11 12:16:19 +00:00
Adam Hathcock
54a00e2614 some renamespacing 2026-02-10 16:25:21 +00:00
Adam Hathcock
d220532b16 add comment 2026-02-10 16:00:19 +00:00
Adam Hathcock
6b035cb76e updates 2026-02-10 15:51:50 +00:00
Adam Hathcock
a3e3d9d0aa some clean up 2026-02-10 15:43:32 +00:00
Adam Hathcock
f0da1b3a93 Consolidate 2026-02-10 15:32:23 +00:00
Adam Hathcock
04c3b84fc0 merge fixes 2026-02-10 15:22:55 +00:00
Adam Hathcock
a9f2d3cf7f Merge remote-tracking branch 'origin/master' into adam/add-alternate-compressions
# Conflicts:
#	src/SharpCompress/Archives/GZip/GZipArchive.Async.cs
#	src/SharpCompress/Archives/GZip/GZipArchive.cs
#	src/SharpCompress/Archives/Zip/ZipArchive.Async.cs
#	src/SharpCompress/Archives/Zip/ZipArchive.cs
#	src/SharpCompress/Common/GZip/GZipEntry.Async.cs
#	src/SharpCompress/Common/GZip/GZipEntry.cs
#	src/SharpCompress/Common/Options/IReaderOptions.cs
#	src/SharpCompress/Readers/ReaderOptions.cs
#	src/SharpCompress/Readers/Zip/ZipReader.Async.cs
#	src/SharpCompress/Readers/Zip/ZipReader.cs
#	src/SharpCompress/Writers/GZip/GZipWriterOptions.cs
2026-02-10 15:21:13 +00:00
Adam Hathcock
b2066fc022 some review suggestions 2026-02-10 14:41:26 +00:00
Adam Hathcock
4639748461 Merge remote-tracking branch 'origin/master' into adam/add-configure-await
# Conflicts:
#	src/SharpCompress/Archives/ArchiveFactory.Async.cs
2026-02-10 13:55:34 +00:00
Adam Hathcock
8b375b9179 remove some dangling completed tasks 2026-02-10 13:28:48 +00:00
Adam Hathcock
e4ad307413 maybe done 2026-02-10 13:10:42 +00:00
Adam Hathcock
e7609329d7 finished? 2026-02-10 12:58:53 +00:00
Adam Hathcock
64a8a9c1dc even more 2026-02-10 12:51:41 +00:00
Adam Hathcock
51aa6d782a more 2026-02-10 12:46:42 +00:00
Adam Hathcock
e040e5e449 more 2026-02-10 12:40:30 +00:00
Adam Hathcock
3aca691ea0 first round of configure await false 2026-02-10 12:01:16 +00:00
Adam Hathcock
a0a7da9254 merge fixes 2026-02-10 11:36:35 +00:00
Adam Hathcock
960920993a Merge remote-tracking branch 'origin/master' into copilot/add-lzwreader-support
# Conflicts:
#	src/SharpCompress/Archives/GZip/GZipArchive.Factory.cs
#	src/SharpCompress/Archives/Tar/TarArchive.Factory.cs
#	src/SharpCompress/Archives/Zip/ZipArchive.Factory.cs
#	src/SharpCompress/Factories/GZipFactory.cs
#	src/SharpCompress/Factories/TarFactory.cs
#	src/SharpCompress/Factories/ZipFactory.cs
#	src/SharpCompress/Writers/IWriterFactory.cs
#	src/SharpCompress/Writers/WriterFactory.cs
2026-02-10 11:23:18 +00:00
Adam Hathcock
bd99c1ab27 more fluent interface for options 2026-02-10 11:10:04 +00:00
Adam Hathcock
2e364ac0eb cleaned up writing and added more validation and tests 2026-02-10 10:48:42 +00:00
Adam Hathcock
0dcfbf56c6 fix more usage of writers 2026-02-10 09:35:39 +00:00
Adam Hathcock
399572d9d6 use specific writer options for writing archives 2026-02-10 09:03:10 +00:00
Adam Hathcock
e3c3b50ac1 Use nullability for time in arj 2026-02-10 08:26:25 +00:00
Adam Hathcock
e21631526b mismerge 2026-02-09 17:36:22 +00:00
Adam Hathcock
cf0ad9b323 Merge remote-tracking branch 'origin/copilot/fix-rar-extraction-issues' into adam/cleanup-options 2026-02-09 17:30:50 +00:00
Adam Hathcock
938692ef33 refactor how options for reading was done 2026-02-09 17:30:11 +00:00
Adam Hathcock
84c49f152e more removal 2026-02-09 17:05:23 +00:00
Adam Hathcock
04dd177f19 first pass of removing extraction options (folded into reader options) 2026-02-09 16:52:54 +00:00
Adam Hathcock
2e074e18d4 Merge remote-tracking branch 'origin/master' into adam/cleanup-options 2026-02-09 16:22:34 +00:00
Adam Hathcock
4f04122eb8 Merge remote-tracking branch 'origin/copilot/add-lzwreader-support' into copilot/add-lzwreader-support 2026-02-09 16:17:20 +00:00
Adam Hathcock
4475c2af73 add back substring usage 2026-02-09 16:16:32 +00:00
copilot-swe-agent[bot]
b67b4fd57f Add LzwReader support for .Z compressed archives
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-09 15:01:25 +00:00
copilot-swe-agent[bot]
1ba438d4c7 Add tests for plain .Z files (not tar-wrapped)
- Create test .Z file (large_test.txt.Z) using compress tool
- Add tests for direct LzwReader usage with plain .Z files
- Add tests for ReaderFactory detection of plain .Z files
- Improve filename derivation to unwrap SharpCompressStream
- Verify decompression works correctly for non-tar .Z files
- All 15 tests now passing

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-09 14:56:54 +00:00
copilot-swe-agent[bot]
a8c06386a3 Address code review feedback: use range syntax and dispose testStream
- Use C# range syntax [..^2] instead of Substring for better readability
- Wrap testStream in using statement for proper resource cleanup

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-09 10:56:11 +00:00
copilot-swe-agent[bot]
ed6c774f08 Address PR review feedback: async IsArchive, tar detection, filename derivation, and code style
- Use LzwStream.IsLzwStreamAsync for async archive detection
- Add TryOpenReader override to detect tar.Z files and return TarReader
- Derive filename from FileStream (strip .Z extension) or use "data" as fallback
- Simplify if-else statements to use ternary operators

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-09 10:50:48 +00:00
Adam Hathcock
0048452efa Remove cancellation tokens for factory methods that aren't async 2026-02-09 09:59:49 +00:00