Commit Graph

856 Commits

Author SHA1 Message Date
Adam Hathcock
3689b893db Update tests/SharpCompress.Performance/Benchmarks/SevenZipBenchmarks.cs
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-02-11 14:00:37 +00:00
Adam Hathcock
fbec7dc083 generate github actions baseline 2026-02-11 13:57:06 +00:00
Adam Hathcock
7cf7623438 update benchmarks to include async paths 2026-02-11 13:36:26 +00:00
Adam Hathcock
d0baa16502 Fix 7z seeking to be contigous in async too 2026-02-11 12:16:19 +00:00
Adam Hathcock
99d8eb9265 some build fixes 2026-02-11 11:04:25 +00:00
Adam Hathcock
c4fb32a56d baseline 2026-02-10 16:29:50 +00:00
Adam Hathcock
54a00e2614 some renamespacing 2026-02-10 16:25:21 +00:00
Adam Hathcock
19ed4d16db add fixes and benchmarks for system providers 2026-02-10 16:15:31 +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
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
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
34f4314b86 Fix test 2026-02-10 11:16:39 +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
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
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
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]
b3038010d9 Improve test documentation for tar.Z wrapper detection
- Rename test to clarify it tests tar wrapper detection
- Add detailed comment explaining why we use Tar.tar.Z (LzwStream compression not supported)
- Add assertions to verify ArchiveType.Tar and CompressionType.Lzw are correctly detected

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-09 10:52:13 +00:00
Adam Hathcock
0048452efa Remove cancellation tokens for factory methods that aren't async 2026-02-09 09:59:49 +00:00
Adam Hathcock
c4a28e7cfb Update tests/SharpCompress.Test/Rar/RarArchiveAsyncTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-09 09:11:19 +00:00
Adam Hathcock
29197f2142 Update tests/SharpCompress.Test/Rar/RarArchiveTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-09 09:10:59 +00:00
copilot-swe-agent[bot]
d5cab8172b Address code review feedback: clarify file size comment
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-08 12:54:11 +00:00
copilot-swe-agent[bot]
4084b347d4 Fix RAR extraction to preserve subdirectory structure
- Set default ExtractFullPath=true in WriteToDirectoryInternal methods
- Add test case with sample RAR archive containing subdirectories
- Tests verify files are extracted to correct subdirectories, not root

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-08 12:52:25 +00:00
copilot-swe-agent[bot]
1da178a4be Run code formatter on LzwReader implementation
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-07 10:30:00 +00:00
copilot-swe-agent[bot]
2b74807f5e Implement LzwReader support for .Z archives
- Add Lzw to ArchiveType enum
- Create Common/Lzw classes (LzwEntry, LzwVolume, LzwFilePart)
- Create Readers/Lzw/LzwReader with factory methods
- Create LzwFactory for integration with ReaderFactory
- Add comprehensive tests in Lzw test directory
- Update ReaderFactory error message to include Lzw format

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-07 10:29:18 +00:00
Adam Hathcock
c48388ead2 adding alternate compressions 2026-02-06 21:07:32 +00:00
Adam Hathcock
cc6e410be8 some options 2026-02-06 15:16:45 +00:00
Adam Hathcock
87cab8e16a updating baseline to be what github actions do 2026-02-06 12:28:02 +00:00
Adam Hathcock
e85752ca1d reget results and change threshold to 25 % 2026-02-06 11:58:43 +00:00
Adam Hathcock
c96acf18dc updated results? 2026-02-05 15:21:19 +00:00
Adam Hathcock
6eec6faff2 simplify the results to compare 2026-02-05 15:08:00 +00:00
copilot-swe-agent[bot]
bbc664ddcc Add generate-baseline build target and JetBrains profiler support
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-05 14:14:54 +00:00
Adam Hathcock
f2483be1da update benchmarkdotnet 2026-02-05 13:43:44 +00:00
copilot-swe-agent[bot]
ca262920c8 Add GitHub Actions workflow, baseline results, and documentation for performance benchmarks
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-05 13:32:23 +00:00
copilot-swe-agent[bot]
2541c09973 Add BenchmarkDotNet performance benchmarks for all major formats
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-05 13:30:57 +00:00
Adam Hathcock
0d81d7f243 Merge remote-tracking branch 'origin/master' into adam/cleanup 2026-02-04 15:05:12 +00:00
Adam Hathcock
642b8bddb8 fixed merge 2026-02-04 14:41:55 +00:00
Adam Hathcock
27f7221902 Merge remote-tracking branch 'origin/release' into adam/release-merge
# Conflicts:
#	Directory.Packages.props
#	build/packages.lock.json
#	src/SharpCompress/Common/Zip/WinzipAesEncryptionData.cs
#	src/SharpCompress/SharpCompress.csproj
#	src/SharpCompress/packages.lock.json
#	tests/SharpCompress.Performance/packages.lock.json
#	tests/SharpCompress.Test/SharpCompress.Test.csproj
#	tests/SharpCompress.Test/packages.lock.json
2026-02-04 14:35:40 +00:00
Adam Hathcock
57c0d00b37 rename Rewindable to SharpCompressStream 2026-02-04 14:12:04 +00:00
Adam Hathcock
43276b32b7 better sync over async 2026-02-04 13:25:05 +00:00
Adam Hathcock
94b275c41b Merge branch 'master' into adam/cleanup
# Conflicts:
#	src/SharpCompress/Common/EntryStream.cs
2026-02-04 12:55:46 +00:00
Adam Hathcock
ae4ae799b9 merge NonDisposingStream into RewindableStream 2026-02-04 12:40:39 +00:00
Adam Hathcock
b93ed79ef3 another sync over async 2026-02-04 11:26:47 +00:00
Adam Hathcock
c7b8021c2e remove extra debug 2026-02-04 10:08:50 +00:00
Adam Hathcock
1323c96bc8 remove more scoped namespaces 2026-02-04 09:25:48 +00:00
Adam Hathcock
f67168f479 try to fix test 2026-02-04 08:40:43 +00:00
Adam Hathcock
3ab4478275 use ringbuffer 2026-02-04 08:30:02 +00:00
copilot-swe-agent[bot]
3d745bfa05 Fix invalid TFM: change netstandard20 to netstandard2.0
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-03 16:30:47 +00:00