| Commit message (Collapse) | Author | Files | Lines |
|
|
|
This commit encompasses quite a few changes to add tickets:
- The `Ticket` struct is updated to properly order comments using a uuid
v1 and to hold the user name, uuid, and their comment
- Tickets in the repo are updated to accomodate this change to the
ticket. Despite this being a breaking config change, none of these
tickets had any comments so it was an easy manual port and the
migration tool did not need to be updated.
- The TUI was updated to display the tickets a bit better with some
coloring and now also showing the comments with them
This gets us one step closer to a decent first release for ticket. The
only things that are really left to do are adding the ability to comment
in the tui, listing tickets on the cli, and adding in issue assignees on
both the cli and tui.
|
|
|
|
This is a necessary upgrade to deal with the fact that incremental ids
do not work in distributed systems. For instance say we have two
branches from the same commit on master and they both add a new ticket.
Both will have the same incremental ID despite being completely separate
tickets. In this case we want to use UUIDs, specifically version 1 as
defined in IETF RFC 4122. This version of UUID uses a timestamp to
generate it and as a result the UUID it generates is *sortable*. This
means that the UUIDs can be created whenever on any branch, be unique,
and will be sortable by time. No matter when or where our tickets can be
sorted correctly by this UUID in a deterministic order.
Since we are also upgrading the code we've set up migration upgrade code
to handle this in case we need to do this again in the future. We also
add a few more fields and make some breaking changes since we already
are for the UUIDs.
Resources:
- https://tools.ietf.org/html/rfc4122
|
|
This commit sets up a basic tui for the current functionality. It's
traversable by keyboard and by mouse and shows the ticket state via tab,
info in a row, and the description in it's own box when selected. This
is necessary for a good user experience for in repo tools. Files are
fine, but interactivity is better.
|
|
ticket used to just run without any kind of logging for commands that
weren't just printing tickets to the console or getting any kind of
information as to what was going on. This change adds logging with info
level for the end user by default, with debug and trace statements
while developing the code being an option via the RUST_LOG env var.
|
|
This cleans up the init function using the modified find_root function
for ticket and moves it into a new shared crate so that other tools that
might be built can use it. This means we can easily find the root of
a git repo no matter where in the repo one is and build paths relative
to it.
Closes #3
|
|
|
|
This adds the ability to open new tickets, close them, and show them
from the commandline. This functionality is enough to get started adding
more tickets to the repo from here on out and work on new tools with
tickets associated with them.
|