Michael Greenberg
5a0100bfb1
change default behavior to modify newlines; update readme
2021-06-24 11:05:57 -04:00
Michael Greenberg
a02d674ae5
always autounmount
2021-06-24 10:15:40 -04:00
Michael Greenberg
4aff907523
Better mount control (issue #12 ; pr #24 )
...
Mountpoints are typically inferred/generated from filenames with a -m/--mount flag for when reading from STDIN or to manually specify a mountpoint.
2021-06-24 07:06:38 -07:00
Michael Greenberg
4639d31cc6
Implement setattr
( #22 )
...
The `setattr` interface implements `chmod`, `chown`, `truncate`, and some timing related things (for, e.g., `touch`).
It's not clear I've covered _every_ base, but it certainly seems to allow for common use cases in bash without any error messages.
Comes with some nice refactors (metadata on each `Inode`, `FS::attr` is now `Inode::attr`, which simplifies some weird code that made the only the borrow checker happy---nobody else).
2021-06-23 17:36:12 -07:00
Michael Greenberg
2ec8fa6991
run tests in parallel, collect logs
2021-06-21 21:10:29 -04:00
Michael Greenberg
94917eda25
Yaml support ( #14 )
...
Adds support for YAML using [yaml_rust](https://crates.io/crates/yaml-rust ).
Some compromises due to YAML funniness: compound keys will be treated as their hashes.
2021-06-21 17:36:15 -07:00
Michael Greenberg
6b5be0e0d5
remove TODO that won't quite work
2021-06-20 21:37:56 -04:00
Michael Greenberg
b48efc266c
Support other formats. ( #11 )
...
Broad refactor of how things work, moving `json.rs` to `format.rs`.
Adds support for TOML, along with CLI stuff for setting formats (which are automatically inferred from filenames).
Adds support for binary data using base64 encodings.
2021-06-20 18:20:06 -07:00
Michael Greenberg
afb359c7ff
better testing of null values
2021-06-18 11:43:24 -04:00
Michael Greenberg
8345d510f4
better handling of newlines, tests
2021-06-17 20:50:43 -04:00
Michael Greenberg
66c6fbeb0b
formatting
2021-06-17 20:38:10 -04:00
Michael Greenberg
cb388da9e4
quiet flag, test for quiet/inplace
2021-06-17 20:30:23 -04:00
Michael Greenberg
4d956807f6
amateur hour
2021-06-17 20:22:22 -04:00
Michael Greenberg
40768161c9
better mode checking mkdir, eliminate spurious warning
2021-06-17 20:10:42 -04:00
Michael Greenberg
bcd260906d
cleaner output by default
2021-06-17 20:00:43 -04:00
Michael Greenberg
dac87cb602
Merge pull request #8 from mgree/linux-output
...
Use `Drop::drop` instead of `Filesystem::destroy` for output
Rejiggered the general layout of syncing. Now:
- sync really only happens in Drop::drop (but could happen elsewhere)
- sync takes a parameter to indicate if it's the last one (for Output::Stdout)
- if sync has happened before, sync only actually happens when the FS is dirty
2021-06-17 09:56:20 -07:00
Michael Greenberg
3c839e1e96
docs, cut dead code
2021-06-17 11:04:35 -04:00
Michael Greenberg
1ca333e2b6
improve sync logic
2021-06-17 10:55:26 -04:00
Michael Greenberg
9b36e65049
enforce single sync, for stdout issues
2021-06-17 10:40:30 -04:00
Michael Greenberg
1ae13c66f5
try running output test on linux, now that drop is getting called
2021-06-17 10:22:07 -04:00
Michael Greenberg
b085b76e0f
better sync logic, drop impl
2021-06-17 10:18:11 -04:00
Michael Greenberg
2c01cde015
nicer log output
2021-06-17 09:56:35 -04:00
Michael Greenberg
8035a50f30
only use fuser::ReplyXTimes on macOS
2021-06-16 20:49:12 -04:00
Michael Greenberg
c910624702
add instrument calls on all Filesystem APIs
2021-06-16 20:46:10 -04:00
Michael Greenberg
867cb6bc58
drop broken test
2021-06-16 20:10:58 -04:00
Michael Greenberg
4a71042e51
try using sync
2021-06-16 20:08:13 -04:00
Michael Greenberg
0b45914f3c
clearer output, pause after fsync
2021-06-16 20:04:23 -04:00
Michael Greenberg
9d0ae6d682
fsync, improved output test
2021-06-16 19:51:54 -04:00
Michael Greenberg
fef31489de
and you say you're an expert on the shell
2021-06-16 19:17:39 -04:00
Michael Greenberg
b57479177c
just abort on linux
2021-06-16 19:09:02 -04:00
Michael Greenberg
e7657cb1a5
try some hostility
2021-06-16 18:44:24 -04:00
Michael Greenberg
faded25aeb
derp
2021-06-16 18:38:30 -04:00
Michael Greenberg
e47a7db493
bad command
2021-06-16 18:33:06 -04:00
Michael Greenberg
ec7e63e129
try using fusemount to force it
2021-06-16 18:29:29 -04:00
Michael Greenberg
1830074f32
more debug
2021-06-16 17:46:18 -04:00
Michael Greenberg
ae81a956d7
debug for linux
2021-06-16 17:40:45 -04:00
Michael Greenberg
ba64e76763
Basics of output seem to be working.
...
Addresses (most of) #5 .
2021-06-16 17:28:45 -04:00
Michael Greenberg
3b3677f2d8
migrate TODO to issues [ci skip]
2021-06-15 15:34:56 -04:00
Michael Greenberg
9d8e084cf0
take mode as command line arg
2021-06-15 15:27:20 -04:00
Michael Greenberg
0b985d1e09
clean up cli
2021-06-15 14:59:11 -04:00
Michael Greenberg
a65e6c9783
fallocate
2021-06-15 14:44:39 -04:00
Michael Greenberg
81739b77e4
rearrange todos [ci skip]
2021-06-15 09:52:51 -04:00
Michael Greenberg
3bceb5c3d9
todo note tweaks... looking better and better
2021-06-14 21:30:37 -04:00
Michael Greenberg
520c606821
test for rename
2021-06-14 21:26:32 -04:00
Michael Greenberg
6d74ad98ea
fix bug in access
2021-06-14 21:21:09 -04:00
Michael Greenberg
3e0285b2a2
fix broken unlink.sh, support access
2021-06-14 20:18:46 -04:00
Michael Greenberg
6a613084a4
rmdir, have unlink check it's a regular file
2021-06-14 20:14:12 -04:00
Michael Greenberg
d8dfe960c8
unlink
2021-06-14 19:54:04 -04:00
Michael Greenberg
b34d86c3de
checking that box [ci skip]
2021-06-14 12:10:25 -04:00
Michael Greenberg
6b2b37398e
math is hard
2021-06-14 12:00:39 -04:00