Nicolas Thery
f36832c392
cp: add support for --reflink=never
...
- Passing `never` to `--reflink` does not raise an error anymore.
- Remove `Options::reflink` flag as it was redundant with
`reflink_mode`.
- Add basic tests for this option. Does not check that a copy-on-write
rather than a regular copy was made.
2021-04-18 18:51:59 +02:00
Sylvestre Ledru
d3f71810df
Merge pull request #2063 from jhscheer/iss2060
...
chown: fix #2060
2021-04-18 09:50:23 +02:00
electricboogie
a73d108dd8
Merge branch 'master' of https://github.com/uutils/coreutils
2021-04-17 23:25:02 -05:00
electricboogie
4c8d62c2be
More cleanup
2021-04-17 23:24:32 -05:00
electricboogie
3a1e92fdd2
More cleanup
2021-04-17 22:39:05 -05:00
electricboogie
7a8767e359
Cleanup
2021-04-17 22:34:03 -05:00
electricboogie
65e9c7b1b5
Sorta working ExtSort - concat struct elements
2021-04-17 21:30:03 -05:00
Jan Scheer
df2dcc5b99
chown: fix parse_spec() for colon ( #2060 )
2021-04-18 00:11:59 +02:00
Michael Debertol
519b9d34a6
sort: use unstable sort when possible ( #2076 )
...
* sort: use unstable sort when possible
This results in a very minor performance (speed) improvement.
It does however result in a memory usage reduction, because unstable
sort does not allocate auxiliary memory. There's also an improvement in
overall CPU usage.
* add benchmarking instructions
* add user time
* fix typo
2021-04-17 22:40:13 +02:00
Pedro Jordão
01fef70143
Changes parameter parsing to clap
...
- Uses clap to parse parameters
- Removes of "allow" directive where they are not necessary
- Removes of unused variables
2021-04-17 20:42:05 +01:00
electricboogie
acfe0681d4
Merge branch 'master' of https://github.com/uutils/coreutils
2021-04-17 11:54:45 -05:00
Michael Debertol
4bbbe3a3f2
sort: implement numeric string comparison ( #2070 )
...
* sort: implement numeric string comparison
This implements -n and -h using a string comparison algorithm instead
of parsing each number to a f64 and comparing those.
This should result in a moderate performance increase and eliminate loss
of precision.
* cache parsed f64 numbers
For general numeric comparisons we have to parse numbers as f64,
as this behavior is explicitly documented by GNU coreutils.
We can however cache the parsed value to speed up comparisons.
* fix leading zeroes for negative numbers
* use more appropriate name for exponent
* improvements to the parse function
* move checks into main loop and fix thousands separator condition
* remove unneeded checks
* rustfmt
2021-04-17 13:49:35 +02:00
Sylvestre Ledru
481d1ee659
Merge pull request #2077 from tertsdiepraam/ls/dereference-command-line
...
ls: dereference command line
2021-04-17 13:31:52 +02:00
Sylvestre Ledru
c5b43c0994
rustfmt the recent change
2021-04-17 13:21:30 +02:00
Sylvestre Ledru
eec389fa94
Merge branch 'master' into ls/dereference-command-line
2021-04-17 10:30:42 +02:00
Andrew Rowson
d0c7e8c09e
du error output should match GNU ( #1776 )
...
* du error output should match GNU
* Created a new error macro which allows the customization of the
"error:" string part
* Match the du output based on the type of error encountered. Can extend
to handling other errors I guess.
* Rustfmt updates
* Added non-windows test for du no permission output
2021-04-17 10:26:52 +02:00
Sylvestre Ledru
fc057b816b
Merge branch 'master' into split-wsl-detection
2021-04-17 10:22:54 +02:00
Aleksandar Janicijevic
fe207640e2
touch: dealing with DST in touch -m -t ( #2073 )
2021-04-17 10:08:10 +02:00
electricboogie
a76d452f75
Sort: More small fixes ( #2065 )
...
* Various fixes and performance improvements
* fix a typo
Co-authored-by: Michael Debertol <michael.debertol@gmail.com>
* Fix month parse for months with leading whitespace
* Implement test for months whitespace fix
* Confirm human numeric works as expected with whitespace with a test
* Correct arg help value name for --parallel
* Fix SemVer non version lines/empty line sorting with a test
Co-authored-by: Sylvestre Ledru <sledru@mozilla.com>
Co-authored-by: Michael Debertol <michael.debertol@gmail.com>
2021-04-17 10:06:19 +02:00
Terts Diepraam
2c130ae7c0
ls: take -l
into account with dereference-command-line
2021-04-14 14:42:14 +02:00
Terts Diepraam
5c28ac1b0d
ls: dereference command line
2021-04-14 14:12:00 +02:00
electricboogie
c49f93c9af
Psuedo working extsort
2021-04-12 18:05:37 -05:00
electricboogie
e6c195a675
ExtSort
2021-04-12 14:24:22 -05:00
Reto Hablützel
a4253d1254
apply more clippy suggestions from nightly
2021-04-12 20:07:10 +02:00
Reto Hablützel
07e9c5896c
ignore strip_suffix until minimum rust version is 1.45
2021-04-12 19:53:47 +02:00
Reto Hablützel
d219b6e705
strip_suffix is not avaialble with rust 1.40
2021-04-12 19:50:23 +02:00
Reto Hablützel
d67560c37a
fix clippy for unix
2021-04-11 16:34:19 +02:00
Reto Hablützel
b465c34eef
fix ls
2021-04-11 16:16:38 +02:00
Reto Hablützel
75a76613e4
fix clippy in cp
2021-04-11 16:09:18 +02:00
Reto Hablützel
97d12d6e3c
fix trivial warnings without features
2021-04-11 16:05:25 +02:00
electricboogie
c6021e10c2
Fix SemVer non version lines/empty line sorting with a test
2021-04-10 15:27:16 -05:00
Árni Dagur
eb4971e6f4
cat: Unrevert splice patch ( #2020 )
...
* cat: Unrevert splice patch
* cat: Add fifo test
* cat: Add tests for error cases
* cat: Add tests for character devices
* wc: Make sure we handle short splice writes
* cat: Fix tests for 1.40.0 compiler
* cat: Run rustfmt on test_cat.rs
* Run 'cargo +1.40.0 update'
2021-04-10 22:19:53 +02:00
electricboogie
7133273725
Correct arg help value name for --parallel
2021-04-10 14:13:49 -05:00
electricboogie
3c1c76444b
Merge branch 'master' of https://github.com/uutils/coreutils
2021-04-10 13:26:56 -05:00
Michael Debertol
69f4410a8a
sort: dedup using compare_by ( #2064 )
...
compare_by is the function used for sorting, we should use it for dedup
as well.
2021-04-10 19:49:10 +02:00
electricboogie
2d9f15d12c
Fix month parse for months with leading whitespace
2021-04-10 12:02:02 -05:00
Michael Debertol
49c9d8c901
sort: implement -k and -t support ( #1996 )
...
* sort: implement basic -k and -t support
This allows to specify keys after the -k flag and a custom field
separator using -t.
Support for options for specific keys is still missing, and the -b flag
is not passed down correctly.
* sort: implement support for key options
* remove unstable feature use
* don't pipe in input when we expect a failure
* only tokenize when needed, remove a clone()
* improve comments
* fix clippy lints
* re-add test
* buffer writes to stdout
* fix ignore_non_printing
and make the test fail in case it is broken :)
* move attribute to the right position
* add more tests
* add my name to the copyright section
* disallow dead code
* move a comment
* re-add a loc
* use smallvec for a perf improvement in the common case
* add BENCHMARKING.md
* add ignore_case to benchmarks
2021-04-10 14:54:58 +02:00
Sylvestre Ledru
e1221ef3f8
Merge pull request #2036 from joppich/issue1930
...
stdbuf: move from getopts to clap
2021-04-10 11:58:01 +02:00
electricboogie
e5113ad00e
Sort: Various fixes and performance improvements ( #2057 )
...
* Various fixes and performance improvements
* fix a typo
Co-authored-by: Michael Debertol <michael.debertol@gmail.com>
Co-authored-by: Sylvestre Ledru <sledru@mozilla.com>
Co-authored-by: Michael Debertol <michael.debertol@gmail.com>
2021-04-10 11:56:20 +02:00
Sivachandran
ee070028e4
install: implement stripping symbol table ( #2047 )
2021-04-10 11:53:29 +02:00
Nicolas Thery
698924a20a
unlink: move from getopts to clap ( #2052 ) ( #2058 )
2021-04-10 11:50:21 +02:00
Aleksandar Janicijevic
18191f9212
shred: Implemented --force option ( #2012 )
2021-04-10 10:41:59 +02:00
joppich
c54b5f2d82
stdbuf: move from getopts to clap
2021-04-10 00:39:12 +02:00
Sylvestre Ledru
844e318a67
Merge branch 'master' into pr
2021-04-09 22:02:25 +02:00
Sylvestre Ledru
9ae4928b7b
Ignore a test ( #2053 )
...
* Disable chksum: test_arg_overrides_stdin
fails often with:
---- test_cksum::test_arg_overrides_stdin stdout ----
current_directory_resolved:
touch: /tmp/.tmpv9hydc/a
run: /target/x86_64-unknown-linux-gnu/debug/coreutils cksum a
thread 'test_cksum::test_arg_overrides_stdin' panicked at 'Broken pipe (os error 32)', tests/common/util.rs:742:37
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
* rustfmt the recent change
2021-04-09 10:14:41 +02:00
electricboogie
8474249e5f
Sort: Implement stable sort, ignore non-printing, month sort dedup, auto parallel sort through rayon, zero terminated sort, check silent ( #2008 )
2021-04-08 22:07:09 +02:00
Sylvestre Ledru
717b875b5d
Merge pull request #2046 from ricardoaiglesias/timeout-clap
...
timeout: Moved argument parsing to clap
2021-04-07 23:19:36 +02:00
Sylvestre Ledru
ac43052cc5
Merge pull request #1602 from wishawa/master
...
ptx: Improve performance: remove N^2 loop and reduce repetitive regex compilations.
2021-04-07 23:14:23 +02:00
paulotten
52706372aa
Replace outdated time 0.1 dependancy with latest version of chrono ( #2044 )
...
* Replace outdated time 0.1 dependancy with latest version of chrono
I also noticed that times are being miscalculated on linux, so I fixed that.
* Add time test for issue #2042
* Cleanup use declarations
* Tie time test to `touch` feature
- if we compile with the right OS feature flag then we should have it,
even on Windows
2021-04-07 08:41:04 +02:00
Ricardo Iglesias
8232c527a3
timeout: tests passing.
...
Forgot to handle the case where no arguments were passed to the COMMAND.
Because ARGS can be empty, we need two separate cases for handling
options.values_of(options::ARGS)
2021-04-06 23:30:15 -07:00
Ricardo Iglesias
431a6ee1b5
timeout: Fixed ownership issues
...
Fixed some minor ownership issues in converting from the options to the
arguments to the timeout COMMAND.
Additionally, fixed a rustfmt issue in other files (fold/stdbuf.rs)
2021-04-06 23:07:52 -07:00
Ricardo Iglesias
cccf89a48c
timeout: Moved argument parsing to clap
...
Changed from optparse to clap.
None of the logic within timeout has been changed, which could use some
refactoring, but that's beyond the scope of this commit.
2021-04-06 22:13:28 -07:00
Sylvestre Ledru
b2b45d8af2
Merge branch 'master' into fold-backspace-and-carriage-return
2021-04-06 22:53:10 +02:00
Yagiz Degirmenci
c965effe07
fold: move to clap, add tests ( #2015 )
2021-04-06 22:51:27 +02:00
Wisha Wa
7b20c79bdd
ptx: fix an incorrect option name in option parsing
2021-04-06 18:07:02 +00:00
Wisha Wa
5fc007b295
ptx: remove a hack that was added in attempt to mimick GNU ptx
2021-04-06 13:40:14 +00:00
Wisha Wa
f9fc3b5a1d
ptx: add explaination comments, replace mut with shadowing, and rename variables for clarity.
2021-04-06 13:37:16 +00:00
Sylvestre Ledru
45d70b0c98
Merge pull request #2033 from Gilnaa/panic_2021
...
Fixed panic!/assert! used with improper format strings
2021-04-06 13:46:07 +02:00
Gilad Naaman
bc426fb3af
Fixed panic!/assert! used with improper format strings
2021-04-06 14:23:54 +03:00
Wisha Wa
f00df3f3d8
Merge remote-tracking branch 'upstream/master'
2021-04-06 10:56:19 +00:00
Daniel Rocco
56bc7a44eb
fold: preserve carriage return and overwritten chars in output
2021-04-06 06:55:52 -04:00
Daniel Rocco
0b731dfd1a
fold: preserve backspace and overwritten chars in output
2021-04-06 06:55:52 -04:00
ReggaeMuffin
b1fcb621a8
wsl2: wsl no longer differs in output
...
refactor `is_wsl` to `is_wsl_1` and `is_wsl_2`
On my tests with wsl2 ubuntu2004 all tests pass without special cases
I moved wsl detection into uucore so that it can be shared instead of duplicated
I moved `parse_mode` into uucode as it seemed to fit there better and anyway requires libc feature
2021-04-06 10:58:49 +01:00
Sylvestre Ledru
cc4f32d87a
Merge pull request #2035 from tertsdiepraam/ls/hide_and_ignore
...
ls: add short option for ignore
2021-04-06 08:54:26 +02:00
Terts Diepraam
cbc5132981
ls: add short option for ignore
2021-04-05 23:06:56 +02:00
Sylvestre Ledru
3f3b12ebcc
Merge pull request #1998 from paulotten/issue1969
...
Consider device id when comparing files
2021-04-05 22:34:12 +02:00
Sylvestre Ledru
f57eb0fdfa
Merge pull request #1993 from cbjadwani/master
...
uniq: Implement --group option
2021-04-05 22:33:04 +02:00
Sylvestre Ledru
7cdeb18dff
Merge pull request #2026 from tertsdiepraam/ls/hide_and_ignore
...
ls: --hide and --ignore
2021-04-05 22:31:23 +02:00
Marvin Hofmann
9581fcf688
rm: add verbose output and trim multiple slashes ( #1988 )
...
* rm: add verbose output and trim multiple slashes
Uses the normalize_path used in cargo to strip duplicate slashes
With a link to a std rfc https://github.com/rust-lang/rfcs/issues/2208
This fixes https://github.com/uutils/coreutils/issues/1829
This also touches https://github.com/uutils/coreutils/issues/1768
but does not attempt to fully solve it
2021-04-05 22:18:47 +02:00
Daniel Rocco
e5c61a28be
fold: variable width tabs, guard treating tab as whitespace
...
Treat tab chars as advancing to the next tab stop rather than having a fixed
8-column width.
Also treat tab as a whitespace split target only when splitting on word
boundaries.
2021-04-05 08:55:07 -04:00
Terts Diepraam
5134348a11
ls: use globset instead of glob
2021-04-04 23:39:11 +02:00
Terts Diepraam
51770e6bee
ls: invalid pattern move from error to warning
2021-04-04 22:40:36 +02:00
Terts Diepraam
76308dbec9
ls: tests for invalid patterns for hide and ignore
2021-04-04 22:35:22 +02:00
Terts Diepraam
fa4272a19b
ls: --hide and --ignore
2021-04-04 19:19:56 +02:00
Sylvestre Ledru
bd8b129d9a
Merge pull request #2016 from tertsdiepraam/ls/control_characters
...
ls: show/hide control chars
2021-04-04 18:38:15 +02:00
Sylvestre Ledru
c196f4ae8b
Merge pull request #2023 from ycd/cut
...
cut: move to clap, add gnu like error messages + tests
2021-04-04 14:47:15 +02:00
Sylvestre Ledru
6bee31e8e8
Merge pull request #2021 from ycd/dirname
...
dirname: move to clap, write to stderr on errors
2021-04-04 14:45:37 +02:00
Chirag Jadwani
19c6a42de5
uniq: implement group option
2021-04-04 15:22:17 +05:30
Daniel Rocco
bad1df9c1b
fold: improve newline handling and test coverage
...
- refactor implementation for readability
- correct handling of files with no trailing newline and/or blank lines
2021-04-03 22:47:38 -04:00
Yagiz Degirmenci
f47345ec9b
cut: add gnu compatability to error messages
2021-04-03 20:55:10 +03:00
Yagiz Degirmenci
e84b60b7d5
cut: add display order
2021-04-03 20:30:28 +03:00
Yagiz Degirmenci
7e677b3e6c
cut: fix formatting, use constant values
2021-04-03 20:21:57 +03:00
Yagiz Degirmenci
cfc3d52be4
cut: move to clap
2021-04-03 20:19:30 +03:00
Yagiz Degirmenci
b940b2d79c
dirname: move to clap, simplify code
2021-04-03 18:24:39 +03:00
Sylvestre Ledru
f37284129e
new release 0.0.6 to address the cat issue
2021-04-03 16:06:58 +02:00
Sylvestre Ledru
a852574745
Fix bug #2017 - cat isn't working
...
Revert "cat: Improve performance on Linux (#1978 )"
This reverts commit 7a947cfe46
.
2021-04-03 15:50:59 +02:00
Terts Diepraam
06bdc144d7
ls: show/hide control chars
2021-04-03 12:43:37 +02:00
Sylvestre Ledru
ac031dffa4
new release 0.0.5
2021-04-03 10:30:07 +02:00
Sylvestre Ledru
4d7ad77433
rustfmt the recent change
2021-04-02 23:31:22 +02:00
est31
14a49edd1c
Use Iterator::copied() in sieve.rs ( #1774 )
2021-04-02 23:30:07 +02:00
Jamie Quigley
31f5666727
more: add error message if the argument is a directory ( #1983 )
2021-04-02 22:34:02 +02:00
Sivachandran
9151410d08
csplit: move from getopts to clap ( #1995 )
2021-04-02 22:14:56 +02:00
Juliana Rodrigueiro
97da14fcb2
install: Fix behaviour of the -d flag
...
The '-d' flag should create all ancestors (or components) of a
directory regardless of the presence of the "-D" flag.
From the man page:
-d, --directory
treat all arguments as directory names; create all components of the specified directories
With GNU:
$ install -v -d dir1/di2
install: creating directory 'dir1'
install: creating directory 'dir1/di2'
With this version:
$ ./target/release/install -v -d dir3/di4
install: dir3/di4: No such file or directory (os error 2)
install: dir3/di4: chmod failed with error No such file or directory (os error 2)
install: created directory 'dir3/di4'
Also, one of the unit tests misinterprets what a "component" is,
and hence was fixed.
2021-04-02 20:04:25 +01:00
Juliana Rodrigueiro
2a02f01fc2
install: Don't display success message when the dir was not created
...
Also don't run chmod when we just failed to create the directory.
Behaviour before this patch:
$ ./target/release/install -v -d dir1/dir2
install: dir1/dir2: Permission denied (os error 13)
install: dir1/dir2: chmod failed with error No such file or directory (os error 2)
install: created directory 'dir1/dir2'
2021-04-02 19:59:43 +01:00
Juliana Rodrigueiro
349c4f7af6
install: Make log message identical to GNU install
...
$ install -v -d dir1
install: creating directory 'dir1'
2021-04-02 19:59:43 +01:00
Sylvestre Ledru
4934af0c3d
Merge pull request #2007 from drocco007/fold-preserve-blank-lines
...
fold: preserve blank lines
2021-04-02 20:00:05 +02:00
Daniel Rocco
d12f96d9ca
fold: preserve blank lines
2021-04-02 10:14:11 -04:00
ReggaeMuffin
2eb32d845e
chores: run cargo +1.40.0 fmt
...
Apparently fmt from 1.40.0 is a bit more strict in some places
Let me know if this is worthwhile merging :)
2021-04-02 10:56:49 +01:00
Sylvestre Ledru
de6aa69259
Merge pull request #1997 from sylvestre/polish3
...
Rustfmt+clippy+cargo.lock update
2021-04-02 11:37:56 +02:00
Jan Scheer
4a6176855a
relpath: move from getops to clap ( #1939 ) ( #1990 )
...
* relpath: add tests
* relpath: move from getopts to clap
2021-04-02 09:55:57 +02:00
Paul Otten
7859bf885f
Consistency with GNU version of du
when doing du -h
on an empty file
2021-04-01 19:42:43 -04:00
Paul Otten
7112182dbc
Consider device id when comparing files
2021-04-01 18:37:20 -04:00
Sylvestre Ledru
dcbcf01665
Fix some clippy warnings
2021-04-01 23:42:30 +02:00
Sylvestre Ledru
6734ce785d
rustfmt the recent changes
2021-04-01 23:25:37 +02:00
paulotten
090d29496a
Issue #1622 port du
to windows ( #1788 )
...
* Issue #1622 port `du` to windows
* Attempt to support Rust 1.32
Old version was getting "attributes are not yet allowed on `if`
expressions" on Rust 1.32
* Less #[cfg]
* Less duplicate code.
I need the return and the semicolon after if otherwise the second #[cfg]
leads to unexpected token complilation error
* More accurate size on disk calculations for windows
* Expect the same output on windows as with WSL
* Better matches output from du on WSL
* In the absence of feedback I'm disabling these tests on Windows.
They require `ln`. Windows does not ship with this utility.
* Use the coreutils version of `ln` to test `du`
`fn ccmd` is courtesy of @Artoria2e5
* Look up inodes (file ids) on Windows
* One more #[cfg(windows)] to prevent unreachable statement warning on linux
2021-04-01 23:16:47 +02:00
Árni Dagur
7a947cfe46
cat: Improve performance on Linux ( #1978 )
...
* cat: Improve performance, especially on Linux
* cat: Don't use io::copy for splice fallback
On my MacBook Pro 2020, it is around 25% faster to not use io::copy.
* cat: Only fall back to generic copy if first splice fails
* cat: Don't double buffer stdout
* cat: Don't use experimental or-pattern syntax
* cat: Remove nix symbol use from non-Linux
2021-04-01 23:08:48 +02:00
Terts Diepraam
2941dfd698
ls: quoting style ( #1989 )
2021-04-01 22:50:13 +02:00
Aleksandar Janicijevic
cf4970f083
shred: Replaced eprintln with show_error ( #1992 )
2021-04-01 08:53:48 +02:00
Alessandro Stoltenberg
7669a4387a
echo: Some minor changes to options ( #1960 )
2021-03-31 22:27:24 +02:00
Yagiz Degirmenci
e958864bd9
tac: exit with proper code, move from getopts to clap, add test for invalid inputs ( #1957 )
2021-03-31 21:21:10 +02:00
Aleksandar Janicijevic
751ae6a8f8
shred: use clap for argument management ( #1961 )
2021-03-31 21:19:04 +02:00
desbma
be03c948ed
Add pre-commit hook + run fmt ( #1959 )
2021-03-30 21:24:01 +02:00
Árni Dagur
698dab12a6
wc: Don't read() if we only need to count number of bytes (Version 2) ( #1851 )
...
* wc: Don't read() if we only need to count number of bytes
* Resolve a few code review comments
* Use write macros instead of print
* Fix wc tests in case only one thing is printed
* wc: Fix style
* wc: Use return value of first splice rather than second
* wc: Make main loop more readable
* wc: Don't unwrap on failed write to stdout
* wc: Increment error count when stats fail to print
* Re-add Cargo.lock
2021-03-30 20:53:02 +02:00
Kourosh
775682508a
more: move from getopts to clap ( #1962 )
2021-03-30 20:39:58 +02:00
Sylvestre Ledru
a5402eed41
Merge pull request #1967 from jhscheer/iss1775
...
chmod: fixed behavior for dangling symlinks (#1775 )
2021-03-30 20:30:16 +02:00
Jan Scheer
2647a72e9e
chmod: fixed behavior for dangling symlinks ( #1775 )
2021-03-29 22:07:09 +02:00
Yagiz Degirmenci
25df51a525
fix(cksum): check metadata of the path ( #1951 )
...
* fix: check metadata of the path
* chore: use existing path
2021-03-29 18:44:42 +02:00
Raymond Wang
d88de3c6a6
tr: more explicit flag names ( #1966 )
2021-03-29 17:16:48 +02:00
Ricardo Iglesias
5f17719a59
Implemented --indicator-style flag on ls. ( #1907 )
...
* Implemented --indicator-style flag on ls.
* Rust fmt
* Grouped indicator_style args.
* Added tests for sockets and pipes.
Needed to modify util.rs to add support for pipes (aka FIFOs).
* Updated util.rs to remove FIFO operations on Windows
* Fixed slight error in specifying (not(windows))
* Fixed style violations and added indicator_style test for non-unix systems
2021-03-29 13:10:13 +02:00
Mikadore
8320b1ec5f
Rewrote head ( #1911 )
...
See https://github.com/uutils/coreutils/pull/1911
for the details
2021-03-29 13:08:48 +02:00
electricboogie
da5f2f3a6c
sort: Add a GNU-style Random Sorter ( #1922 )
2021-03-29 13:05:52 +02:00
Yagiz Degirmenci
8cc7a90d7c
sum: fix crash on invalid inputs, move to clap, add tests ( #1952 )
2021-03-29 13:03:56 +02:00
Raymond Wang
ab5b6dd844
tr: move from getopts to claps #1929 ( #1954 )
2021-03-29 13:03:24 +02:00
Sylvestre Ledru
acb57ecbd0
Merge pull request #1955 from jhscheer/chmod2clap
...
chmod: move from getopts to clap
2021-03-29 13:02:13 +02:00
Dominik Bittner
3714e2201b
tty: Move from getopts to clap ( #1956 )
...
+ tty: Add some tests
2021-03-29 13:00:47 +02:00
Jan Scheer
a9a3794d5a
chmod: add tests
2021-03-28 20:56:37 +02:00
Craig Pastro
6d4f70ccb2
shuf: move from getopts to clap ( #1950 )
2021-03-28 15:08:37 +02:00
Jan Scheer
43c6a52b63
chmod: move from getopts to clap
2021-03-28 13:11:39 +02:00
k0ur0x
bcb1828ad6
comm: move from getopts to clap
2021-03-28 05:51:43 +04:30
Sylvestre Ledru
dc879634cb
Merge pull request #1839 from jhscheer/iss1769
...
rm: fix for -d to match GNU's output #1769
2021-03-27 22:56:16 +01:00
Ivan
500771c78d
tee: should match GNU's output if used with /dev/full ( #1944 )
...
+ aligned 'tee' output with GNU tee when one of the files is '/dev/full'
+ don't stop tee when one of the outputs fails; just continue and return
error status from tee in the end
Co-authored-by: Ivan Rymarchyk <irymarchyk@arlo.com>
2021-03-27 20:02:49 +01:00
Yagiz Degirmenci
f66a188414
mkfifo: general refactor, move to clap, add tests ( #1945 )
...
* mkfifo: general refactor, move to clap, add unimplemented flags
* chore: update Cargo.lock
* chore: delete unused variables, simplify multiple lines with crash
* test: add tests
* chore: revert the use of crash
* test: use even more invalid mod mode
2021-03-27 20:00:59 +01:00
Yagiz Degirmenci
0bdd61af5e
cksum: use clap for argument management ( #1943 )
2021-03-27 13:31:29 +01:00
Yagiz Degirmenci
ac7edcc4fa
ptx: delete getopts dependency ( #1942 )
...
* chore: delete getopts dependency
* deps: update Cargo.lock
2021-03-27 13:31:06 +01:00
Sylvestre Ledru
faef7e9214
fix(install): Unbreak the CI by bringing the old behavior for install of /dev/null
2021-03-27 10:08:06 +01:00
Antonio Gurgel
35675fdfe7
install: implement -C
/ --compare
( #1811 )
...
* install: implement `-C` / `--compare`
GNU coreutils [1] checks the following: whether
- either file is nonexistent,
- there's a sticky bit or set[ug]id bit in play,
- either file isn't a regular file,
- the sizes of both files mismatch,
- the destination file's owner differs from intended, or
- the contents of both files mismatch.
[1] https://git.savannah.gnu.org/cgit/coreutils.git/tree/src/install.c?h=v8.32#n174
* Add test: non-regular files
* Forgot a #[test]
* Give up on non-regular file test
* `cargo fmt` install.rs
2021-03-27 09:18:47 +01:00
Rein F
3ca21940f8
nl: move from getopts to clap ( #1921 )
2021-03-27 08:55:31 +01:00
Terts Diepraam
955c547adf
ls: overrideable -n
option ( #1917 )
2021-03-26 19:12:01 +01:00
Yagiz Degirmenci
83f8140aaf
cat: move cat to clap ( #1910 )
2021-03-26 17:26:37 +01:00
Max Semenik
9e759267ee
pr: Remove commented out stuff from Cargo.toml
2021-03-26 18:19:52 +03:00
Max Semenik
bc2b385744
pr: Fix a bunch of Clippy problems
2021-03-26 17:57:21 +03:00
Max Semenik
62fe68850e
pr: Fixes after rebasing
...
Only the minimum needed to:
* Make everything compile without warnings
* Move files according to the new project structure
* Make tests pass
2021-03-26 17:57:19 +03:00
tilakpatidar
054c05d5d8
pr: refactor get_lines_for_printing, write_columns, recreate_arguments
...
pr: extract recreate_arguments
pr: refactor get_line_for_printing
pr: refactor get_lines_for_printing
pr: refactor fetch_indexes generate for write_columns
pr: refactor write_columns
pr: refactor write_columns
2021-03-26 14:11:15 +03:00
tilakpatidar
f87ada5a11
pr: refactor logic for -n <path>
2021-03-26 14:11:15 +03:00
tilakpatidar
a7def9386b
pr: refactor common iterator between pr and mpr
...
pr: refactor common iterator between pr and mpr
pr: remove fill lines in mpr
2021-03-26 14:11:15 +03:00
tilakpatidar
aefc2eb540
pr: reformat with rustfmt
...
pr: refactor batching of pages in pr
2021-03-26 14:11:15 +03:00
tilakpatidar
40e7f3d900
pr: add -J and -S option
...
pr: add -J option
pr: add -S option
2021-03-26 14:11:15 +03:00
tilakpatidar
a4b723233a
pr: add more tests for form feed and include page_width option W
2021-03-26 14:11:15 +03:00
tilakpatidar
4bf5b86cde
pr: add last page option in +page
2021-03-26 14:11:15 +03:00
tilakpatidar
3be5dc6923
pr: fix form feed
...
pr: fix form feed
pr: Rustfmt
pr: add test for ff and -l option
2021-03-26 14:11:15 +03:00
Tilak Patidar
8f9b322897
pr: fix file not found in pr and mpr
2021-03-26 14:11:15 +03:00
Tilak Patidar
87227addc1
pr: fix printing form feed
2021-03-26 14:11:14 +03:00
Tilak Patidar
847046f3de
pr: add +page and -column
2021-03-26 14:11:14 +03:00
Tilak Patidar
5c6c524334
pr: refactor and fmt fill_missing_lines and error checks
...
pr: Remove unwanted brancing in fill_missing_lines
pr: Remove unnecessary error check
pr: Rename key to group_key in FileLine
pr: Reformat test_pr with rustfmt
2021-03-26 14:11:14 +03:00
Tilak Patidar
5956894d00
pr: add -m and -o option
...
pr: Add -o option
2021-03-26 14:11:14 +03:00
Tilak Patidar
dd07aed4d1
pr: add column separator option
2021-03-26 14:11:14 +03:00
Tilak Patidar
f497fb9d88
pr: read from stdin
2021-03-26 14:11:14 +03:00
Tilak Patidar
d9084a7399
pr: implement across option and fix tests
2021-03-26 14:11:14 +03:00
Tilak Patidar
5705ed142f
pr: write pagination logic of reading file using iterators
2021-03-26 14:11:14 +03:00
Tilak Patidar
f3676573b5
pr: print padded string for each column and handle tab issues
...
pr: Print fixed padded string for each column
pr: Fix display length vs str length due to tabs
2021-03-26 14:11:14 +03:00
Tilak Patidar
b578bb6563
pr: add test for -t -l -r option
...
pr: Add test for -l option
pr: Add test for -r suppress error option
2021-03-26 14:11:14 +03:00
Tilak Patidar
b742230dbb
pr: fix page ranges
...
pr: Fix page ranges
2021-03-26 14:11:14 +03:00
Tilak Patidar
88ec02a61c
pr: add suport for -n [char][width] and -N
...
pr: Fix long name for -n
pr: Add -N first line number option
pr: Add -n[char][width] support
2021-03-26 14:11:14 +03:00
Tilak Patidar
afc58eb6ea
pr: add tests for -n -h -d option
...
pr: Add test for -h option
pr: Add test for -d option
2021-03-26 14:11:14 +03:00
tilakpatidar
64e2e1dbac
pr: remove parameter header and get_input_type
...
pr: Remove parameter header from build_options
pr: Remove unnecessary get_input_type
2021-03-26 14:11:14 +03:00
tilakpatidar
f799d22b7d
pr: add multi column printing
2021-03-26 14:11:14 +03:00
tilakpatidar
2897039000
pr: fix number of lines printed per page and short pages getting skipped
...
pr: Fix number of lines printed per page
pr: Fix first short page getting skipped due to page range
2021-03-26 14:11:14 +03:00
tilakpatidar
0098cfe5b7
pr: add ColumnModeOptions and fix reading of input after page range is finished
2021-03-26 14:11:14 +03:00
tilakpatidar
fd4447785b
pr: add -r option to suppress errors and -F to use form feed separator
...
pr: Add -F to print line feed character for page separator
2021-03-26 14:11:14 +03:00
tilakpatidar
9e023b8a91
pr: add -t option to not print header, trailer and -l to print line numbers
...
pr: Add -l option set number of lines
pr: Refactor opts
2021-03-26 14:11:14 +03:00
tilakpatidar
55043d7a15
pr: print only 28 lines if double spaced option is used
2021-03-26 14:11:14 +03:00
tilakpatidar
9a3c572de8
pr: add --page option
2021-03-26 14:11:14 +03:00
tilakpatidar
c58ee96abf
pr: add long names for -d and -h
2021-03-26 14:11:14 +03:00
tilakpatidar
420a066312
pr: add read buffer size and fix unused Result types
2021-03-26 14:11:14 +03:00
tilakpatidar
8c7cbf65a5
pr: throw error on reading from socket
2021-03-26 14:11:14 +03:00
tilakpatidar
1cf84a7305
pr: refactor option flags into constants
2021-03-26 14:11:14 +03:00
tilakpatidar
77d3d08f0b
pr: show current time for stdin input
2021-03-26 14:11:14 +03:00
tilakpatidar
781d77eb3c
pr: add support for -d option
2021-03-26 14:11:14 +03:00
tilakpatidar
2d609b2cd1
pr: add custom errors
...
pr: code refactoring for references
2021-03-26 14:11:14 +03:00
tilakpatidar
e69c9ada34
pr: read from stdin
2021-03-26 14:11:14 +03:00
tilakpatidar
7f87e42ad1
pr: add support for multiple files
2021-03-26 14:11:14 +03:00
tilakpatidar
9111f168aa
pr: add -h to print header and -n to print line numbers
...
pr: Add -h to print custom header instead of file name
pr: Add -n to print line numbers
2021-03-26 14:11:14 +03:00
tilakpatidar
2ee90ab09a
pr: print pr header with file last modified time, path and page number
2021-03-26 14:11:14 +03:00
tilakpatidar
2d58ea5f8b
pr: print 56 lines of content with 5 blank trailer and header lines
2021-03-26 14:11:14 +03:00
Max Semenik
035f811dd0
Fix "panic message is not a string literal" warnings ( #1915 )
...
New in Rust 1.51.
Closes #1914
2021-03-26 11:09:16 +01:00
Jan Scheer
aac79d13b3
Merge branch 'master' into iss1769
2021-03-25 23:23:08 +01:00
Jan Scheer
61eb4f250d
rm: add more tests
2021-03-25 23:04:02 +01:00
Terts Diepraam
23b70001a8
ls: version sort ( #1898 )
2021-03-25 20:24:53 +01:00
Sivachandran
52997b63fb
pathchk: move from getopts to clap ( #1897 )
2021-03-25 11:27:34 +01:00
Mekka
99da9ea6ec
Cleanup: Fix grammar in "cp" macro comments. ( #1905 )
...
Replaced "they if" with "if they" in the comments above the "prompt_yes" macro.
2021-03-25 10:36:48 +01:00
Yagiz Degirmenci
63317b3529
ptx: move from getopts to clap ( #1893 )
...
* ptx: move from getopts to clap
* chore: delete comment
* chore: fix some clippy warnings
2021-03-24 21:46:17 +01:00
Jan Scheer
bdf603a65e
rm: make -d/-r obligatory for removing symlink_dir (windows)
2021-03-24 12:42:23 +01:00
Kevin Burke
4873c8a24b
mv: ensure line prints ( #1890 )
...
Previously this used `print` instead of `println`, and as a result the
prompt would never appear and the command would hang. The Rust docs
note this about print:
> Note that stdout is frequently line-buffered by default so it may be
> necessary to use io::stdout().flush() to ensure the output is emitted
> immediately.
Changing to `println` fixes the issue.
Fixes #1889 .
Co-authored-by: Kevin Burke <kevin@burke.dev>
2021-03-23 21:49:35 +01:00
Alessandro Stoltenberg
b54f0b1ff2
echo: Refactored help message. ( #1886 )
2021-03-23 11:55:18 +01:00
Yagiz Degirmenci
545fe7d887
feat(unexpand): move from getopts to clap ( #1883 )
...
* feat: move unexpand to clap
* chore: allow muliple files
* test: add test fixture, test reading from a file
* test: fix typo on file name, add test for multiple inputs
* chore: use 'success()' instead of asserting
* chore: delete unused variables
* chore: use help instead of long_help, break long line
2021-03-23 09:42:05 +01:00
Yagiz Degirmenci
5e2e2e8ab6
echo: allow leading hyphens ( #1887 )
...
* fix: use settings to allow leading hyphen and trailing var arg
fixes: https://github.com/uutils/coreutils/issues/1873
* test: add test cases
* test: add more test cases with different order in hyphen values
* chore: add comment to explain why we need TrailingVarArg
2021-03-23 09:40:05 +01:00
Yagiz Degirmenci
e5ef7486d5
feat: move echo to clap ( #1884 )
2021-03-22 22:42:14 +01:00
Neculai Balaban
a1b50ae0f4
nohup: move from getopts to clap ( #1871 )
...
- changed some error return codes to match GNU implementation
- changed warning/error messages to match GNU nohup
- replaced getopts dependency with clap
- added a test
2021-03-22 20:09:00 +01:00
Yagiz Degirmenci
20dec4cbba
fix: fix clippy warnings ( #1876 )
2021-03-22 20:08:07 +01:00
Terts Diepraam
de3f9b8186
ls: across & commas formats and width parameter ( #1869 )
2021-03-22 18:24:23 +01:00
Yagiz Degirmenci
d86ee34bc6
tsort: move from getopts to clap ( #1867 )
2021-03-22 18:16:28 +01:00
Sylvestre Ledru
f593cf53b2
Merge pull request #1870 from nomius10/document_macros
...
documentation for usual macros
2021-03-22 11:59:11 +01:00
Neculai Balaban
93c7cbe65e
documentation for usual macros
...
- removed repeat_str helper as it's now part of std
- added docstrings for usual macros and test utils
2021-03-22 12:13:38 +02:00
Yagiz Degirmenci
27b7552ef4
fix(tail): add support for negative indexing ( #1865 )
...
closes: https://github.com/uutils/coreutils/issues/1860
2021-03-22 10:01:54 +01:00
Sylvestre Ledru
21be280c5a
rustfmt the od changes
2021-03-21 22:22:21 +01:00
Yagiz Degirmenci
6c98415340
fix(head): check the whether file exists before unwrap ( #1858 )
...
closes https://github.com/uutils/coreutils/issues/1800
2021-03-21 21:27:44 +01:00
pedrohjordao
ca8fbc37bf
od: Changes command line parser to clap ( #1849 )
2021-03-21 16:19:30 +01:00
Yagiz Degirmenci
f60790dd41
chroot: move to clap from getopts ( #1792 )
...
+ add tests
2021-03-21 16:18:47 +01:00
Terts Diepraam
25d4a08387
ls: long format author, group and owner ( #1850 )
...
This PR adds the options to customize what information is shown in long format regarding author, group & owner. Specifically it adds:
- `--author`: shows the author, which is always the same as the owner. GNU has this feature because GNU/Hurd supports a difference between author and owner, but I don't think Rust supports GNU/Hurd, so I just used the owner.
- `-G` & `--no-group`: hide the group information.
- `-o`: hide the group and use long format (equivalent to `-lG`).
- `-g`: hide the owner and use long format.
The `-o` and `-g` options have some interesting behaviour that I had to account for. Some examples:
- `-og` hides both group and owner.
- `-ol` still hides the group. Same behaviour with variations such as `-o --format=long`, `-gl`, `-g --format=long` and `-ogl`.
- They even retain some information when overridden by another format: `-oCl` (or `-o --format=vertical --format=long`) still hides the group.
My previous solution for handling the behaviour where `-l1` shows the long format did not fit with these additions, so I had to rewrite that as well.
The tests only cover the how many names (author, group and owner) are present in the output, so it can't distinguish between, for example, author & group and group & owner.
2021-03-21 16:18:06 +01:00
Sylvestre Ledru
45acb087b8
Merge pull request #1848 from nomius10/install_bugfix
...
install: fix bug #1823
2021-03-20 20:53:57 +01:00
Neculai Balaban
f8125a1040
install: match GNU warning output
2021-03-20 16:11:29 +02:00
Neculai Balaban
0f7423dfa6
install: fix bug #1823
2021-03-20 14:49:22 +02:00
nicoo
8b9ac0c7c3
Revert #1571 “perf/factor ~ deduplicate divisors” ( #1842 )
...
It was a draft PR, not ready for merging, and its premature inclusion
caused repeated issues, see 368f47381b
& friends.
Close #1841 .
This reverts commits 3743a3e1e7
,
ce218e01b6
, and
b7b0c76b8e
.
2021-03-20 11:46:58 +01:00
Alex Lyon
e9adc5067b
cksum: generate CRC table in a const fn ( #1744 )
2021-03-20 10:33:04 +01:00
Jan Scheer
0e217e202a
tee: move from getopts to clap ( #1814 )
2021-03-19 22:58:50 +01:00
Sylvestre Ledru
e76ce1e908
Merge pull request #1844 from tertsdiepraam/ls/si
...
ls: --si flag and more compatible size formatting
2021-03-19 21:18:25 +01:00
Neculai Balaban
c6927d97c8
cp: add support for -x/--one-file-system ( #1840 )
2021-03-19 21:15:35 +01:00
Terts Diepraam
118b802fe8
ls: --si and more compatible size formatting
2021-03-19 15:14:25 +01:00
Sylvestre Ledru
976fa95ce8
fix(ls): fix a clippy warning
...
"this `if` has identical blocks"
2021-03-19 14:25:07 +01:00
Sylvestre Ledru
e521b46c09
Merge pull request #1820 from tertsdiepraam/master
...
ls: move from getopts to clap and structure configuration
2021-03-19 09:55:27 +01:00
Marco Satti
5ec87dc70a
date: Implement setting the date on Unix & Windows ( #1798 )
...
* date: implement set date for unix and windows
Parsing the date string is not fully implemented yet, as in it relies
on the internals of chrono - things like "Mon, 14 Aug 2006 02:34:56 -0600"
do not work, nor does "2006-08-14 02:34:56" (no TZ / local time). This
is no different to using the "--date" option however, and will get fixed
when `parse_date` is a bit smarter.
Only supports unix and Windows platforms for now.
2021-03-19 09:54:01 +01:00
Sylvestre Ledru
fcccc2a973
Merge pull request #1826 from pfnsec/master
...
head: add support for -z/--zero-terminated
2021-03-18 21:37:12 +01:00
Jan Scheer
58b9372dbe
rm: fix for -d to match GNU's output #1769
2021-03-18 14:46:56 +01:00
Sylvestre Ledru
22e22bc074
Merge pull request #1835 from aspenluxxxy/update-nix
...
Update nix to 0.13 in uu_more
2021-03-18 14:37:54 +01:00
aspen
4e29b693f8
uutils: change every target_os = "macos"
to target_vendor = "apple"
2021-03-18 08:42:53 -04:00
aspen
ed7e24c5b0
uu_more: update nix to 0.13
2021-03-18 08:39:06 -04:00
Sylvestre Ledru
99be7a3172
Merge pull request #1810 from jeckersb/nice-clap
...
nice: move from getopts to clap #1794
2021-03-17 22:03:42 +01:00
Sylvestre Ledru
44a7adc9a0
Merge pull request #1812 from konomith/feature/preserve_timestamps_#1758
...
install: Implement --preserve-timestamps (-p)
2021-03-17 22:02:54 +01:00
Sylvestre Ledru
a690ffde41
Merge pull request #1821 from deantvv/expand-clap
...
expand: replace getopts with clap
2021-03-17 22:01:31 +01:00
Sylvestre Ledru
6a109a5069
Merge pull request #1834 from jhscheer/patch-3
...
rm: add an additional flag -R for --recursive
2021-03-17 21:52:02 +01:00
Sylvestre Ledru
ba55ef166e
Merge pull request #1827 from drocco007/numfmt-delimiter
...
numfmt: implement --delimiter
2021-03-17 21:50:47 +01:00
Jan Scheer
d9adec3496
add comment
2021-03-17 14:46:25 +01:00
nicoo
955fa74a42
factor::tests: Check that powers of known-factorization numbers are factored correctly ( #1831 )
...
* factor::tests::recombines_factors: Minor refactor (skip useless bool)
* factor::tests: Check factorizations of powers of factored numbers
* factor::Factors: Add debug assertions to (Factor ^ Exponent)
* factor::tests: Drop obsoleted tests
`factor_correctly_recombines_prior_test_failures` was replaced with
`factor_2044854919485649` as this was the only test not subsumed.
* factor::tests::2044854919485649: Check the expected factorisation
2021-03-17 13:58:53 +01:00
John Eckersberg
64b8c8aac7
nice: move from getopts to clap #1794
2021-03-17 08:52:13 -04:00
Daniel Rocco
fbb9c50050
tr: process octal escape sequences
...
closes #1817
2021-03-17 08:04:45 -04:00
Jan Scheer
97f40b0aee
rm: add an additional flag -R for --recursive
...
make clap support -R in addition to -r
2021-03-17 10:16:31 +01:00
Peter Sherman
e3e5bf0178
Format head.rs
2021-03-15 20:48:49 +00:00
Peter Sherman
13e61c3234
head: add support for -z/--zero-terminated
2021-03-15 15:56:11 +00:00
Daniel Rocco
52f2ab6898
numfmt: implement --delimiter
...
closes #1454
2021-03-15 11:55:56 -04:00
Daniel Rocco
02e9ffecdd
numfmt: split implementation into modules
2021-03-15 11:55:17 -04:00
Hari
406cd865eb
install: run rustfmt
...
Fix formatting issues based on PR review comments
2021-03-15 11:00:30 -04:00
Dean Li
cd775ed704
Expand: use mod::options
2021-03-15 21:28:47 +08:00
Chirag Jadwani
116e253cc0
uniq: Fix skip fields
...
Current implementation of the skip fields logic does not handle
multibyte code points correctly. It assumes each code point (`char`) is
one byte. If the skipped part of the input line has any multibyte code
points then this can cause fields not being skipped correctly (field
start index is calculated to be before it actually starts).
2021-03-15 18:48:54 +05:30
Chirag Jadwani
ce4342d12e
uniq: Fix panic on invalid utf-8 input
2021-03-15 18:48:54 +05:30
Terts Diepraam
10135dccef
ls: fix unused import and improve coverage
2021-03-15 13:46:21 +01:00
Terts Diepraam
20094127c3
ls: --color back on windows as noop
2021-03-15 12:21:08 +01:00
Terts Diepraam
f28d5f4a73
ls: attempt to fix windows sorting issues
2021-03-15 12:07:10 +01:00
Terts Diepraam
a4c79c92ae
ls: fix windows issues
2021-03-15 10:24:24 +01:00
Terts Diepraam
01fd207c81
ls: remove list of missing features
2021-03-15 09:53:19 +01:00
Terts Diepraam
5656a717c9
ls: make name sort case insensitive
2021-03-15 09:31:13 +01:00
Terts Diepraam
61a95239ce
ls: rename display to format, set arg overrides
2021-03-15 09:30:50 +01:00
Terts Diepraam
7bde2e78a9
ls: simplify --color and remove it on windows
2021-03-14 23:34:52 +01:00
Terts Diepraam
c86c18cbb5
ls: implement -c and -u
2021-03-14 23:11:11 +01:00
Terts Diepraam
c454d2640c
ls: structure options some more
2021-03-14 21:32:21 +01:00
Terts Diepraam
5d7a851471
ls: fix --color behaviour
2021-03-14 21:30:21 +01:00
Sylvestre Ledru
10d55c5696
Merge pull request #1796 from ttrunck/fix-busytest
...
Fix `make busytest`
2021-03-14 20:58:05 +01:00
Dean Li
6829e7f359
expand: replace getopts with clap
...
expand has one odd behavior that allows two format for tabstop
From expand --help
```
-t, --tabs=N have tabs N characters apart, not 8
-t, --tabs=LIST use comma separated list of tab positions
```
This patch use one `value_name("N, LIST")` for tabstop and
deal with above behavior in `parse_tabstop`.
Close #1795
2021-03-14 20:47:53 +08:00
Terts Diepraam
0717a5f301
ls: formatting
2021-03-14 13:32:15 +01:00
Terts Diepraam
8df239a4e2
Merge branch 'master' of github.com:tertsdiepraam/coreutils
2021-03-14 12:22:38 +01:00
Terts Diepraam
7c8e8b2d4c
ls: refactor arguments into a config struct
2021-03-14 12:22:32 +01:00
Terts Diepraam
225c1be28d
Merge pull request #1 from uutils/master
...
Sync
2021-03-13 23:52:42 +01:00
Terts Diepraam
9e98d24f5f
ls: move from getopts to clap
2021-03-13 23:43:36 +01:00
Andre Julius
2158b2c5b4
sleep: move from getopts to clap #1735 ( #1777 )
...
and Add some sleep test cases #1735
2021-03-13 23:11:11 +01:00
Terts Diepraam
fd5ec099d0
touch: use an ArgGroup for sources and turn macros into functions ( #1813 )
...
* touch: use arggroup for sources
* tests/touch: add tests for multiple sources
* touch: turn macros into functions
* test/touch: fmt
* touch: constant for the sources ArgGroup
2021-03-13 17:20:39 +01:00
Terts Diepraam
44c390c290
touch: constant for the sources ArgGroup
2021-03-13 13:52:08 +01:00
Terts Diepraam
86422a70d2
touch: turn macros into functions
2021-03-13 12:47:20 +01:00
Terts Diepraam
5ec1bba5e8
touch: use arggroup for sources
2021-03-13 12:42:52 +01:00
Hari
8471088d6d
Merge branch 'master' of github.com:uutils/coreutils into feature/preserve_timestamps_#1758
2021-03-12 17:47:02 -05:00
Hari
68ec2ed0f3
install: Implement --preserve-timestamps (-p)
...
Last access and last modify timestamps are extracted from the
existing file metadata and are applied to the newly created file.
2021-03-12 16:51:47 -05:00
Michael Kefeder
e1626b8c64
ptx: ignore empty regex ( #1808 )
...
* ptx: ignore empty -W regex
* ptx: test to verify empty -W regex is ignored
* tests/ptx: verify word regexp from cmd-line is used
2021-03-12 21:52:37 +01:00
Ali
5ced3a670b
paste: cleanup multi-stdin support ( #1803 )
...
cleaner impl for multi-stdin support
2021-03-12 13:26:09 +01:00
Craig Pastro
3ab114f283
cp: Implement --parents & --parent ( #1797 )
2021-03-12 13:25:15 +01:00
Theophile Trunck
8bafcbab7a
Update the binary usage to match busybox
...
New tests in busybox are based on the fact that the function
appears in the usage of the busybox binary.
Because the tests are searching for an exact string they don't see
the function defined by coreutils.
By using the exact same string as busybox we can now also run the new
busybox tests
2021-03-10 23:52:33 +01:00
Ali
374a4fde86
paste: support multi-stdin ( #1791 )
...
- added `-` as the default input, since `paste` reads stdin if no file
is provided
- `paste` also supports providing `-` multiple times
- added a test for it
2021-03-10 23:19:12 +01:00
Mikadore
734ef0a8a1
uniq: fixed #550 ( #1790 )
2021-03-10 21:54:31 +01:00
John Eckersberg
08eb56f120
Fix some clippy warnings
2021-03-10 08:42:00 -05:00
Sylvestre Ledru
517b2a6a22
Merge pull request #1767 from FelipeLema/mod_opt
...
Group OPT_ARGUMENTS into mods
2021-03-09 22:57:30 +01:00
Sylvestre Ledru
955b7ee6d5
Merge pull request #1785 from ali5h/paste-clap
...
paste: move from getopts to clap
2021-03-09 22:52:16 +01:00
Felipe Lema
d1addc97cc
missing OPT_ s
2021-03-09 18:10:04 -03:00
Ali Shariat
54eebebff8
paste: move from getopts to clap
...
closes #1734
2021-03-09 12:46:27 -08:00
Sylvestre Ledru
a96ca1359e
Merge pull request #1772 from foxbenjaminfox/master
...
cp: implement --strip-trailing-slashes
2021-03-09 20:10:06 +01:00
Edward Betts
e1a9c19b6f
Correct spelling
2021-03-09 15:19:35 +00:00
Benjamin Fox
5446ea2abf
cp: implement --strip-trailing-slashes
2021-03-09 12:59:26 +02:00
Daniel Rocco
0e02607dc7
numfmt: implement --field
2021-03-08 10:53:34 -05:00
Felipe Lema
75b3bc02eb
uniq
2021-03-08 12:02:46 -03:00
Felipe Lema
3e0a10d732
update wc
2021-03-08 11:50:26 -03:00
Sylvestre Ledru
6ad8528b99
update of the uucore dep to 0.0.7
2021-03-07 11:29:38 +01:00
Sylvestre Ledru
8772d81236
Update to platform-info 0.1
2021-03-07 11:29:38 +01:00
Sylvestre Ledru
6481c5a247
Prepare version 0.0.4
2021-03-07 11:29:38 +01:00
Chad Brewbaker
c820329efd
muted test not for windows and added windows temp file convention ( #1748 )
...
* muted test not for windows and added windows temp file convention
* Update mktemp.rs
Revert windows mktmp template difference
Co-authored-by: Chad Brewbaker <chad@flyingdogsolutions.com>
2021-03-06 18:26:55 +01:00
Daniel Rocco
d06f91fbe2
numfmt: align format output values with GNU ( #1745 )
...
When converting to SI or IEC, produce values that align with the conventions
used by GNU numfmt.
- values > 10 are represented without a decimal place, so 10000 becomes 10K
instead of 10.0K
- when truncating, take the ceiling of the value, so 100001 becomes 101K
- values < 10 are truncated to the highest tenth, so 1001 becomes 1.1K
closes #1726
2021-03-06 18:26:05 +01:00
Felipe Lema
e4d9d1868a
remove markers
...
this can be improved in the future. this branch is just the kick-off
2021-03-04 15:38:01 -03:00
Felipe Lema
975e9ea565
separate options into modules for chown
2021-03-04 15:37:27 -03:00
Sylvestre Ledru
c06967a45a
rustfmt two files
2021-02-23 20:56:41 +01:00
Alex Lyon
5935876f38
od: remove Vec::set_len() usage in InputDecoder ( #1739 )
2021-02-23 12:35:17 +01:00
Alex Lyon
7341a1a033
shred: remove usage of Vec::set_len() ( #1738 )
...
* shred: use a fixed-size array for BytesGenerator
2021-02-23 12:34:49 +01:00
Chad Brewbaker
bb54669a5d
Fix macOS aarch64 compile errors ( #1724 )
2021-02-23 10:25:06 +01:00
Alex Lyon
5431e947bc
uucore: process: fix exit status processing ( #1743 )
...
* uucore: process: fix exit status processing
* tests: timeout: check whether subcommand exit codes are returned
2021-02-23 10:21:01 +01:00
Alex Lyon
7e5d9ee32d
factor, stdbuf, timeout, uname, uptime: update dependencies ( #1746 )
2021-02-22 15:07:51 +01:00
Alex Lyon
c8977a78a4
uucore: fix potential use-after-free in utmpx iterator ( #1737 )
2021-02-19 08:38:57 +01:00
Alex Lyon
15eaaa9473
Merge pull request #1731 from jaggededgedjustice/seq-check-for-zero-step
...
Do not allow seq to run with an increment of zero
2021-02-18 18:28:35 -08:00
James Robson
0dbed0fd59
Do not allow seq to run with an increment of zero
2021-02-18 21:10:53 +00:00
Sylvestre Ledru
4bdd7a5e42
trivial(truncate): remove old comments
2021-02-18 22:05:11 +01:00
Alex Lyon
39d62c6c1f
od: remove potential unsoundness and an allocation in PartialReader ( #1730 )
2021-02-18 08:23:13 +01:00
Daniel Rocco
e2b58051e6
yes: correct a typo ( #1727 )
...
Improve readability by fixing an inadvertent rename during a performance
enhancement (b46e228
).
2021-02-16 23:40:23 +01:00
Daniel Rocco
f595164063
numfmt: prohibit --header=0 to align with GNU
...
Adjust header option handling to prohibit passing a value of 0 to align
with GNU numfmt. Also report header option parse errors as GNU does.
closes #1708
2021-02-15 08:14:44 +01:00
Daniel Rocco
f8006f47df
numfmt: handle leading whitespace & implied padding ( #1721 )
...
Align with GNU numfmt by trimming leading whitespace from supplied values.
If the user did not specify a padding, calculate an implied padding from
the leading whitespace and the value.
Also track closer to GNU numfmt’s error message format.
2021-02-14 09:04:29 +01:00
Sylvestre Ledru
bd6b958655
Moved to atty
2021-02-12 11:37:32 +01:00
Kevin Burke
26aa1f346e
ls: only print colors if stdout is a tty
...
Previously if no --color argument was input, we would always print
colors in the output. This breaks `configure` scripts which run `ls`
and then compare the output against what they expect to see, since the
left side has ANSI escape sequences and the right side doesn't.
Instead, only print escape sequences if a TTY is present, or if
`--color=always` is specified.
Fixes #1638 .
2021-02-12 11:37:32 +01:00
Daniel Rocco
9081e120d6
numfmt: replace getopts with clap ( #1717 )
2021-02-11 23:58:26 +01:00
Felipe Lema
35a7f01d15
Refactor(split) - migrate from getopts to clap ( #1712 )
2021-02-11 20:45:23 +01:00
Sylvestre Ledru
51383e10e6
Fix: install /dev/null target ( #1646 )
...
* fix(install): workaround the /dev/null bug
Caused by a limitation of fs::copy in rust. see:
https://github.com/rust-lang/rust/issues/79390
2021-02-11 15:59:58 +01:00
Sylvestre Ledru
6c8af26e7f
fix(cp) - make "cp /dev/null target" work ( #1674 )
2021-02-11 15:59:20 +01:00
Sylvestre Ledru
b8987f3d5f
fix(mktemp) - Make mktemp --tempdir foo.XXXXXX works ( #1716 )
...
Used by apt-key
2021-02-11 00:03:23 +01:00
Chad Brewbaker
6c2bca110d
Fixed wc -L no end of line LF bug ( #1714 )
2021-02-08 21:54:48 +01:00
Sylvestre Ledru
beda329a21
Fix some clippy warnings
2021-02-07 15:12:15 +01:00
Sylvestre Ledru
2bb9a85dde
bug(tee) - needs libc from uucore
2021-02-02 09:23:01 +01:00
Sylvestre Ledru
858ea108ce
bug(ln) - needs fs from uucore too
2021-02-02 00:18:46 +01:00
Sylvestre Ledru
d7a6bfa76c
bug(install) - needs entries from uucore too
2021-02-02 00:09:25 +01:00
Sylvestre Ledru
262b508b89
update the dep to uucore 0.0.6
2021-02-01 23:55:43 +01:00
Sylvestre Ledru
87428b9c32
update uucore to 0.0.6
2021-02-01 23:53:17 +01:00
Sylvestre Ledru
f0b302d716
refactor(fmt) move to clap
2021-01-25 21:48:52 +01:00
Sylvestre Ledru
cacaf0cde8
bug(fmt): just like the GNU version, fails when -W is bigger than 2500
...
Closes : #1704
2021-01-25 08:45:33 +01:00
Sylvestre Ledru
992c113f09
Remove some old code
2021-01-22 09:40:38 +01:00
Sylvestre Ledru
a807fc623a
Update to version 0.0.3
2021-01-22 09:40:38 +01:00
nicoo
ea20b22d12
factor::numeric::gcd: Refactor divisor
test
...
Should be clearer; does not handle the `gcd(0, 0)` case, which is already
covered by the `zero` test.
2021-01-21 15:28:28 +01:00
nicoo
42b048d316
factor: Get rid of the custom OverflowingAdd
trait ( #1697 )
...
* factor: Confine knowledge of num_traits to numeric::traits
This should make it easier to deal with API changes of num_traits,
or eventually switching to an abstraction provided in the stdlib.
2021-01-21 15:27:22 +01:00
Sylvestre Ledru
9f7259b986
refactor(realpath): move to clap
2021-01-19 20:56:27 +01:00
Sylvestre Ledru
e331186fee
unbreak build with rustc 1.32: force tempfile 3.1.0 ( #1695 )
2021-01-19 08:15:53 +01:00
Sylvestre Ledru
013bb285cd
bug(chmod): chmod on symlink pointing to non existing file is failing ( #1694 )
2021-01-18 23:09:00 +01:00
Felipe Lema
88911be6e0
--filter
argument for split
(#1681 )
2021-01-18 14:42:44 +01:00
Gaurang Tandon
ac7cac2910
tail: moving to clap from getopt ( #1689 )
2021-01-12 17:44:11 +01:00
Sylvestre Ledru
04b92f3e94
Replaces failure by thiserror. ( #1688 )
...
Failure isn't maintained anymore:
https://github.com/rust-lang-nursery/failure/pull/347
https://rustsec.org/advisories/RUSTSEC-2020-0036.html
2021-01-11 22:01:14 +01:00
Sylvestre Ledru
b8e886ad1a
bump the minimal version of uucore & uucore_procs
2021-01-10 18:27:20 +01:00
Sylvestre Ledru
57e24c9118
also update uucore & uucore_procs versions to 0.0.5
2021-01-10 18:24:43 +01:00
Sylvestre Ledru
d9ae043a05
update of the version 0.0.1 => 0.0.2 ( #1686 )
2021-01-10 18:16:04 +01:00
Sylvestre Ledru
d9580c2f3a
ls: move from isatty (deprecated) to atty ( #1685 )
2021-01-09 21:21:02 +01:00
jaggededgedjustice
18c39daed7
fold: Handle input with newlines ( #1680 )
...
The read_line function appends to the given buffer which is never
cleared. This leads to lines being duplicated.
2021-01-05 09:10:01 +01:00
Sylvestre Ledru
4a23a1a218
feature(ln): Implement -n
2021-01-03 18:55:53 +01:00
Sylvestre Ledru
7f1d47b77a
refactor(ln): move to clap
2021-01-02 22:35:21 +01:00
Sylvestre Ledru
105e2cb26f
feature(mktemp): implement -t
...
Deprecated but used in various places:
https://sources.debian.org/src/libreoffice/1:7.0.4-1/solenv/gbuild/platform/solaris.mk/?hl=22#L22
https://sources.debian.org/src/glibc/2.31-6/malloc/memusage.sh/?hl=225#L225
https://sources.debian.org/src/sbox-dtc/1.11.7-1/debian/postinst/?hl=20#L20
2021-01-02 13:07:27 +01:00
Sylvestre Ledru
66b503a77e
refactor(mktemp): move to clap
2021-01-02 09:40:40 +01:00
Sylvestre Ledru
7942a64231
Remove 'extern crate'
...
Not necessary anymore. See:
https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html#no-more-extern-crate
2020-12-31 15:44:00 +01:00
Sylvestre Ledru
bc4c82b132
Fix some clippy warnings
2020-12-29 00:47:59 +01:00
Sylvestre Ledru
7955d346a8
csplit - rustfmt
2020-12-28 17:22:46 +01:00
Sylvestre Ledru
3a1eb1e05f
Various fixes before landing csplit
2020-12-28 17:22:02 +01:00
Stéphane Campinas
89bf7a726e
csplit: refresh of the previous PR
2020-12-28 17:21:29 +01:00
Kevin Burke
10cd480a01
rm: allow "-f" to be specified multiple times ( #1667 )
...
This matches the behavior of GNU rm.
Fixes #1663 .
Co-authored-by: Kevin Burke <kevin@burke.dev>
2020-12-25 12:41:48 +01:00
Sylvestre Ledru
36d903e611
number-prefix: Move from 0.2 to 0.4 ( #1670 )
2020-12-22 13:53:20 +01:00
Diego Magdaleno
8b12686888
ls: On Windows don't display files hidden by NTFS ( #1662 )
...
This little check, allows us to hide the files that
shouldn't be shown on the listing on Windows operating
systems.
Just like the "dot" in UNIX based operating systems
Windows uses its own file attributes to determine if a file
is hidden or not.
The lack of support for this option is normally an annoyance
for many users, this commit adds full support for this feature
2020-12-19 17:54:28 +01:00
Sylvestre Ledru
469abf2427
bug(seq) - Allow 'seq 6 -1 0'
...
Was failing with
```
Found argument '-1' which wasn't expected, or isn't valid in this context
```
otherwise
2020-12-19 11:55:43 +01:00
Sylvestre Ledru
dbc716546b
fix(mkdir) - Add --parent as alias of --parents
...
It is used this way sometimes:
https://sources.debian.org/src/php-symfony-polyfill/1.21.0-2/debian/rules/?hl=49#L49
https://sources.debian.org/src/firebird3.0/3.0.7.33374.ds4-1/debian/functions.sh/?hl=24#L24
https://sources.debian.org/src/postfix/3.5.6-1/debian/configure-instance.sh/?hl=67#L67
2020-12-18 14:41:59 +01:00
Sylvestre Ledru
718695d541
fix(install) - Install was failing with '-m 0333'
...
The parse_numeric was getting ' 0333' as input
and showing 'mode is too large ( 0333 > 7777) as error
Syntax used: https://sources.debian.org/src/firebird3.0/3.0.7.33374.ds4-1/debian/functions.sh/?hl=145#L145
2020-12-18 13:36:55 +01:00
Sylvestre Ledru
c506b5402b
fix clippy warnings
2020-12-17 21:34:10 +01:00
Sylvestre Ledru
5a62dcafaa
bug(cp): like gnu/cp, don't show any message when --no-clobber is used
...
Simple example:
touch bar
rm -rf /tmp/foo
mkdir -p /tmp/foo
cp -pnL -v bar /tmp/foo
echo $?
cp -pnL -v bar /tmp/foo
echo $?
rm -rf /tmp/foo
mkdir -p /tmp/foo
./target/debug/coreutils cp -pnL -v bar /tmp/foo
echo $?
./target/debug/coreutils cp -pnL bar /tmp/foo
echo $?
2020-12-17 20:50:38 +01:00
Sylvestre Ledru
1e9820a7c4
Merge pull request #1659 from sylvestre/base-non-utf8
...
base32/base64: tolerate non-utf8 encoded inputs
2020-12-16 08:46:48 +01:00
Gabriel Ganne
607b70a896
base32/base64: tolerate non-utf8 encoded inputs
...
For inputs that are valid base64 but that encode non-utf8 strings (like
garbage), base64 panicks when trying to unwrap the result from
String::from_utf8().
Instead of interpreting the byte stream as utf8, simply dump the raw
bytes to stdout.
Since the test assert that all io is valid utf8, this does not come with
a unit test. See run() in tests/common/utils.rs.
Eg.
"gD63hSj3ScS+wuOeGrubXlq35N1c5Lby/S+T7MNTjxo=" -> ">(Iľ^Z\/S"
2020-12-16 00:14:18 +01:00
Hiroki Noda
2916e8d811
tee: implement ignore-interrupts option
2020-12-15 23:50:43 +01:00
Sylvestre Ledru
d9cf0374be
fix(sync) - Remove 'unused import' on mac
2020-12-13 18:02:33 +01:00
Sylvestre Ledru
ba126afe54
fix(ls): follow the display of GNU ls
2020-12-13 12:12:19 +01:00
Sylvestre Ledru
8a1628cf89
fix(ls): When a file doesn't exist, exit early and fails ls
...
Currently, running
$ ls doesntexist
will return 0
while it should return 1
Ditto for
$ ls doesntexist a
2020-12-13 12:12:19 +01:00
Sylvestre Ledru
f287309b72
perms: add some docs
2020-12-12 14:43:56 +01:00
Sylvestre Ledru
dca1f28085
install: various improvements in output & tests
2020-12-12 14:36:23 +01:00
Sylvestre Ledru
3024ade071
refactor(chgrp, install): Show the error in the program instead of the lib
2020-12-12 14:28:50 +01:00
Sylvestre Ledru
55c660b986
feature(install): move chown functions into uucore and have install owner support use it
2020-12-12 14:27:59 +01:00
Sylvestre Ledru
015e18731f
feature(install): install group support
2020-12-12 14:27:03 +01:00
Sylvestre Ledru
763de90fda
refactor(chgrp): move chgrp perms function into the uucore to reuse it into install
...
Will move chown later
2020-12-12 14:26:32 +01:00
Sylvestre Ledru
431a4e9f2f
cosmetic: consistency in the clap cargo declaration
2020-12-12 13:12:13 +01:00
Sylvestre Ledru
e19010e9fe
cosmetic: consistency in the walkdir cargo declaration
2020-12-12 13:10:57 +01:00
Sylvestre Ledru
d8e345df0a
refactor(whoami): only use advapi32/winapi on Windows ( #1653 )
2020-12-12 11:04:39 +01:00
Sylvestre Ledru
576aa29f0f
refactor(chmod): move from walker to walkdir, simplify the code and add tests ( #1645 )
2020-12-12 10:31:12 +01:00
Sylvestre Ledru
49b32ea68d
refactor(chown): move to clap & add tests ( #1648 )
2020-12-12 00:14:00 +01:00
Sylvestre Ledru
068fee2ebd
feature(uname): Implement -p & -i ( #1649 )
...
Just return 'unknown' for both
Closes : #1636
2020-12-11 22:46:36 +01:00
Sylvestre Ledru
516839e081
refactor(mv): move to clap ( #1652 )
2020-12-10 22:28:17 +01:00
Piyush Jaipuriayar
3ca8ba997c
hashsum: added blake2 as a hashing algorithm ( #1651 )
2020-12-08 23:32:02 +01:00
Sylvestre Ledru
d21acc4621
cosmetic(cp): use the variable instead of the string
2020-12-08 23:19:51 +01:00
Sylvestre Ledru
0cfb83a040
Merge pull request #1580 from sylvestre/archive3
...
feature(cp): implement archive & -L
2020-12-06 17:15:56 +01:00
Sylvestre Ledru
5f47d1249d
use the same version of clap everywhere
2020-12-01 22:59:14 +01:00
Sylvestre Ledru
c483fa501b
feature(cp): also implement --dereference/-L
2020-11-29 20:48:29 +01:00
Sylvestre Ledru
f76a0ec972
feature(cp): implement archive + add missing tests
2020-11-29 20:48:23 +01:00
Sylvestre Ledru
b07f496b70
fix(install): 'install file_a file_b' should just copy the file
2020-11-29 16:33:46 +01:00
Sylvestre Ledru
261b4e24d6
feature(install): remove a duplicate check.
...
Already done in is_new_file_path
2020-11-29 16:33:46 +01:00
Sylvestre Ledru
11ecf80a25
feature(sync): add --data & --file-system ( #1639 )
2020-11-29 16:32:21 +01:00
Sylvestre Ledru
89f8624936
bug(install) - install -d can be run on an existing directory ( #1643 )
...
GNU:
$ install -d foo
$ install -d foo
Rust:
$ install -d foo
$ install -d foo
install: cannot create directory 'foo': File exists
install: foo: File exists (os error 17)
2020-11-29 16:31:26 +01:00
Sylvestre Ledru
8ef7f394c1
address some new clippy warnings ( #1642 )
2020-11-29 16:26:38 +01:00
Sylvestre Ledru
adc9b12f32
install: fix a typo
2020-11-25 13:09:28 +01:00
Sylvestre Ledru
bfba889f8e
refactor(touch): Move to clap + add a test ( #1629 )
2020-11-21 09:53:13 +01:00
Sylvestre Ledru
5efaa0bf32
refactor(id) - move to clap and add more tests ( #1628 )
2020-11-21 09:52:50 +01:00
Sylvestre Ledru
41ba5ed913
refactor(uniq): Move to clap + add a test ( #1626 )
2020-11-21 09:52:40 +01:00
Sylvestre Ledru
7bbb4c98e8
Merge pull request #1623 from sylvestre/clap-pwd
...
refactor(pwd): move to clap + add a test
2020-11-21 00:49:30 +01:00
Sylvestre Ledru
6870d81b33
Merge pull request #1631 from sylvestre/clap-version
...
Remove version mgmt, it is done by clap
2020-11-20 10:02:33 +01:00
Sylvestre Ledru
6fc4129daf
Merge pull request #1624 from sylvestre/uptime-refresh
...
refactor(uptime): some minor improvements
2020-11-20 10:02:13 +01:00
Sylvestre Ledru
641aba5bd7
maint/hostname: Fix a clippy warning 'single_char_push_str'
2020-11-19 23:16:31 +01:00
Sylvestre Ledru
8271faf3a2
Merge branch 'master' into clap-pwd
2020-11-19 22:32:02 +01:00
Sylvestre Ledru
252f527b55
Merge branch 'master' into uptime-refresh
2020-11-19 22:30:33 +01:00
Sylvestre Ledru
62265656b4
Merge pull request #1630 from sylvestre/clap-mkdir
...
refactor(mkdir): Move to clap + add a test
2020-11-17 13:01:09 +01:00
Sylvestre Ledru
5eaab5327c
Merge pull request #1632 from sylvestre/clap-rm
...
refactor(rm): Move to clap + add a test
2020-11-17 13:00:35 +01:00
Sylvestre Ledru
eada6e58e5
Merge pull request #1637 from sylvestre/clap-install
...
refactor(install): move to clap
2020-11-17 13:00:04 +01:00
Sylvestre Ledru
27d5256cb6
Use the correct syntax to define the mode
2020-11-16 22:02:06 +01:00
Sylvestre Ledru
55221a18b4
change order + remove useless import
2020-11-15 22:53:49 +01:00
Sylvestre Ledru
f55d8a22ec
remove useless mut
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-11-15 22:49:26 +01:00
Sylvestre Ledru
5718af023b
use the OPT_VERBOSE
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-11-15 22:49:01 +01:00
Sylvestre Ledru
4fec824421
change the position of the TODO
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-11-15 22:48:39 +01:00
Sylvestre Ledru
d268bda28e
Merge pull request #1635 from sylvestre/clap-sync
...
refactor(sync): Move to clap + add tests
2020-11-15 22:40:46 +01:00
Sylvestre Ledru
2edfe32c48
refactor(install): move to clap
2020-11-13 18:21:56 +01:00
Sylvestre Ledru
2febd13733
refactor(sync): Move to clap + add tests
2020-11-11 22:57:55 +01:00
Sylvestre Ledru
61520546a5
refactor(rm): Move to clap + add a test
2020-11-09 10:27:58 +01:00
Roy Ivy III
e493ad1f26
refactor/uucore_procs ~ revise 'Cargo.toml' towards repo norms
2020-11-08 20:53:18 -06:00
Roy Ivy III
688db0d4a2
refactor/uucore ~ revise 'Cargo.toml' towards repo norms
2020-11-08 20:53:18 -06:00
Roy Ivy III
2b4b31a9ee
uucore/refactor ~ fix cargo clippy
complaints (*allow* temporary_cstring_as_ptr; added FixME note)
...
* otherwise, unsure how to fix this; the following change
```rust
let res = unsafe { utmpxname(CString::new(f).unwrap().as_ptr()) };
```
to
```rust
let string_ptr = CString::new(f).unwrap().as_ptr();
let res = unsafe { utmpxname(string_ptr) };
```
causes three `who` tests (test_who::test_all, test_who::test_boot, and test_who::test_login)
to fail by generating no output.
2020-11-08 20:53:18 -06:00
Roy Ivy III
3dc9f76c7f
uucore/refactor ~ fix cargo clippy
complaints (*allow* type_complexity)
2020-11-08 20:53:18 -06:00
Roy Ivy III
66dfd73ffe
uucore/refactor ~ fix cargo clippy
complaints (iter_nth_zero)
2020-11-08 20:53:18 -06:00
Roy Ivy III
9473abf3ba
uucore/polish ~ fix cargo clippy
complaints (missing_safety_doc; with ToDO for safety note)
2020-11-08 20:53:18 -06:00
Roy Ivy III
3941d3f18c
uucore/refactor ~ fix cargo clippy
complaints (len_zero)
2020-11-08 20:53:18 -06:00
Roy Ivy III
bc1084a9f5
uucore/refactor ~ fix cargo clippy
complaints (or_fun_call)
2020-11-08 20:53:18 -06:00
Roy Ivy III
6539b8c6b9
maint/deps ~ change version specification for dependencies between sub-packages
...
- refactor internal version specifications to be ">=M.m.p" (where M.m.p is *already published*)
## [why]
Loosening internal version dependencies decreases the coupling between packages such
that packages can be published in a looser order. It allows the packages to be version
updated and published in tandem (ie, by using `cargo workspace ...`). Once published,
the internal versions can then be updated (again, to an *already published* package
version), as needed.
2020-11-08 20:26:46 -06:00
Roy Ivy III
c17307c757
fix ~ update workspace pointers to 'uucore' and 'uucore_procs'
2020-11-08 20:26:46 -06:00
Roy Ivy III
e15df35e87
Merge 'uucore' repository source code back into 'coreutils'
2020-11-08 19:58:25 -06:00
Roy Ivy III
aed6f296cf
change ~ prepare 'uucore' for grafting/re-merge into 'coreutils'
2020-11-08 19:57:28 -06:00
Alex Lyon
46e2c14f07
Formatting
2020-11-08 19:56:57 -06:00
Alex Lyon
e8dcca1872
Use OsString for arguments rather than String
2020-11-08 19:56:57 -06:00
Sylvestre Ledru
121ab6d847
build/deps ~ relax/update the wild dep
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-11-08 19:56:57 -06:00
Roy Ivy III
00779a1fb5
refactor macro variable names (fixes spell-checker/unknown word warnings)
2020-11-08 19:56:57 -06:00
Roy Ivy III
7aa0c92cf8
docs/spell ~ configure VSCode cSpell
2020-11-08 19:56:57 -06:00
Roy Ivy III
d52fb5c484
docs/spell ~ spell-check and addition of exceptions
2020-11-08 19:56:57 -06:00
Roy Ivy III
88e5631fa4
docs/polish ~ polish/update commentary and copyrights
2020-11-08 19:56:57 -06:00
Roy Ivy III
70871edac9
docs/polish ~ remove outdated commentary
2020-11-08 19:56:57 -06:00
Roy Ivy III
b9642a0253
0.0.4
2020-11-08 19:56:57 -06:00
Roy Ivy III
16d367a418
fix 'edition=2018' module import errors
2020-11-08 19:56:56 -06:00
Roy Ivy III
c57a933412
change ~ use crate configuration 'edition=2018'
2020-11-08 19:56:56 -06:00
Roy Ivy III
2f840eedef
docs ~ update meta information
2020-11-08 19:56:56 -06:00
Roy Ivy III
fc6370e160
change/API! ~ new_coreopts!()
=> app!()
2020-11-08 19:56:56 -06:00
Roy Ivy III
0c4d314544
change/API! ~ disp_err!()
=> show_usage_error!()
2020-11-08 19:56:56 -06:00
Roy Ivy III
d6b1052f3f
0.0.3
2020-11-08 19:56:56 -06:00
Roy Ivy III
1013b760c4
fix cargo clippy
warning (no_effect)
2020-11-08 19:56:56 -06:00
Roy Ivy III
b8c22496bb
change/uucore_procs ~ add work-around for attribute/macro name collision during testing
...
- proc_macro "main" collides with attribute "#[main]" during testing (for rust < v1.38.0; fixed in v1.38.0+)
- ref: GH:rust-lang/rust#62127
2020-11-08 19:56:56 -06:00
Roy Ivy III
e35bd4b79c
update deps (Cargo.toml); MinSRV == v1.31.0
2020-11-08 19:56:56 -06:00
Roy Ivy III
18b13ed4b4
build/uucore_procs ~ fix proc_dbg!() for MinSRV of v1.31.0
2020-11-08 19:56:56 -06:00
Roy Ivy III
14df9d2df3
docs/build ~ polish crate meta-information (uucore_procs)
2020-11-08 19:56:56 -06:00
Roy Ivy III
246e4427e4
docs/build ~ polish descriptions and crate meta-information in Cargo.toml
2020-11-08 19:56:56 -06:00
Roy Ivy III
ad30781c0c
build/uucore_procs ~ add debugging statements
2020-11-08 19:56:56 -06:00
Roy Ivy III
a352657e1f
build/uucore_procs ~ add/improve debug infrastructure
...
- add proc_dbg! macro
- use debug feature to trigger debug traits for the syn crate
2020-11-08 19:56:56 -06:00
Roy Ivy III
cf2fcd8dc1
docs/uucore_macros ~ improve commentary/documentation
2020-11-08 19:56:56 -06:00
Roy Ivy III
c32ff9e8bb
change ~ use updated SIGPIPE in procs
2020-11-08 19:56:56 -06:00
Roy Ivy III
0432063479
change ~ add proc-macros module (uucore_procs) with uucore_procs::main()
...
- `uucore_procs::main!(UUTIL_NAME)` allows simple, consistent instantiation of `main()` for uutils
2020-11-08 19:56:55 -06:00
Roy Ivy III
503cc53014
change ~ improve naming and documentation of default SIGPIPE handling
2020-11-08 19:56:55 -06:00
Roy Ivy III
b0d02e7f43
change ~ reorganize code layout/structure
2020-11-08 19:56:55 -06:00
Roy Ivy III
6a8a677e8b
refactor/polish ~ cargo fmt
2020-11-08 19:56:55 -06:00
Roy Ivy III
099b0a2074
0.0.2
2020-11-08 19:56:55 -06:00
Roy Ivy III
5b2c2bdfca
maint/CICD ~ fix FreeBSD build on Cirrus CI
2020-11-08 19:56:55 -06:00
Roy Ivy III
16157f57eb
maint/build ~ refactor (reorganize) and improve comments within 'Cargo.toml'
2020-11-08 19:56:55 -06:00
Roy Ivy III
ceee0ec09e
fix build failure caused by imprecise libc version specification
...
- more precisely describe permissable libc versions
.# [why]
- libc >= v0.2.15 is needed for utmp support.
- libc <= v0.2.66 is required to avoid build errors for MinSRV == 1.31.0.
Intermittant build failures were being caused by `cargo` using early libc versions.
2020-11-08 19:56:55 -06:00
Roy Ivy III
c08674da28
fix build failure caused by data-encoding v2.2.0
...
- hold data-encoding to known working "<= 2.1.2"
.# [why]
data-encoding v2.2.0 causes a build error for '1.31.0-i686-pc-windows-msvc'.
```
cargo +1.31.0-i686-pc-windows-msvc build --target=i686-pc-windows-msvc --all-features
...
error[E0658]: imports can only refer to extern crate names passed with `--extern` on stable channel (see issue #53130 )
--> C:\Users\appveyor\.cargo\registry\src\github.com-1ecc6299db9ec823\data-encoding-2.2.0\src\lib.rs:194:5
|
187 | / mod prelude {
188 | | pub use std::borrow::Cow;
189 | | }
| |_- not an extern crate passed with `--extern`
...
194 | use prelude::*;
| ^^^^^^^
|
...
```
2020-11-08 19:56:55 -06:00
Roy Ivy III
96a92b3533
refactor ~ pin all crate versions < v1.0.0
...
. #[why]
Technically, by semver rules, projects with versions < v1.0.0 may make breaking
changes with *any* version change. So, for some protection, pin all crates with
version < v1.0.0 to a specific version.
* ref: <https://semver.org > @@ <https://archive.is/LTGHB >
2020-11-08 19:56:55 -06:00
Roy Ivy III
84d8473e1a
fix forced MinSRV increase (using pinned 'backtrace' version)
...
- hotfix transitive bug in 'failure' forcing MinSRV increase to rust v1.33.0 by pinning 'backtrace' to <= 0.3.31
- [rustlang/nursery#340 ](https://github.com/rust-lang-nursery/failure/issues/340 ) is now open on 'failure' to address this issue
.# [why]
'failure' was using 'backtrace' `version = "0.3.3"`, which by semantic version
auto-upgrade was pulling in 'backtrace' > v0.3.30 (specifically, v0.3.40 most
recently). 'backtrace' v0.3.31 introduces use of `#[cfg(target_vendor = ...)]`
which requires rust v1.33.0. So, 'backtrace' is forcing an upgrade of MinSRV
to rust v1.33.0 with the change from backtrace v0.3.30 to backtrace v0.3.31.
Technically, by being less than v1.0.0, 'backtrace' has no semantic version
requirement. And there is debate about whether increasing MinSRV is a semantic
change. But, in my strong opinion, breaking our MinSRV statement is definitely
a semantic change.
* ref: <https://github.com/rust-lang/rust/blob/master/RELEASES.md >
2020-11-08 19:56:55 -06:00
Roy Ivy III
667ed39ece
fix uucore::fs for windows
...
- standardize the return value of `std::env::current_dir()` by using `canonicalize()`
.# [why]
`std::env::current_dir()` will, in some situations on windows hosts, return
"short"-type paths (eg, "C:\Progra~1\..."). Using `canonicalize()` transforms
the path in a standard long form but may also require removing a leading
"\\?\" prefix.
2020-11-08 19:56:55 -06:00
Roy Ivy III
2792d85865
fix ~ 'musl' environment doesn't support utmpx
2020-11-08 19:56:55 -06:00
Alex Lyon
217d83526b
Set up for release on crates.io
2020-11-08 19:56:54 -06:00
Alex Lyon
12ce90d9cb
Fix doc-test for entries on macOS
2020-11-08 19:56:54 -06:00
Alex Lyon
cdafcce400
Redox is not tested currently, so don't mention it
2020-11-08 19:56:54 -06:00
Alex Lyon
12129d1b1c
Separate uucore into its own repository
2020-11-08 19:56:54 -06:00
Alex Lyon
76aef60d80
uucore: allow the Linux zero-copy setup on Android
2020-11-08 19:56:54 -06:00
Alex Lyon
f79f0716ee
uucore: remove an inaccurate comment
2020-11-08 19:56:54 -06:00
Alex Lyon
72c322a882
uucore, yes: add zero-copy on supported platforms (only Linux currently)
2020-11-08 19:56:54 -06:00
Alex Lyon
d81d3e3c71
Get rid of all warnings on Linux (or at least WSL)
2020-11-08 19:56:54 -06:00
Zachary Dremann
77cc8d39c6
Replace starts_with and slice with trim_left_matches
2020-11-08 19:56:54 -06:00
Zachary Dremann
c15b18bf5b
Don't allocate in signal_by_name_or_value
2020-11-08 19:56:54 -06:00
Zachary Dremann
30df2210f0
Fix is_signal
2020-11-08 19:56:54 -06:00
Zachary Dremann
44550ee5b6
Add tests for signals (including failing test for is_signal
2020-11-08 19:56:54 -06:00
Alex Lyon
4e0025cb17
base32, base64, uucore: merge base32/base64 code
2020-11-08 19:56:54 -06:00
Roy Ivy III
6600993c3e
fix: gate unix-only macros (silences "unused" warnings)
2020-11-08 19:56:53 -06:00
Vinzent Steinberg
5f582c05e1
Remove utf8 feature
...
All code it provides can be implemented with `std`.
2020-11-08 19:56:53 -06:00
Vinzent Steinberg
5160f47a9f
Fix more clippy warnings and remove redundant 'static
2020-11-08 19:56:53 -06:00
Vinzent Steinberg
de7a6b5afa
Fix a few clippy warnings
2020-11-08 19:56:53 -06:00
Roy Ivy III
bd450ebb94
uucore: fix: use updated 'wild' crate for globbing
2020-11-08 19:56:53 -06:00
Roy Ivy III
9e8b002735
uucore: fix: use forked 'wild' crate with case-sensitivity + API fixes
2020-11-08 19:56:53 -06:00
Roy Ivy III
03d6e733e4
uucore: Add globbing for Windows machines
2020-11-08 19:56:53 -06:00
dependabot[bot]
99da2451ab
Bump getopts from 0.2.17 to 0.2.18
...
Bumps [getopts](https://github.com/rust-lang/getopts ) from 0.2.17 to 0.2.18.
- [Release notes](https://github.com/rust-lang/getopts/releases )
- [Commits](https://github.com/rust-lang/getopts/compare/0.2.17...v0.2.18 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2020-11-08 19:56:53 -06:00
dependabot[bot]
b21bd0bea3
Bump time from 0.1.39 to 0.1.40
...
Bumps [time](https://github.com/rust-lang/time ) from 0.1.39 to 0.1.40.
- [Release notes](https://github.com/rust-lang/time/releases )
- [Commits](https://github.com/rust-lang/time/compare/0.1.39...0.1.40 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2020-11-08 19:56:53 -06:00
dependabot[bot]
a31b1047c1
Bump libc from 0.2.39 to 0.2.42
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.39 to 0.2.42.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.39...0.2.42 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2020-11-08 19:56:53 -06:00
Alex Lyon
40738bfb0a
uucore: update data_encoding and add wrap_write()
2020-11-08 19:56:53 -06:00
Valentin Lorentz
2ad767586b
chmod: show human-friendly permissions when --changes or --verbose is used.
...
Like GNU chmod.
2020-11-08 19:56:53 -06:00
Ian Douglas Scott
eedf7cb28a
Make the 'cat' utility build on Redox
2020-11-08 19:56:53 -06:00
Alex Lyon
07de3eda6e
uucore: make features opt-in rather than opt-out
2020-11-08 19:56:53 -06:00
Alex Lyon
f74a1b6333
Format everything using rustfmt
2020-11-08 19:56:53 -06:00
Alex Lyon
1c0b1ab375
uucore: remove utsname.rs (and replace with platform-info)
2020-11-08 19:56:53 -06:00
Alex Lyon
ca3393bd86
uucore: read from sys:uname on Redox
2020-11-08 19:56:52 -06:00
Alex Lyon
7559c0d83d
cp, tail: update winapi
2020-11-08 19:56:52 -06:00
Alex Lyon
f575b8f4f2
arch: add support for building on Windows
2020-11-08 19:56:52 -06:00
Alex Lyon
3cec199da1
Add Sphinx documentation to generate man pages
2020-11-08 19:56:52 -06:00
Alex Lyon
64c2c2055b
chmod, install, uucore: fix build on Windows
2020-11-08 19:56:52 -06:00
Alex Lyon
5544def54e
Remove pipe_* macros
2020-11-08 19:56:52 -06:00
Alex Lyon
f0bd170996
chmod, install: move mode parsing into uucore
2020-11-08 19:56:52 -06:00
Alex Lyon
fd555c6d21
Handle SIGPIPE correctly and autogenerate main() for each util
2020-11-08 19:56:52 -06:00
Joshua Miller
6998949c06
pin dependencies
2020-11-08 19:56:52 -06:00
Matt8898
e7940828f9
uucore: add support for optflagmulti and optmulti.
2020-11-08 19:56:52 -06:00
Arcterus
e2b8741a35
uucore: compile on Windows again
2020-11-08 19:56:52 -06:00
Arcterus
f61f30f52b
uucore: read symlinked directories correctly in resolve_relative_path()
2020-11-08 19:56:52 -06:00
Joseph Crail
f3639b9453
Fix comment spelling
2020-11-08 19:56:52 -06:00
Lei Zhang
3f4dba0de9
Turn off utmpx and signals for Fuchsia.
...
Fuchsia uses musl as its libc; musl only has stub implementation
for utmpx. From their wiki, that is deliberately chosen.
Fuchsia doesn't have signals mechanism.
2020-11-08 19:56:52 -06:00
Will Wykeham
cf2be8a6b1
Fix a number of Windows build warnings
2020-11-08 19:56:52 -06:00
knight42
09b0b9ad78
chown,chgrp: fix bug in option --preserve-root
2020-11-08 19:56:51 -06:00
knight42
b6dcafc675
uucore::fs: add fn resolve_relative_path
2020-11-08 19:56:51 -06:00
Nathan Ross
22fab1444e
uucore: allow 'wrong number of arguments' macro to be more precise
2020-11-08 19:56:51 -06:00
Nathan Ross
8cb2edecb1
uucore: add support for optflagopt to coreopts
2020-11-08 19:56:51 -06:00
Nathan Ross
35951ebf66
uucore: fix utility name in coreopts parsing error messages
2020-11-08 19:56:51 -06:00
Knight
1dab4510b5
Remove uucore::c_types
2020-11-08 19:56:51 -06:00
Knight
d22814201e
Add uucore::utsname to get system info
2020-11-08 19:56:51 -06:00
Knight
05b5317605
uucore::process: add functions to obtain uid/gid, euid/egid
2020-11-08 19:56:51 -06:00
Knight
5bc2276775
Add uucore::entries
2020-11-08 19:56:51 -06:00
Knight
434aae76bc
uucore::utmpx: fix doctest errors
2020-11-08 19:56:51 -06:00
Knight
0277848de7
uucore: make libc optional
2020-11-08 19:56:51 -06:00
nathanross
50887566ea
uucore: coreopts alignment, spacing, and optional usage
2020-11-08 19:56:51 -06:00
Nathan Ross
73d36a1d88
uucore: require version; syntax; summary; longhelp
2020-11-08 19:56:51 -06:00
Knight
6a22120d7b
uucore::utmpx: change API and fix error
2020-11-08 19:56:51 -06:00
Knight
58b6ac9393
uucore::utmpx: refine implementation
2020-11-08 19:56:51 -06:00
Knight
3751142ccb
coreopts: fix error when using msg_wrong_number_of_arguments
macro
2020-11-08 19:56:50 -06:00
Knight
68ad14f3c4
uucore: conditional enable different features
2020-11-08 19:56:50 -06:00
Knight
25018b112b
uucore: export latest libc
2020-11-08 19:56:50 -06:00
Knight
789141d926
coreopts: display package name instead of module path
2020-11-08 19:56:50 -06:00
Nathan Ross
bcec54f572
uucore: CoreOptions error and version message templates
2020-11-08 19:56:50 -06:00
Nathan Ross
76952579ac
uucore: add message templates
2020-11-08 19:56:50 -06:00
Knight
2c78b92801
uucore: add module encoding
2020-11-08 19:56:50 -06:00
Corey Farwell
bcdb682bf8
Remove unused imports.
2020-11-08 19:56:50 -06:00
Corey Farwell
c6909951aa
Cleanup logic around wait_or_timeout
exit status handling.
2020-11-08 19:56:50 -06:00
Corey Farwell
72d2ab208c
Prefer handling Duration
over f32
when dealing with times.
...
Also refactored out usage of the `time` crate in `uucore`.
2020-11-08 19:56:50 -06:00
Knight
463c6af4e3
uucore: update utmpx
2020-11-08 19:56:50 -06:00
Knight
79b6835612
pinky: cleanup the code
2020-11-08 19:56:50 -06:00
Knight
6e2c3ede40
uucore::utmpx: revert the changes
2020-11-08 19:56:50 -06:00
Knight
967babd1e6
pinky: implement short format
2020-11-08 19:56:50 -06:00
Knight
b0588e482e
uucore: add disp_err macro
2020-11-08 19:56:50 -06:00
Shiroy
713770c9ae
Add missing lib.name for uucore
...
Fix build on Linux
2020-11-08 19:56:50 -06:00
Arcterus
a149efe45a
uucore: don't follow symlinks when examining them ( fixes #799 )
2020-11-08 19:56:49 -06:00
Michael Gehring
512a6a3201
expand, unexpand: fix build on stable
2020-11-08 19:56:49 -06:00
Michael Gehring
0a3a2ca935
Fix clippy warnings
2020-11-08 19:56:49 -06:00
Michael Gehring
ce733b38a9
Fix arm build
...
Fixes #719
2020-11-08 19:56:49 -06:00
Joseph Crail
bde309a29f
Remove trait shim needed before Path stabilized
...
Now that Path has stabilized in Rust 1.5, I removed the UUPathExt trait
needed to support stable, beta, and nightly.
2020-11-08 19:56:49 -06:00
Joseph Crail
0678332a1f
Add macro to properly find program name.
2020-11-08 19:56:49 -06:00
Joseph Crail
b8ee12f703
More import fixes for Windows.
2020-11-08 19:56:49 -06:00
Joseph Crail
3863842fae
Fix errors with bools represented as ints.
2020-11-08 19:56:49 -06:00
Joseph Crail
9c4c9f6782
Refactor check for standard stream interactivity.
...
Since several utilities check if the standard streams are interactive, I
moved this into the uucore::fs library as is_std*_interactive(). I also
added Windows support for these methods, which only return false (or at
least until someone finds a way to support this).
2020-11-08 19:56:49 -06:00
Joseph Crail
14eccb4335
uucore: specify a few modules to be Unix-only
2020-11-08 19:56:49 -06:00
Michael Gehring
23e0315262
Remove deprecated lint
2020-11-08 19:56:49 -06:00
Joseph Crail
6095dfee66
Split utility files into separate library.
...
Everything in src/common has been moved to src/uucore. This is defined
as a Cargo library, instead of directly included. This gives us
flexibility to make the library an external crate in the future.
Fixes #717 .
2020-11-08 19:56:42 -06:00
Sylvestre Ledru
5c8e47a4d1
Remove version mgmt, it is done by clap
2020-11-08 17:55:31 +01:00
Sylvestre Ledru
897bcb2e67
refactor(mkdir): Move to clap + add a test
2020-11-08 17:51:04 +01:00
Sylvestre Ledru
92d5d47434
refactor(pwd): move to clap + add a test
2020-11-03 23:12:16 +01:00
Sylvestre Ledru
8bd533ffe8
refactor(uptime): some minor improvements
2020-11-03 23:10:32 +01:00
Sylvestre Ledru
a3f3a050a8
Merge pull request #1618 from sylvestre/wc-clap
...
refactor(wc): use clap instead of getopts
2020-11-03 09:39:53 +01:00
Sylvestre Ledru
38e90b9a03
Merge pull request #1621 from sylvestre/clap-stat
...
refactor(stat): Move to clap
2020-11-03 08:37:39 +01:00
Sylvestre Ledru
57c83db6b6
Merge pull request #1616 from sylvestre/users
...
refactor(users): move to clap and simplify the code a bit
2020-11-03 08:37:16 +01:00
Sylvestre Ledru
bd41cb621b
Merge pull request #1620 from sylvestre/clap-printenv
...
refactor(printenv): use clap instead of getopts
2020-11-03 08:36:56 +01:00
Sylvestre Ledru
32ccd7d54d
Merge pull request #1619 from sylvestre/rmdir-clap
...
refactor(rmdir): use clap instead of getopts
2020-11-03 08:36:25 +01:00
Sylvestre Ledru
daf0f96b94
Update of the about description
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-11-02 22:47:55 +01:00
Sylvestre Ledru
2ad587ccbd
Update of the about description
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-11-02 22:32:44 +01:00
Sylvestre Ledru
1e37c29b1f
refactor(stat): Move to clap
2020-11-02 22:18:51 +01:00
Sylvestre Ledru
58099f4203
refactor(wc): use clap instead of getopts
2020-10-29 20:40:00 +01:00
Roy Ivy III
114fda0519
tests ~ (sub-crate factor) refactor divisor() test for improved readability
2020-10-26 15:06:29 -05:00
Roy Ivy III
ae06368cd8
polish/factor ~ correct spelling
2020-10-26 15:06:29 -05:00
Roy Ivy III
6a525c950d
perf/factor ~ tune number of stack inlined decomposition values (~1% time improvement)
2020-10-26 15:06:29 -05:00
Roy Ivy III
6eea8c5f30
perf/factor ~ improve factor() quotient and loop comparison (~6% time improvement)
2020-10-26 15:06:28 -05:00
Roy Ivy III
368f47381b
fix/factor ~ fix fault when factoring number composed of a squared factor
2020-10-26 15:06:28 -05:00
Roy Ivy III
8593b4c46c
tests ~ (sub-crate/factor) add tests for known prior factorization failures
2020-10-26 15:06:28 -05:00
Roy Ivy III
3bb3080170
factor/refactor ~ fix cargo clippy
complaints (allow many_single_char_names)
2020-10-26 15:06:28 -05:00
nicoo
0d39732300
factor::Decomposition: Inline a small number (4) of factors
...
This avoids allocating on the heap when factoring most numbers,
without using much space on the stack.
This is ~3.5% faster than the previous commit, and ~8.3% faster than “master”.
2020-10-26 15:06:28 -05:00
nicoo
78ae0cca31
factor: Slightly refactor main loop, fix bug
2020-10-26 15:06:28 -05:00
nicoo
b7b0c76b8e
factor::Decomposition: Optimise as a factor is never added twice
...
The invariant is checked by a debug_assert!, and follows from the previous
commit, as `dec` and `factors` only ever contains coprime numbers:
- true at the start: factor = ∅ and dec = { n¹ } ;
- on every loop iteration, we pull out an element `f` from `dec` and either:
- discover it is prime, and add it to `factors` ;
- split it into a number of coprime factors, that get reinserted into `dec`;
the invariant is maintained, as all divisors of `f` are coprime with all
numbers in `dec` and `factors` (as `f` itself is coprime with them.
As we only add elements to `Decomposition` objects that are coprime with the
existing ones, they are distinct.
2020-10-26 15:06:28 -05:00
nicoo
ce218e01b6
factor: Ensure we only need to find every single factor once [WiP]
...
~17% faster, many optimisation opportunities still missed >:)
2020-10-26 15:06:28 -05:00
nicoo
3743a3e1e7
factor: Derecursify and refactor
...
~7% slowdown, paves the way for upcoming improvements
2020-10-26 15:06:28 -05:00
nicoo
8643489096
factor::Factors: Use a RefCell rather than copy data when printing
...
~2.9% faster than the previous commit, ~11% faster than “master” overall.
2020-10-26 15:06:28 -05:00
nicoo
30f9cf32f2
factor::Decomposition: Use a flat vector representation
...
~18% faster than BTreeMap, and ~5% faster than 'master'
2020-10-26 15:06:27 -05:00
nicoo
b8ef58c002
factor::Factors: Split off a Decomposition type
...
The new type can be used to represent in-progress factorisations,
which contain non-prime factors.
2020-10-26 15:06:27 -05:00
nicoo
6158cd5714
factor: Introduce a type alias for exponents
...
This way, we can easily replace u8 with a larger type when moving to support
larger integers.
2020-10-26 15:06:27 -05:00
Sylvestre Ledru
af151703b3
refactor(rmdir): use clap instead of getopts
2020-10-26 09:53:55 +01:00
Sylvestre Ledru
17a99f8e53
refactor(printenv): use clap instead of getopts
2020-10-26 09:52:53 +01:00
Roy Ivy III
5837bc4fc9
Merge pull request #1610 from sylvestre/sort-clap
...
refactor(sort): move to use of 'clap'
2020-10-25 18:56:58 -05:00
Roy Ivy III
a9fb64abb4
Merge pull request #1612 from sylvestre/clap-seq
...
Move seq to use of 'clap'
2020-10-25 18:56:24 -05:00
Sylvestre Ledru
dc4eb79329
refactor/sort ~ changes based on PR feedback
...
- change `const`=>`static` and remove unneeded help/version (supplied by default by `clap`)
- update of the ABOUT description
- move to alphabetical order (where reasonable)
- rename OPT_FILES => ARG_FILES
- change the order of the declarations
2020-10-25 11:14:15 -05:00
Sylvestre Ledru
7fb5aaa108
only one file is allowed
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-10-25 17:07:32 +01:00
Sylvestre Ledru
bd339f142e
Improve the "about" description
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-10-25 17:07:17 +01:00
Sylvestre Ledru
58b0aeabee
refactor(sort): move to clap
2020-10-25 11:01:30 -05:00
Sylvestre Ledru
75e1c517a0
refactor/seq ~ changes based on PR feedback
...
- fix the ABOUT description
- rename OPT_NUMBERS => ARG_NUMBERS
- improve the get_usage of seq
- rename seq => incremetal
- `cargo fmt`
2020-10-25 10:58:14 -05:00
Sylvestre Ledru
e06aaace59
refactor/readline ~ changes based on PR feedback
...
- add a trailing "." to ABOUT for consistency
- rename OPT_FILES => ARG_FILES
- move to alphabetical order for OPTIONs (where reasonable)
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-10-25 10:54:24 -05:00
Sylvestre Ledru
733fe925ad
refactor(readlink): move to clap
2020-10-25 10:53:09 -05:00
Sylvestre Ledru
dfb922f66e
refactor(seq): use clap instead of doing arg mgmt by hand
2020-10-25 10:46:38 -05:00
Roy Ivy III
58d7d89e07
Merge pull request #1617 from sylvestre/clippy-fix
...
Fix some clippy warnings
2020-10-25 10:35:35 -05:00
Sylvestre Ledru
a12509f32e
Fix some clippy warnings
2020-10-25 15:50:51 +01:00
Sylvestre Ledru
4804e52c97
refactor(users): move to clap and simplify the code a bit
2020-10-25 15:29:02 +01:00
Sylvestre Ledru
7c3dccb981
remove the useless format
2020-10-25 12:28:27 +01:00
Sylvestre Ledru
0d4e36d5cd
reorder the args
2020-10-25 12:27:04 +01:00
Sylvestre Ledru
b72972e0b2
Rename OPT_FILES => ARG_FILES
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-10-25 12:22:07 +01:00
Sylvestre Ledru
8ad2fd3534
refactor(truncate): Move to clap
2020-10-23 00:40:46 +02:00
Kevin Burke
7fc1b16115
sort: fix panic on write to closed pipe
...
If the output of sort is piped to another program that closes the file
descriptor, sort currently panics. The GNU coreutils is able to handle
this case.
Replacing panic with crash_if_err reports the closed pipe and exits
with a return code, which seems like the correct behavior. Tested on
my Mac and the panic disappears.
Add a test which pipes data to sort - it won't protect against this
specific regression, but it increases the test coverage, at least.
Fixes #1608 .
2020-10-21 16:55:10 -07:00
Roy Ivy III
92075c7d14
refactor/polish ~ (factor) fix cargo clippy
complaint (unused_imports)
2020-10-16 20:25:49 -05:00
Sylvestre Ledru
fba62f39c6
Merge pull request #1603 from rivy/fix.warnings
...
Fix `cargo clippy` warnings
2020-10-12 09:23:15 +02:00
Roy Ivy III
77a04546f0
fix/printf ~ use calculated VERSION
2020-10-11 17:39:50 -05:00
Wisha Wa
b387565ba3
ptx: remove unneeded regex and reduce repetitive regex compilations
2020-10-12 01:59:06 +07:00
Wisha Wa
351d1fc068
ptx: improve performance by removing N^2 routine.
2020-10-12 01:27:35 +07:00
Roy Ivy III
46f30f3836
refactor/polish ~ fix cargo clippy
complaint (stable_sort_primitive)
2020-10-10 20:35:35 -05:00
Roy Ivy III
10b6926ccc
refactor/polish ~ fix cargo clippy
complaint (allow match_like_matches_macro)
2020-10-10 20:35:35 -05:00