Keybase and IRC chat never got any users, and since I never check them
and they get no traffic, it's probably best to remove them from the
readme.
type: documentation
- Add a `bench` feature that exposes a hasher benchmark.
- Make the hasher read up to the next piece end and hash everything it
reads, instead of hashing one byte at a time. This was a 4x
improvement on the benchmark. (Terrible code == easy wins!)
type: performance
Split imdl into a binary, `src/main.rs`, and a library, `src/lib.rs`.
This will enable benchmarking, fuzz testing, and anything that requires
making `imdl` functions accessible another crate.
type: reform
The `data` crate is intended to be used as the manifest serialization
and deserialization format.
This blog post describes the motivation and goals for this crate:
https://rodarmor.com/blog/data
type: added
- Combine test Metainfo values into a small number of globally available
values.
- Serialize update URLs as `URL` insted of `String`.
- Add additional `show` tests
type: reform
To make it clearer what is and isn't generated content, make gen place
all generated output in `target/gen`.
Also, try to make the readme clearer about the location of build
artifacts.
type: development
- Document the various ways files can be included and excluded from
torrents in the book.
- Make links to the book more prominent in the readme, by including them
in sections with obvious names.
type: documentation
- Rebase master branch without checking it out
- Don't check for no changes, since we're using `-d`, which will fail on
an unmerge branch.
- Make merge take an argument, so it can be used with something other
than the current branch.
type: development
I copied the gihub actions caching configuration from examples, and I'm
not sure it's optimal. In particular, it causes a cache miss whenever
any `Cargo.lock` changes. I suspect that it would be better to always
hit the cache, and let cargo figure out what it needs to rebuild.
type: development
Input can now be passed to `imdl torrent show` without a flag:
imdl torrent show foo.torrent
Passing input by flag continues to work.
type: changed
fixes:
- https://github.com/casey/intermodal/issues/375
The shell can now be passed to `imdl completions` without a flag:
imdl completions bash
Passing the shell by flag continues to work.
type: changed
fixes:
- https://github.com/casey/intermodal/issues/375
Input can now be passed to `imdl torrent verify` without a flag:
imdl torrent verify foo.torrent
Passing input by flag continues to work.
type: changed
fixes:
- https://github.com/casey/intermodal/issues/375
Allow taking the `--input` argument to `imdl torrent create` as a
positional argument, so the following now works:
imdl torrent create foo
Taking input by flag `--input` still works.
type: changed
fixes:
- https://github.com/casey/intermodal/issues/375
Don't commit man pages, since that bloats commits.
Attempt to build them in `bin/package`. This is fraught, since we need
`help2man`. Hopefully this works!
type: development
Committing the completion scripts bloats diffs, so stop committing them.
Before copying release files, generate the scripts in `bin/package`.
type: development
Add a global flag `--quiet`, which allows supressing output from
`imdl torrent create` and `imdl torrent verify`.
Since it's a global option, it should be given before the subcommand,
e.g.:
imdl --quiet torrent create --input .
type: added
fixes:
- https://github.com/casey/intermodal/issues/174
Add a '--ignore' flag that, when passed, causes `imdl torretn create` to
skip files listed in `.gitignore`, `.ignore`, `.git/info/exclude`, and
`git config --get core.excludesFile`.
Also switches from the `walkdir` crate to the `ignore` crate, which uses
`walkdir` internally, and which handles `.gitignore` and `.ignore`
files.
This changes the behavior of `-include-hidden` on MacOS to no longer
skip entries with the hidden attribute set, due to `ignore` not exposing
`walkdir`'s filter functionality.
A PR[0] is pending to add filtering to `ignore`, so hopefully this
functionality can be re-implemented soon.
[0] https://github.com/BurntSushi/ripgrep/pull/1557
type: added
fixes:
- https://github.com/casey/intermodal/issues/378
The `--terminal` flag can be used to override terminal autodetection and
force `imdl` to behave as if standard error and standard output are
connected to a terminal.
type: added
fixes:
- https://github.com/casey/intermodal/issues/398
Unfortunately, the install script doesn't work on windows, due to:
- Powershell defining an alias that maps `curl` to `Invoke-WebRequest`,
which is incompatible with `curl`.
- The absence of the `rev` command.
type: documentation
fixes:
- https://github.com/casey/intermodal/issues/371