Commit graph

69 commits

Author SHA1 Message Date
Alex Lyon
8a7442d257
Merge pull request #1312 from E5ten/patch-3
Remove unused nlink
2019-02-07 00:08:46 -08:00
Alex Lyon
5a17daa963
Merge pull request #1281 from rivy/alt/win-cli-globbing
Add command line globbing to all utilities (for windows targets)
2019-02-06 23:21:53 -08:00
E5ten
cc8899cb5b
Remove unused nlink
Now that --apparent-size does not use stat.nlink * stat.size, nlink is not used anywhere in du and can be removed from what I can see.
2018-10-30 10:49:08 -04:00
E5ten
13e57616b4
Fix --apparent-size on ext4 and MacOS
All credit goes to @JJJollyjim in this PR https://github.com/uutils/coreutils/pull/1294, but that PR needs to be rebased over master to be mergeable and hasn't been after multiple weeks.
2018-10-29 09:29:48 -04:00
Roy Ivy III
a66f7a7a53 fix: remove deprecated 'std::ascii::AsciiExt' 2018-10-14 00:41:14 -05:00
E5ten
9ff5d4f1f9
Update du.rs
Remove extra parentheses around 1
2018-10-09 21:35:13 -04:00
E5ten
4a0f3b31ab
Fix -b flag
Fixes #1295 , making -b act like `du --block-size=1 --apparent-size`, the reason it uses `stat.size` instead of `stat.nlink * stat.size` is explained in #1292 and the fix for that issue #1294 is mirrored by the use of `stat.size` here.
2018-09-30 22:24:01 -04:00
Vinzent Steinberg
4034a322a2 Fix a few clippy warnings 2018-09-03 19:08:23 +02:00
dependabot[bot]
4a4877264c
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>
2018-06-14 07:22:03 +00:00
Alex Lyon
b50aaf6456
du: pick format for convert_size() once and reverse UNITS (again) 2018-04-20 03:56:47 -07:00
Alex Lyon
da301be35c
du: capitalize input block size (e.g. turn 'kB' into 'KB') 2018-04-20 01:26:29 -07:00
Alex Lyon
b619e363db
du: clean up block size parsing code 2018-04-20 00:54:49 -07:00
bootandy
f1497e43ce du: read block size environment variables
blocksize env variables are read if -B is not specified as a command
line argument.
blocksize is now case insensitive (like gdu).

fn translate_to_pure_number() pulled out from existing code which
populated the block size variable
2018-04-06 21:30:59 +01:00
Alex Lyon
8db47690b2
Merge pull request #1171 from bootandy/du_h
du -h: support GB
2018-04-05 15:41:33 -07:00
bootandy
0840c20ef4 du: support G T P E on -h
Allow -h (human readable form) to show sizes larger than MB
(This mimics original du behaviour)

Code refactored to remove duplication
2018-04-03 06:58:38 -04:00
bootandy
838ce7b3e3 Fix issues raised in review
spelling
use POSIXLY_CORRECT and BLOCKSIZE env variables to determine block size.
move statics to const
use show_error! not show_info!
2018-03-24 18:03:34 -04:00
bootandy
b6c7771087 du: Fix double counting of hard links.
hard linked files are no longer counted - this mimcs the behaviour of
the original du.
2018-03-20 16:59:29 -04:00
bootandy
e253406026 du: Fix incorrect block size assumption.
du and other tools like stat assume a 512 byte block. ls is the only
tool to use 1024.

Add Simple set of tests
2018-03-20 16:59:29 -04:00
bootandy
8f67c8fef2 du: refactor to use ? shortcut 2018-03-15 14:58:21 -04:00
bootandy
be79a70572 Refactor Stat::new to return Result
This was to remove the double call to fs::symlink_metadata
2018-03-14 16:26:22 -04:00
bootandy
f0e25e5537 Fix edgecase for du on mac
When du encounters a file that cannot be read it logs an error and
continues to analysise the rest of the directory. This behaviour brings
it inline with the original du.
2018-03-13 16:05:34 -04:00
Alex Lyon
880a4973c1 Format everything using rustfmt 2018-03-12 01:20:58 -07:00
Alex Lyon
e2e77f8c70
du: only use snake case 2017-12-10 10:03:14 -08:00
Alex Lyon
2efd2b38be
du: remove inefficient multi-threading 2017-12-10 09:52:22 -08:00
Alex Lyon
75f11e9635
Handle SIGPIPE correctly and autogenerate main() for each util 2017-12-08 15:05:07 -08:00
Joshua Miller
e8073d2596 pin dependencies 2017-07-15 15:16:09 -05:00
Lei Zhang
a2071c258e Remove unnecessary dependencies on libc in various utilities. 2016-11-24 11:17:36 -05:00
Nathan Ross
36503a77c7 impl: use coreopts for brevity and consistent UX 2016-08-20 10:07:24 -04:00
Michael Gehring
a2944e06db Fix clippy warnings 2016-01-06 09:36:20 +01:00
Michael Gehring
74a5869d21 du: fix default symlink handling
Fixes #776
2015-12-26 18:36:36 +01:00
Joseph Crail
b90d253584 Refactor and simplify build for utilities.
For coreutils, there are two build artifacts:

  1. multicall executable (each utility is a separate static library)
  2. individual utilities (still separate library with main wrapper)

To avoid namespace collision, each utility crate is defined as
"uu_{CMD}". The end user only sees the original utility name. This
simplifies build.rs.

Also, the thin wrapper for the main() function is no longer contained in
the crate. It has been separated into a dedicated file. This was
necessary to work around Cargo's need for the crate name attribute to
match the name in the respective Cargo.toml.
2015-12-07 21:56:45 -05:00
Michael Gehring
ca16e66a55 switch to cargo version numbers 2015-11-25 10:58:49 +01:00
Joseph Crail
ca1074201f 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.
2015-11-24 22:20:27 -05:00
Nathan Ross
502957dc3e use cargo idioms to manage dependency resolution and compilation 2015-11-23 02:04:15 -05:00
Carlos Liam
87d14978e9 Clean whitespace
Remove leading newlines and replace lines containing only whitespace
with empty lines
2015-10-06 12:04:46 -04:00
Michael Gehring
9d8abbcb06 Basic Cargo build
Builds the uutils multicall binary containing all utils (except stdbuf)
by default. To only build a subset
    `cargo --no-default-features --features <utils>`
can be used.

Whats missing is building the standalone binaries and a mechanism to
automatically disable the build of unix only utils on windows.
2015-08-28 21:12:30 +02:00
Sam Gibson
c06b8218f7 Fix build by making du not use futures
Use channels and push them into a vector instead. Code remains largely the same.
2015-08-24 18:57:09 +12:00
Joseph Crail
047d963a26 Remove unused feature attribute. 2015-07-31 16:21:06 -04:00
Peter Atashian
47f82f0de2 Various Windows fixes
Improve handling of unicode on Windows
Disable a few crates on Windows that abuse unix APIs too much

Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-07-19 20:25:48 -04:00
Joseph Crail
690a483a8a Update to nightly build.
I updated the library dependencies, features, and deprecated methods.
2015-06-23 23:00:00 -04:00
Joseph Crail
28e00cbd78 Standardize display of utility name and version. 2015-05-25 14:50:15 -04:00
Joseph Crail
496d5883a4 Switch to external getopts cargo (part 3).
I switched over to the getopts crate on crates.io, instead of Rust's
private implementation. This will allow coreutils to build for Rust 1.0.

I'm splitting the updates into several commits for easier reviewing.
2015-05-21 21:32:55 -04:00
Joseph Crail
349622a05b Fix du.
In addition to upgrading the nightly build, I flattened the Stat struct
to embed the metadata fields. This simplified access to the values, but
needed a constructor method for ergonomic reasons.
2015-05-14 18:35:55 -04:00
kwantam
d4f39e1638 dependency builds use Cargo
With this change, individual submodules can specify their dependencies with
an additional file called "deps.mk" in the subdir. When building, only
the dependencies that are necessary are built, using cargo, and then linked.

This greatly simplifies adding new dependencies: add the package in
deps/Cargo.toml, and add the appropriate line in "deps.mk" in the
src/utilname/ directory, and the dependency will be built automatically
as needed.

This also removes the need to use git submodules.
2015-04-25 22:18:03 -04:00
Michael Gehring
bce3382fd2 Closure syntax 2015-03-08 19:06:04 +01:00
Michael Gehring
9ae9a48387 feature io -> old_io, path -> old_path 2015-02-22 13:59:12 +01:00
Michael Gehring
e7b647171f os::set_exit_status(isize) -> env::set_exit_status(i32) 2015-02-22 13:59:12 +01:00
Michael Gehring
d3ff46d0c7 Drop deprecated 'libc' feature flag 2015-02-06 14:10:07 +01:00
Michael Gehring
5e70473a2b std::path -> std::old_path 2015-02-06 13:45:45 +01:00
Michael Gehring
3eb5a814a3 Fix most unstable feature warnings 2015-02-03 23:54:37 +01:00