Commit graph

62 commits

Author SHA1 Message Date
Alex Lyon
bd557c87fb uucore: make features opt-in rather than opt-out 2018-03-12 20:21:38 -07:00
Alex Lyon
880a4973c1 Format everything using rustfmt 2018-03-12 01:20:58 -07:00
Alex Lyon
8ba5fae6e3 cp, tail: update winapi 2018-03-04 18:38:33 -08:00
king6cong
e3fedddd17 remove nightly complier warnings 2018-02-09 19:49:57 +08:00
Alex Lyon
feaae12d0a
cp: lock winapi to 0.2 for now 2017-12-29 03:31:13 -08:00
Alex Lyon
7aea948473
Remove pipe_* macros 2017-12-10 20:57:39 -08:00
Alex Lyon
9316fb4603
Merge pull request #1095 from ids1024/travis-redox2
Add cross build targeting Redox to Travis CI
2017-12-09 19:12:06 -08:00
Ian Douglas Scott
75141f0382
Fix cp build on Redox 2017-12-08 21:04:02 -08:00
Alex Lyon
75f11e9635
Handle SIGPIPE correctly and autogenerate main() for each util 2017-12-08 15:05:07 -08:00
Sergei Mironenko
d8c75e5ae4 make cp print custom usage only once 2017-10-25 19:40:02 +03:00
shutefan
4a96b56d60 cp: keep --preserve related code but ignore "unused" warnings 2017-10-06 21:54:00 +02:00
shutefan
82d6d24a97 cp: cast st_ino and st_nlink to u64 2017-10-05 20:34:08 +02:00
shutefan
83d25c0c70 cp: cast nNumberOfLinks to u64 2017-10-04 23:17:11 +02:00
shutefan
c20ce9bf74 cp: fix compiler warnings
Fixes seven compiler warnings in cp.rs:
- unused imports: `c_char`, `c_int`
  -> removed
- value assigned to `inode` is never read
  -> no more default value, immutable
- value assigned to `nlinks` is never read
  -> no more default value, immutable
- unused variable: `src_path`
  -> removed
- unused `std::result::Result` which must be used
  -> only in error on unsupported platforms (Windows) which is
     already handled with #[cfg(unix)]
- variable `preserve_context` is assigned to, but never used
  -> removed
- value assigned to `preserve_context` is never read
  -> see above, remove
2017-10-04 21:43:06 +02:00
Matt8898
e33de238ca cp: add support for --preserve=all. 2017-09-13 16:21:33 +02:00
Matteo Semenzato
6476f6e616 cp: add support for preserving links on windows. 2017-08-23 15:20:23 +02:00
Matt8898
f7072b7dfe cp: add support for preserving links on unix. 2017-08-19 13:43:37 +02:00
Matt8898
4cb727f80b cp: Add support for preserving xattrs. 2017-08-19 13:42:44 +02:00
Matt8898
6d3e9eabe4 cp: add support for --preserve. 2017-08-19 13:42:44 +02:00
Matt8898
38dd8c5836 cp: use filetime to set timestamps. 2017-08-19 13:42:44 +02:00
Matt8898
03432db951 Added support for preserving timestamps. 2017-08-19 13:42:44 +02:00
Matt8898
48ae9b64ba cp: add support for --attributes-only. 2017-08-19 13:42:44 +02:00
Ian Douglas Scott
13d97ee1cc
Correct behavior of cp -r with non-existent dest 2017-08-09 15:35:13 -07:00
Matt8898
a73c74ecbc cp: add support for --reflink. 2017-07-28 10:42:21 +02:00
Matt8898
32bd2843d5 cp: add support for --update 2017-07-22 12:03:26 +02:00
Joshua Miller
7dafb649d5 implement many copy flags
- Refactored towards extensibility
2017-07-16 19:20:07 -05:00
Joshua Miller
e8073d2596 pin dependencies 2017-07-15 15:16:09 -05:00
Matt8898
f4ea1a9cc5 cp: added -r/--recursive flag 2017-06-02 13:19:33 +02:00
Jeremy Neptune
a3004fbbff
cp: added -v/--verbose flag
I forgot that -v refers to "verbose" and not "version"
when making earlier changes. So I fixed that and for
good measure added the verbose flag anyway.
2016-07-15 14:41:50 -04:00
Jeremy Neptune
cc57ce7699
cp: added -T/--no-target-directory flag 2016-07-15 14:08:04 -04:00
Jeremy Neptune
5e03b7c75d
cp: Added -t flag, and fixed path bug for source files.
* Added flag -t/--target-directory
* No longer assumes that the source arguments are files in the CWD (in other words, can copy files from directories other than CWD)
2016-07-15 13:15:05 -04:00
Michael Gehring
a2944e06db Fix clippy warnings 2016-01-06 09:36:20 +01:00
Joseph Crail
8fa09b2004 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.
2015-12-10 14:20:01 -05: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
Joseph Crail
b089831ea0 Switch over to internal canonicalize().
The method, fs::canonicalize(), is unstable and can't be used for stable
builds. We already have our own implementation of canonicalize(), which
supports more options than the Rust library implementation.
2015-07-31 18:55:33 -04:00
Joseph Crail
6ff576e300 Use non-PathExt canonicalize(). 2015-07-31 16:21:06 -04:00
Joseph Crail
f03b22a65c Stabilize several PathExt methods. 2015-07-31 16:21:06 -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
c31ad75226 Fix cp.
I used the new File/Path libraries. The canonicalize method made much of
paths_refer_to_same_file() redundant.
2015-05-05 19:42:38 -04: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
3eb5a814a3 Fix most unstable feature warnings 2015-02-03 23:54:37 +01:00
Michael Gehring
d187dc574b std::io -> std::old_io 2015-01-29 08:45:37 +01:00
Michael Gehring
fbdf04c072 Replace deprecated slice_{to,from} with slicing syntax 2015-01-24 10:46:28 +01:00
Michael Gehring
cb1dd390bb base64, cp: fix build 2015-01-24 03:56:37 +01:00