-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
ls: Implement --zero flag. (#2929) #3746
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: |
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:
--zero
flag implies someother flags. Those can be overridden by setting those flags after
--zero
in the command line.--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 thecommand to fail.
We also add
--dired
flag to the parser, with no additional behaviourchange.
Testing done: