Commit graph

602 commits

Author SHA1 Message Date
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
Ben Eills
28d1de1de0 Fix type synonym relaiance which breaks some rusts 2016-07-13 15:51:41 +02:00
Ben Eills
fa2145bb84 Allow specification of mode strings for install
We now accept symbolic and numeric mode strings using the
--mode or -m option for install.  This is used either when
moving files into a directory, or when creating component
directories with the -d option.  This feature was designed
to mirror the GNU implementation, including the possibly
quirky behaviour of `install --mode=u+wx file dir`
resulting in dir/file having exactly permissions 0300.

Extensive integration tests are included.

This chnage required a higher libc dependency.
2016-07-13 15:29:24 +02:00
Ben Eills
b15fff6269 Implement creation of component directories (-d option)
Tested in two integration test:

 - One creating three component directories
 - One trying to create an already existing directory
2016-07-13 12:56:30 +02:00
Ben Eills
823ffbd1dd Copy rather than move files
Test this with one integration test.  Also document functions
and add an '(unimplemented)' marker to some arguments in help.
2016-07-13 12:27:11 +02:00
Ben Eills
a5d97323db Test for unimplemented command line arguments
We check if the user has given one of the (many)
not yet implemented command line arguments.  Upon
catching this, we display the specific transgressor
to stderr and exit with return code 2.

This behaviour is tested in one new integration test.
2016-07-13 10:37:08 +02:00
Ben Eills
8a5719561d Implement basic installation of file to directory
Bare minimum functionality of `install file dir` implemented.
Also added TODO markers in code for outstanding parameters
and split main function into smaller logical chunks.
2016-07-12 22:58:44 +02:00
Ben Eills
e72ec4a5bb Implement skeleton install utility
Add install utility skeleton source, based on
mv, including the getopts setup mirroring
GNU's `man install` documentation.  Also
add a single test and build system code.
2016-07-12 20:56:21 +02:00
mpkh
61cf4e4fba Merge pull request #906 from knight42/chown
Implement chown
2016-07-10 19:01:03 +04:00
Knight
197e7787a8 chown: follow symlinks correctly 2016-07-10 21:32:07 +08:00
Smigle00
35fec95d60 arch: add new utility
Signed-off-by: Smigle00 <smigle00@gmail.com>
2016-07-10 00:48:10 +05:30
Knight
7e4a708e7c chown: refactor 2016-07-04 22:50:22 +08:00
Knight
d4b2766c4b chown: Add crate walkdir 2016-06-27 23:22:13 +08:00
Knight
04d7f81fd3 chown: Almost done
TODO:
* [ ] Describe changes according to verbosity
* [ ] More tests
* [ ] Clean up the code
2016-06-22 21:40:31 +08:00
Knight
59ed78209a chown: Add mod passwd 2016-06-22 21:39:01 +08:00
Knight
123175d577 chown: Add main.rs 2016-06-22 21:37:40 +08:00
Knight
69beb787d1 chown: Add entries 2016-06-22 21:36:50 +08:00
Knight
7423c5e644 chmod: fix #831 2016-06-19 22:52:56 +08:00
Neel Kowdley
519c1caa23 add verbose flag to tail 2016-06-18 14:44:05 -04:00
Heather
3a3fbc2840 Merge pull request #901 from knight42/mktemp-dir
Improve mktemp
2016-06-18 18:16:22 +04:00
Knight
bb3536bf14 mktemp: respect quiet option 2016-06-18 17:54:52 +08:00
Knight
c53fa53c75 mktemp: rustfmt 2016-06-18 17:54:52 +08:00
Knight
c6897da7f0 mktemp: make temp dir 2016-06-18 17:54:52 +08:00
Heather
2c65aad3cf Merge pull request #900 from knight42/reorganize-tests
Reorganize tests
2016-06-17 19:45:50 +04:00
Knight
5dba86dfa2 dircolors: extract shell name from $SHELL properly 2016-06-17 21:54:44 +08:00
Knight
2758455d73 stat: fix unstable library 2016-06-17 18:30:08 +08:00
Knight
13d06ff800 dircolors: reorganize tests 2016-06-17 16:17:22 +08:00
Knight
02dc461cf8 stat: implement ' format directive & add tests 2016-06-17 16:15:50 +08:00
Knight
d46a02b586 mknod: remove repeated macro 2016-06-17 13:27:19 +08:00
Tshepang Lekhonkhobe
80432e2b94 comm: remove unused import 2016-06-15 19:42:05 +02:00
palaviv
3fd8136423 sort: Support check 2016-06-14 22:21:30 +03:00
palaviv
3bc5a5f769 sort: support multiple input files 2016-06-14 21:25:29 +03:00
palaviv
87455f998a sort: Version sort support 2016-06-14 20:33:09 +03:00
palaviv
d4ffbe0526 sort: unique option support 2016-06-11 15:46:41 +03:00
Heather
e87407f598 Merge pull request #896 from knight42/ls-patch
Improve `ls` implementation
2016-06-08 07:52:18 +04:00
Knight
537ed734af ls: display the correct permissions 2016-06-07 21:10:00 +08:00
Heather
461a4e72b0 Merge pull request #893 from knight42/stat
Implement stat
2016-06-07 16:35:01 +04:00
Knight
ca6831ef91 ls: fix target_family 2016-06-07 20:11:40 +08:00
Knight
0394d5398d ls: rustfmt the code 2016-06-07 20:07:15 +08:00
Steve Smith
7a3ba3242a Need to make the use Linux-only too. 2016-06-05 11:45:44 +01:00
Steve Smith
1606770a3e getpwuid is linux platform only currently. 2016-06-05 11:07:28 +01:00
Knight
5a0dd67003 stat: make ci happy
1. force ci to use libc@0.2
2. dont use unstable api Metadata::created
3. change quote style
4. pass metadata.mode() as mode_t
2016-06-05 13:21:41 +08:00
Knight
ad3c984afd stat: get rid of crate users 2016-06-05 11:38:56 +08:00
Knight
580667295c stat: use struct libc::statfs now 2016-06-05 11:38:56 +08:00
Knight
48968f3d8a stat: Add tests 2016-06-05 11:38:56 +08:00
Steve Smith
8161bb7fe1 Flag uname/group functions as unix-specific and add NO-OP Windows versions. 2016-06-04 15:30:39 +01:00
Steve Smith
ce7f23bcc4 Fill in group name for ls 2016-06-04 15:14:59 +01:00
Steve Smith
04522760f1 Break cstring->String conversion out into function 2016-06-04 15:12:40 +01:00