You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
dotnetup on Windows currently only downloads and extracts .zip archives. This means Windows users installing via dotnetup cannot benefit from the hard link-based deduplication work in #52182, which relies on tar archives to preserve hard links.
Background
The SDK deduplication effort (#52182) achieves ~28% size reduction on disk by using hard links to eliminate duplicate files. Tar archives natively preserve hard links, so Linux/macOS users get this benefit automatically. However, the .zip format does not support hard links — extracting a zip results in fully materialized duplicate files.
Current Behavior
In DotnetupUtilities.GetArchiveFileExtensionForPlatform():
Summary
dotnetupon Windows currently only downloads and extracts.ziparchives. This means Windows users installing viadotnetupcannot benefit from the hard link-based deduplication work in #52182, which relies on tar archives to preserve hard links.Background
The SDK deduplication effort (#52182) achieves ~28% size reduction on disk by using hard links to eliminate duplicate files. Tar archives natively preserve hard links, so Linux/macOS users get this benefit automatically. However, the
.zipformat does not support hard links — extracting a zip results in fully materialized duplicate files.Current Behavior
In
DotnetupUtilities.GetArchiveFileExtensionForPlatform():And in
DotnetArchiveExtractor.ExtractArchiveDirectlyToTarget():The format decision is purely OS-based with no fallback or user option.
Proposed Change
Support downloading and extracting
.tar.gzarchives on Windows when available. This would:System.Formats.Tar(which already works cross-platform)Considerations
ExtractTarArchivecode usesSystem.Formats.Tarwhich is cross-platformRelated