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
Steve Smith
6179b89bcc
Add conversion of UID to username for ls
2016-06-04 14:50:52 +01:00
Knight
fd652bc285
stat: TODO: more tests
2016-06-04 13:33:08 +08:00
kwantam
e2cb5eec0a
fix fmt's behavior for blank prefixed lines
2016-06-01 18:19:53 -04:00
Knight
e125118510
stat: find mount point
2016-06-01 14:47:37 +08:00
Knight
de4a95accb
stat: almost done
...
TODO:
* print escaped char
* find mount point
* more test cases
2016-06-01 09:52:55 +08:00
Knight
03ce99b455
stat: fsext.rs: remove useless brackets
2016-06-01 01:24:13 +08:00
Mariano Casco
79d281394f
tail: -f option on stdin
...
The follow() function takes slices instead of the actual vectors, and in
the case of unbounded_tail the single bufReader is on stdin.
2016-05-31 12:37:03 -03:00
Mariano Casco
fafab00cd8
tail: remove extra println
2016-05-31 10:52:53 -03:00
Knight
676f00fea3
stat: add main.rs
2016-05-31 13:27:45 +08:00
Knight
0926cd43ac
stat: add fsext.rs
...
Mainly includes the pretty-* functions, turning the file types, file system types and
time into human-readable form.
2016-05-31 13:22:19 +08:00
Knight
3202c18c54
stat: add Cargo.toml
2016-05-31 13:21:55 +08:00
Mariano Casco
f9627e02d0
tail: print empty line between headers
2016-05-30 17:33:16 -03:00
Mariano Casco
440fb867bc
tail: no headers when following a single file
...
Headers should only be printed when following more than one file. This
commit makes the test_follow() test pass again.
2016-05-30 16:43:14 -03:00
Mariano Casco
8866e05e98
tail: print headers when following multiple files
...
Before each line of content is printed, check if it's from a different
file than the last one we printed for. If so, print a '==> file <=='
header to separate the output in the way tail does.
2016-05-30 16:12:00 -03:00
Mariano Casco
966bfde70f
tail: follow multiple files
...
If multiple files are passed as arguments with the -f option, a vector
of BufReaders is built as the files are first tailed, so that follow()
can take control for the rest of the time the program is running.
follow() loops over each reader and prints all new available content on
each file before moving on to the next.
2016-05-30 16:11:49 -03:00
Mariano Casco
2132889940
tail: don't follow() as part of bounded_tail
...
To get the -f option to follow multiple files, bounded_tail should just
tail a single file and return, instead of blocking processing of other
files by calling follow() (which loops forever).
2016-05-30 16:11:32 -03:00
Tshepang Lekhonkhobe
1476446ddf
remove compiler warnings
2016-05-24 22:30:48 +02:00
Nathan Ross
e827e80a9f
cksum: resolve msvc unsafe issue
...
Fixes #886
2016-05-23 22:06:37 -04:00
Heather
145f2efe89
Merge pull request #885 from jbcrail/refactor-tests
...
Refactor and fix tests
2016-05-23 09:35:34 +04:00
Christopher Ian Stern
e909e665f0
od: take more format options, respect their order.
2016-05-22 15:46:20 -05:00
Joseph Crail
af6c88f676
mktemp: fix whitespace
2016-05-22 16:41:36 -04:00
Joseph Crail
b132f65126
mktemp: build standalone executable
2016-05-22 16:41:36 -04:00
Joseph Crail
b50fc88ead
mktemp: use tempfile crate from crates.io
2016-05-22 16:41:36 -04:00
Heather
bdc1ca7426
Merge pull request #882 from jbcrail/fix-windows-build
...
Improve Windows build
2016-05-22 16:02:03 +04:00
ibabushkin
d504ae18c9
pathchk implemented (see #841 ) ( #860 )
...
* Added pathchk
2016-05-22 15:59:57 +04:00
Joseph Crail
d4994233c7
whoami: remove unused import
2016-05-22 04:39:02 -04:00
Heather
583ed341a7
Merge pull request #880 from knight42/fix
...
Fix #879
2016-05-21 18:08:35 +04:00
Knight
a196bebd1b
uucore: add disp_err macro
2016-05-21 18:19:13 +08:00
Knight
aac1d40f64
dircolors: bypass the missing SHELL on windows
2016-05-21 18:18:40 +08:00
Joseph Crail
cd89a6e5c7
tr: update vec_map to 0.6.0
...
Fixes #865
2016-05-14 22:56:24 -04:00
Heather
ca78706246
Merge pull request #875 from knight42/dircolors
...
Implement dircolors
2016-05-10 22:18:40 +04:00
Knight
ad9bfcef5b
dircolors: implemented
...
TODO: More test case
2016-05-11 00:43:51 +08:00
Knight
c9f363d09c
Add dircolors
2016-05-11 00:43:51 +08:00
Knight
6592e0308c
mknod: use libc@0.2.4 to avoid unresolved name
2016-05-08 16:24:11 +08:00
Knight
78f9351e71
mknod: correct the help
2016-05-07 16:12:01 +08:00
Knight
467561da36
mknod: implemented
2016-05-07 15:21:37 +08:00
Knight
79478626da
add mknod
2016-05-07 15:21:37 +08:00
Heather
1fafde8c27
Merge pull request #845 from peschkaj/master
...
Basic implementation of ls
2016-05-01 00:56:11 +04:00
Heather
f47fafb28d
Merge pull request #830 from lucaotta/fix-788
...
Fix #788
2016-05-01 00:41:15 +04:00
Heather
57693af48d
Merge pull request #871 from modelorganism/odupdate
...
add functionality to od
2016-05-01 00:34:24 +04:00
modelorganism
3f356a4190
od: take input from stdin, as well as files.
2016-04-26 23:17:00 -05:00
modelorganism
e6cf167d1d
od: Accept multiple files names as input
2016-04-25 21:55:34 -05:00
modelorganism
1fbda9663d
Add extra spaces to output to match formating of origial od
2016-04-25 21:47:24 -05:00
Mike Swanson
c946202094
hashsum: add support for SHA-3 functions
...
Only the fixed output-size functions are supported, SHAKE128 and
SHAKE256 are not included for now.
2016-04-16 06:17:15 -07:00
Michael Gehring
77d1c309cd
od: fix infinite loop at EOF
...
Fixes #866
2016-04-15 07:41:03 +02:00
Nick Fitzgerald
3972c6eb53
tail: Clean up and test suffix multiplier
...
Makes `parse_size` return a `Result` where the `Err` part indicates whether
there was a parsing error, or the parse size is too big to store. Also makes the
value parsed a `u64` rather than a `usize`.
Adds unit tests for `parse_size` and integration tests using the suffix
multiplier in a number passed with the `-n` flag.
2016-04-02 14:16:11 -07:00
Valentin Lorentz
2fd7164cda
tail: Implement tail -z
.
...
This options makes tail use NULL instead of newline as a line
delimiter.
2016-04-02 12:32:33 +02:00
Luca Ottaviano
6ded76714b
chmod: remove unused dependencies
2016-04-02 10:29:57 +02:00
Luca Ottaviano
2686ea75d7
chmod: handle -octal and -[rwx]
...
The main issue is that -octal or -[rwx] is interpreted as an option by
getopts.
Search the args for such a pattern, remove it before parsing and
manually handle it afterwards.
Fixes #788 .
2016-04-02 10:29:57 +02:00
Nick Fitzgerald
2b2c2b64c2
tail: When tailing a file in bytes mode, seek directly to the specified byte
...
When tailing a file, as opposed to stdin, and we are tailing bytes rather than
lines, we can seek the requested number of bytes from the end of the file. This
side steps the whole `backwards_thru_file` file loop and blocks of reads.
Fixes #833 .
2016-03-27 14:34:58 -07:00
Nick Fitzgerald
f851611001
tail: Pre-fill the buffer with zeroes
...
Rather than fill the buffer on every file read iteration, pre-fill it with
zeroes once at initialization time.
2016-03-27 14:34:58 -07:00
Jeremiah Peschka
e7458b6086
Fixing trailing semicolon in display_permissions
2016-03-25 18:43:43 -07:00
Jeremiah Peschka
539da3ba1a
Changed display_symlink_count to use the right variable name. Removed dead code.
2016-03-25 16:36:34 -07:00
Jeremiah Peschka
0bb0c40c36
Adding tests for ls. Corrected issue with ls on the present directory throwing panic!()
2016-03-25 14:25:52 -07:00
Jeremiah Peschka
825a850fa9
Wishing I could spell my own name.
2016-03-25 14:18:23 -07:00
Jeremiah Peschka
9716862cfe
Adding skeleton of ls
2016-03-25 14:00:27 -07:00
Joseph Crail
491320747b
sort: remove explicit enum values
2016-03-25 16:55:58 -04:00
Joseph Crail
2cdccb10bb
sort: fix whitespace and spelling
2016-03-25 16:55:58 -04:00
Joseph Crail
cc63565051
sort: add month sort
2016-03-25 16:55:58 -04:00
Joseph Crail
678a3d1451
sort: fix flag for human numeric sort
2016-03-25 16:55:50 -04:00
Joseph Crail
6488f168fb
sort: refactor settings into dedicated struct
2016-03-25 16:51:39 -04:00
Andre Bogus
986c00cd91
fix two clippy warnings
2016-03-24 12:15:01 +01:00
Shiroy
c8ff895018
Add missing lib.name for uucore
...
Fix build on Linux
2016-03-23 08:44:09 +01:00
Alex Lyon
94b8f9fe37
Merge pull request #836 from jamwt/fix_sleep
...
Fix sleep duration calculations.
2016-03-22 18:00:18 -07:00
Florian Gilcher
0be3e61d9f
Avoid using char() in tr
2016-03-22 22:03:06 +01:00
Florian Gilcher
2befeef179
Remove use of str_char in fmt
2016-03-22 21:57:52 +01:00
Jamie Turner
7d89717d4b
Fix sleep duration calculations.
...
Durations longer than ~4s were overflowing u32 and just.. not working.
2016-03-22 13:00:01 -07:00
Florian Gilcher
509d6efc78
Remove rustc_unicode dependency
2016-03-22 19:56:14 +01:00
Nick Fitzgerald
56d16ca7e7
tail: Optimize tail for bounded searches in files
...
When tail'ing a file, we do not need to read the whole file from start to finish
just to find the last n lines or bytes. Instead, we can seek to the end of the
file, and then read the file "backwards" in chunks until we find the location of
the first line/byte we wish to print. This ends up being a nice performance win
for very large files.
Fixes #764
2016-03-21 07:51:38 -07:00
Nick Fitzgerald
977742f209
tail: Take ownership of the provided BufReader<T>
...
The `BufReader` argument passed to the `fn tail<T: Read>(&mut BufReader<T>,
settings: &settings)` function is never reused, so the `tail` function should
just take ownership of it.
2016-03-21 07:51:32 -07:00
Luca Ottaviano
5dc0a55630
chmod: fix reference option
...
Reference option must have a file path.
Fix C interface using CString.
Better error message if the file doesn't exist.
2016-03-10 20:34:49 +01:00
Heather
8d278913c2
Merge pull request #825 from nathanross/dirname-fix-impl
...
Dirname: fix windows' failing test for absolute-path behavior (approach 2/2: platform-independent behavior)
2016-03-01 11:55:54 +04:00
Chirag B. Jadwani
d674a3bb63
uniq: minor refactoring in skip_fields
2016-02-29 11:16:58 +05:30
Chirag B. Jadwani
fc5b798ff1
uniq: fix skip & check characters logic
2016-02-29 11:10:38 +05:30
Andrew Eikum
d25ab4adc1
sort: Implement -o switch
2016-02-21 13:32:42 -06:00
Nathan Ross
3e6ac628bc
link: normalize file-not-found error message across platforms
2016-02-20 17:32:15 -05:00
Nathan Ross
51d7227aeb
dirname: in impl, make behavior for '/' fs root agnostic of host platform
2016-02-19 20:10:41 -05:00
Nathan Ross
a4e1372451
cat: squeeze blank keeps up to one blank line
2016-02-16 18:52:51 -05:00
Nathan Ross
c8dcdf7d25
basename: too few or many args messages go to stderr
2016-02-15 20:44:50 -05:00
Nathan Ross
5f88dfe12b
printf: rustfmt pass
2016-02-15 00:48:08 -05:00
Nathan Ross
9242ba1db6
printf: scaffolding for C99 hex float
2016-02-15 00:17:11 -05:00
Nathan Ross
0892ad3cde
printf: add (spare C99 hex floats)
2016-02-15 00:10:30 -05:00
Joseph Crail
53c60e2990
Fix type mismatch error.
2016-01-22 22:02:10 -05:00
Arcterus
0d3cc86936
uucore: don't follow symlinks when examining them ( fixes #799 )
2016-01-10 03:39:31 -08:00
Arcterus
d9ad0b185a
tests: fix tests that were failing on OS X
2016-01-10 00:09:05 -08:00
Heather
27c77db122
Merge pull request #795 from ebfe/ptx-stable
...
ptx: fix build on stable
2016-01-06 19:56:14 +04:00
Michael Gehring
26280d9083
expand, unexpand: fix build on stable
2016-01-06 16:35:33 +01:00
Michael Gehring
9cd7d03eff
ptx: fix build on stable
2016-01-06 16:20:59 +01:00
Alex Lyon
027e02db8b
Merge pull request #793 from ebfe/clippy
...
Fix clippy warnings
2016-01-06 00:56:07 -08:00
Michael Gehring
a2944e06db
Fix clippy warnings
2016-01-06 09:36:20 +01:00
Arcterus
bc40f93f7e
chmod: implement --verbose, --changes, and --quiet
2016-01-05 14:08:24 -08:00
Arcterus
ee669ab55b
chmod: rewrite mode parser
2016-01-04 20:00:34 -08:00
Michael Gehring
73cd23ca71
Merge pull request #781 from KeenS/mktemp
...
Mktemp
2016-01-04 18:40:08 +01:00
Arcterus
96817dfbc5
Fix #784
2016-01-03 23:15:19 -08:00
Sunrin SHIMURA (keen)
e733ffb936
[mktemp] allow empty argument
2016-01-03 22:40:21 +09:00
Sunrin SHIMURA (keen)
a09abc63a0
[mktemp] remove old comment
2016-01-03 19:13:01 +09:00
Sunrin SHIMURA (keen)
58d1d66d16
[mktemp] implement mktemp
2016-01-03 19:10:47 +09:00
Fort
cf1204b2b3
Fix copyright line
2015-12-31 08:56:11 -08:00
Fort
649aa2693d
pattern name generating function handles random as well
2015-12-30 13:53:59 -08:00
Fort
67698a9f2e
Creating pattern string works correctly now
2015-12-30 13:30:20 -08:00
Fort
4a42b981f9
Open file once for all passes, seek back to start between passes. Do not use File::create, because it truncates existing files
2015-12-30 11:27:59 -08:00
Fort
04d2134856
Skip creating a new File object when getting file size
2015-12-30 10:06:24 -08:00