This will be useful testing (and general consistency) when tags are
files in a directory instead of lines in a file, and thus subject to
random directory order.
This is mostly to make the tests reliable.
Without this the dependencies are inserted into the vector in directory
order, which in my checkout of the repo did not match the alphabetical
order of the dependencies in the test.
This is instead of a single big string with chunks separated by ":".
":" is used in RFC 3339 date-time strings (like "2025-07-16 21:23:44
-06:00"), so it's inconvenient to reserve ":" to be the chunk separator.
I'm not super wedded to this new Vec<String> way of doing the filter,
but it seems fine and convenient for now.
Before this commit:
change state of issue f3990ac13cd93a925f2a66e6a72eb0f2 to backlog
After this commit:
change state of issue 406e2330695040fed5fdbcaae5d2b331, new -> inprogress
Instead of a two-step process handled by the application
(`Issue::new_comment()` and `Comment::set_description()` or
`Comment::edit_description()`), make a simpler-to-use single-step
`Issue::add_comment()`.
Move the implementation details from Issue to Comment.
Better log message when adding a comment.
This starts cleaning up the Issue API.
* Start separating the public API from the internal API.
* Make `Issue::new()` and `Issue::edit_description()` better behaved,
simpler, reduce code duplication, and also produce better git log
messages.
* Update `ent` to call the changed `new()` function.
* Add some comments documenting the Issue API.
* `ent new` and `ent edit` now use the editor specified by the EDITOR
environment variable, if any. Defaults to `vi` if unspecified.
This makes each command in `handle_command()` handle its own issues
database. The commands that only need read-only access to the issues
make a detached worktree, while the commands that need read-write access
make a normal worktree with the `entomologist-data` branch checked out.
This lets us run any number of read-only operations (like `ent list`,
`ent show`, etc), even when a long-lived read-write operation (like
`ent new` or `ent edit`) is running.
Fixes `ent 317ea8ccac1d414cde55771321bdec30`.