-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
ls: Implement --zero flag. (#2929) #3746
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
Conversation
|
Cool for a first contrib. |
4f32e99 to
fe791ce
Compare
|
Thanks, I suppose this issue is caused by Windows filesystem not supporting newline in filenames, I updated the test to only run with the |
|
Well done: |
tertsdiepraam
left a comment
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.
Cool! Nice work on all the edge cases.
This flag can be used to provide a easy machine parseable output from ls, as discussed in the GNU bug report https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49716. There are some peculiarities with this flag: - Current implementation of GNU ls of the `--zero` flag implies some other flags. Those can be overridden by setting those flags after `--zero` in the command line. - This flag is not compatible with `--dired`. This patch is not 100% compliant with GNU ls: GNU ls `--zero` will fail if `--dired` and `-l` are set, while with this patch only `--dired` is needed for the command to fail. We also add `--dired` flag to the parser, with no additional behaviour change. Testing done: ``` $ bash util/build-gnu.sh [...] $ bash util/run-gnu-test.sh tests/ls/zero-option.sh [...] PASS: tests/ls/zero-option.sh ============================================================================ Testsuite summary for GNU coreutils 9.1.36-8ec11 ============================================================================ # TOTAL: 1 # PASS: 1 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ ```
Also, allow multiple --zero flags, as this is possible with GNU ls command. Only the last one is taken into account.
79f93e3 to
61f77e9
Compare
Fixes #2929
(Full disclosure, I am very new to rust, and contributing mainly as a learning exercise. But I hope this change can be useful).
This flag can be used to provide a easy machine parseable output from
ls, as discussed in the GNU bug report
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49716.
There are some peculiarities with this flag:
--zeroflag implies someother flags. Those can be overridden by setting those flags after
--zeroin the command line.--dired. This patch is not 100%compliant with GNU ls: GNU ls
--zerowill fail if--diredand-lare set, while with this patch only--diredis needed for thecommand to fail.
We also add
--diredflag to the parser, with no additional behaviourchange.
Testing done: