e79fc4917d
Issues::new_from_dir(): move error message to stderr
2025-07-19 10:52:33 -06:00
c217434071
better error handling in comment and git
...
This replaces a bunch of `unwrap()` calls with error returns.
2025-07-19 10:38:15 -06:00
97a575316e
Issues: skip & warn about any Issue that fails to parse
...
This lets us at least handle the other, valid issues, while informing
the user about the ones we don't understand.
2025-07-19 09:55:32 -06:00
2ba13ebaeb
Issue: get rid of all unwraps
...
Make and return errors instead.
2025-07-19 09:55:32 -06:00
04b33eb70f
Merge pull request 'completed Issues now know when they were marked Done' ( #24 ) from done-time into main
...
Reviewed-on: #24
2025-07-18 10:21:42 -06:00
d3ba28f4d4
Merge pull request 'CLI: Print ID on new' ( #23 ) from 03/print-id-on-new into main
...
Reviewed-on: #23
2025-07-17 12:02:42 -06:00
3e0ab7092e
update CLI to print the issue ID when a new issue is created
2025-07-17 12:00:26 -06:00
a3077ca313
ent list FILTER: add filter "done-time=[START]..[END]"
2025-07-16 21:59:17 -06:00
bc2b1bd3c1
add API and CLI to get & set done-time of an issue
2025-07-16 21:51:27 -06:00
3b33ed41f5
Issue: add done_time field
...
This records the DateTime that the issue moved to the Done state (if any).
2025-07-16 21:50:44 -06:00
3df76b89df
rename Issue and Comment timestamp to creation_time
...
This is to make room for a second timestamp that records when the issue
was marked Done.
2025-07-16 21:50:44 -06:00
20c17f281b
ent list FILTER: the filter now takes multiple strings
...
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.
2025-07-16 21:50:44 -06:00
5e5508a2ee
Issue: make a helper function to commit an Issue
...
This improves code reuse and streamlines the code a bit.
2025-07-16 21:50:42 -06:00
e0d9d45a6a
Merge pull request 'Add ID field to Issue Struct' ( #22 ) from 03/move-id-into-issue into main
...
Reviewed-on: #22
2025-07-15 15:04:38 -06:00
733100fefb
add the ID field back into the Issue struct
2025-07-15 10:53:52 -06:00
59ef0dd757
Merge pull request 'move entomologist database to new library file' ( #21 ) from 03/issues-db-into-library into main
...
Reviewed-on: #21
2025-07-13 21:52:24 -06:00
61df7ede8f
add better error handling
2025-07-13 14:21:28 -06:00
d2df1bc1e8
move entomologist database to new library file
...
fixes: d3a705245bd69aa56524b80b5ae0bc26
2025-07-13 14:06:04 -06:00
490f946ef6
don't open an editor is stdin or stdout is not a terminal
2025-07-13 10:38:52 -06:00
3932baff3b
Merge pull request 'make a reasonable readme' ( #19 ) from readme into main
...
Reviewed-on: #19
2025-07-12 16:12:31 -06:00
603693151e
Merge pull request 'add support for tags :-)' ( #18 ) from tags into main
...
Reviewed-on: #18
2025-07-12 16:12:07 -06:00
8d5105e4d5
flesh out the README some
2025-07-12 14:54:48 -06:00
3721483c2d
git::sync(): more helpful error message when merge fails
2025-07-12 14:54:48 -06:00
9d4409c008
ent list: add filtering based on tags
2025-07-12 14:24:40 -06:00
28db7669f4
ent: better ent list --help
2025-07-12 14:24:20 -06:00
88025c5dae
add `ent tag ISSUE [[-]TAG]
2025-07-12 12:28:59 -06:00
2f1636db55
add Issue::add_tag() and Issue::remove_tag()
2025-07-12 12:28:59 -06:00
4307fc8941
ent list: show tags
2025-07-12 12:28:59 -06:00
b02807eaca
Issue: add tags field
2025-07-12 12:28:53 -06:00
665f02cbe8
when changing state, include old state in git log message
...
Before this commit:
change state of issue f3990ac13cd93a925f2a66e6a72eb0f2 to backlog
After this commit:
change state of issue 406e2330695040fed5fdbcaae5d2b331, new -> inprogress
2025-07-12 10:02:51 -06:00
65316da0bd
teach ent edit to edit Comments as well as Issues
2025-07-11 20:30:50 -06:00
928e592722
Merge pull request 'cleanups-and-show-log-in-ent-sync' ( #17 ) from cleanups-and-show-log-in-ent-sync into main
...
Reviewed-on: #17
2025-07-11 20:28:57 -06:00
08e0698418
git::sync(): show somewhat ugly git logs of stuff fetched and pushed
2025-07-11 13:09:23 -06:00
d642004ee0
refactor ent comment
...
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.
2025-07-11 13:07:47 -06:00
1c8d994fd9
better ent assign log message
2025-07-11 12:49:58 -06:00
ab86e6369c
Issue::set_state(): better git commit message
2025-07-11 11:50:33 -06:00
1477322f81
Issue: refactor to simplify & make better git log messages
...
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.
2025-07-11 11:50:26 -06:00
7b6efdf925
rename git::add_file() to just add(), it can add directories too
2025-07-11 10:17:11 -06:00
0d6c43d266
Merge pull request 'handle read-only operations' ( #16 ) from read-only-ops into main
...
Reviewed-on: #16
2025-07-11 10:11:42 -06:00
ce36626b7a
ent: handle issue database source & worktrees better
...
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`.
2025-07-10 13:04:55 -06:00
f8d35e13ff
add git::Worktree::new_detached()
...
This makes a detached worktree, useful for read-only operations on the
issues database branch.
2025-07-10 12:39:03 -06:00
6ea0b98963
ent show: blank line between comment header and description
...
This makes it a little easier to read.
2025-07-10 10:01:33 -06:00
6cff355e4a
Merge pull request 'empty-descriptions-and-dropped-worktrees' ( #15 ) from empty-descriptions-and-dropped-worktrees into main
...
Reviewed-on: #15
2025-07-10 09:48:21 -06:00
e09e4b9cb7
simplify ent new
2025-07-09 22:36:24 -06:00
acf539c683
handle user abort in ent comment
...
The user saving an empty description is a normal user-initiated abort,
not an error.
2025-07-09 22:36:24 -06:00
a199fbc7f7
handle aborts in ent edit ISSUE
...
The user saving an empty description file is a normal user-initiated
abort, not an error.
2025-07-09 22:36:24 -06:00
fc658009f5
Comment: handle empty description
2025-07-09 22:34:55 -06:00
211bf92dde
Issue: handle empty description from user
...
This fixes issue a26da230276d317e85f9fcca41c19d2e.
2025-07-09 22:33:58 -06:00
bfdf6178f4
add git::commit()
2025-07-09 22:33:58 -06:00
16de030b8e
add git::add_file()
2025-07-09 22:33:58 -06:00