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
Add options to extract only some files/components/... #12
Comments
|
At the very least, it'd be nice to be able to do |
|
Depends on issue #25 for proper --include/--exclude support (keeping order between different arguments without hacks). |
|
Instead of silencing all warnings in This would also give a ~5x speedup for bundles like http://anonscm.debian.org/cgit/pkg-games/game-data-packager.git/tree/data/spacequest1.yaml |
|
I have now my own ultra-fast innoextract :-) Would you like a P.R. that only adds the bare minimum I need, as long as it That means accepting only one |
|
Sure, a patch for just
|
|
Ok, here's a much better patch. a-detiste@136ee52?diff=unified |
|
This fix "match full path components" behaviour for "patterns starting with a slash".
|
|
A coupe of points:
Sorry for not getting back to you sooner. |
From this experience, implenting support for several include & exclude doesn't seem so hard: The include & exclude lists would be vectors of "typedef std::pair<bool, std::string> filter;" Then extract.cpp read those in two They wouldn't work the rsync way like stated up:
For example:
|
Yes, that would be great.
The hard part would be that boost::program_options makes it hard to keep the relative order between two different option types. Multiple |
|
Have you considered using "most specific match wins" semantics like in CSS to control the interaction between include and exclude rules? (eg. if you include "/", exclude "/app", and include "/app/manual.pdf", then the most intuitive interpretation is unambiguous regardless of order.) |
this option can be repeated
|
That requires a notion of "more specific" though. At lest with wildcards that won't be so intuitive anymore. And even CSS uses the order of definition when the specificity is the same. More importantly though, "most specific match wins" can be easily implemented on top of "first match wins" by ordering the arguments by how specific they are. The other way around is not so easy, if at all possible. |
|
Good point. I wrote that at the end of a jet-lagged day and I didn't think about what would happen when "most path components, then most characters" specificity calculation runs into two rules with the same number of path components and same length. (eg. Specifying the same path both as an include and an exclude may be silly, but it shouldn't result in undefined behaviour) |
|
This is highly welcomed feature: |
|
@bam80 |

Currently we only have --language (which should be extended to accept a list!).
Users should be able to limit th files to be extracted should by
innoextract --list --dumpoutputAdditionally:
--exclude * --include a(or in rsync order:--include a --exclude *) seems a bit akward.If component c has file f, should
--exclude-component c --include fextract the file? Should the order matter?--exclude-component *? Currently--languagedoesn't affect them.This is all probably over-engineering the problem but I don't want whatever is implemented now to at least to allow adding all these points in the future without breaking the command-line interface.
The text was updated successfully, but these errors were encountered: