I have a proposed speedup for lsTree, but since this resides on a
critical path for downstream systems, I want to make sure that I don't
break this while I'm at it.
I really should rewrite this test to use tasty-hspec, but it'd be a
long slog, and I have better things to do.
This should help us ensure that we don't break CLI output, since our
CLI is an API.
This was made super-easy thanks to `tasty-golden`. I literally added
those two lines of code and it automatically created the reference
`.protobuf.bin` files. Slick as hell.
This console barf makes reading though backscrolls unpleasant. Using
Shelly rather than an abomination of a `system` call and adding a
helper function to parse files quietly improved the situation greatly.
This also contains changes to Util that make the file significantly
easier to navigate, thanks to the power of `PartialTyepSignatures`.
Fixes#140.
This is part of the critical path for repository tagging, so we should
test it to make sure it doesn't explode. This introduces a test that
creates a temporary git repo and queries it to make sure that adding
and then reading from a blob works properly.
The `BlobPair` type is defined as an alias for `Join These Blob`. Though
this sacrifices a degree of type safety, it's extremely convenient, as
you can get to a Functor and Bifunctor instance very quickly.
Pattern-matching on `BlobPair` is less elegant though, as it requires
a nested Join then a match on `These`, which is not immediately
indicative of what a given pair might do.
This adds pattern synonyms for the `Inserting`, `Deleting`, and
`Diffing` cases, and removes the less-expressive functions returning such.