-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Archive module preview 1 PR #131
Archive module preview 1 PR #131
Conversation
…onPath's extension
…estinationPath's extension
…added support for tar, added support for overwrite
…preserved, fixed bug where error and warning messages were not being shown
What are the benefits of c# vs ps? |
The main benefit is performance, which has been an issue for the archive module. |
Where exactly is the perf problem? I very much doubt that the problem was in PowerShell Engine. |
Mainly compressing and expanding archives would take a long time. Although we are limited by the .NET APIs, rewriting the module in C# reduces overhead. |
I'd split the PR on some ones:
|
I have to step out soon. I'll try to get through all unresolved conversations. |
…me is not necessarily equal to FileSystemInfo.Name
…r than collecting all paths first
… testing invalid paths
ab55635
to
b5e23c2
Compare
0166791
to
dc557a5
Compare
…e CI status, fixed a bug where a path is determined to be relative to the working directory if the working directory is on a different drive than the path
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
PR Summary
This PR includes code for the preview 1 release of the Microsoft.PowerShell.Archive v2.0.0 module.
This PR is a rewrite if the
Compress-Archive
cmdlet in C# (previously, it was written in PowerShell Script). It has support for creating, updating, and overwriting archives. As of now, only zip and zip64 are supported (the .NET APIs for zip and zip64 are the same).The PR has support for preserving path structure in relative paths. It also has a
-Format
parameter which can used to specify the format of the archive. As of now,-Format
has only one option:-Format zip
. When additional formats are supported by the module in preview 3, the-Format
parameter will be more useful by providing options for tar and compressed tar.An abstraction was created for archives -- the
IArchive
interface -- so new archive formats can be added to the module easily.To update an archive, use the
-WriteMode Update
parameter. To overwrite an archive, use the-WriteMode Overwrite
parameter.For more information regarding behavior of the parameters, please see the RFC #117.
PR Context
To keep the PowerShell/Microsoft.PowerShell.Archive repository up to date with preview 1 code.