aboutsummaryrefslogtreecommitdiff
path: root/.dev-suite/ticket/closed (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix the ticket tui so it does not panicMichael Gattozzi2020-01-051-0/+17
| | | | | | | | | | | | | | The tui for ticket uses indexing in order to have quicker unchecked access into data structures for the data needed that gets displayed in the tui. However, you can't index empty data. We add a check for this in places that expect data to exist so that nothing will cause a panic. We also add fixes to handle the fact that you can't divide by zero in our index modifying logic when pressing the left/right/up/down arrow keys. With this the tui shouldn't panic anymore and can work in an empty state. Closes: 4c37e800-2e38-11ea-b6e0-32f54a3ad7cd 'Having no tickets causes the TUI to crash'
* Create a panic handler for ticket tuiMichael Gattozzi2020-01-051-0/+17
| | | | | | | | | | In ticket 9b344c00-2e3d-11ea-bc2d-b4e1317c6ecc 'Create a panic handler for ticket tui' it became clear that ticket needed it's own way to handle panics since crashing the tui without cleaning up after itself leaves the terminal in a completely garbled state. This commit now has the tui clean up properly after itself then run the normal hook which means it panics like any other Rust program and can get a backtrace with the panic as usual with RUST_BACKTRACE=1
* Fix PATH getting wiped on Windows during installAntoine Martin2020-01-051-0/+24
| | | | | | | | | | | There was no variable expansion called for %PATH% in setx PATH <dev-suite>;%PATH% effectively replacing PATH with litteraly `<dev-suite>;%PATH%`. The fix is simple, the command just needs to be called inside a shell with `cmd /C`.
* Add the ability to add comments to ticketsMichael Gattozzi2019-12-133-3/+6
| | | | | | | | | | | | | | | | | | 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.
* Upgrade ticket format from V0 to V1 to use UUIDsMichael Gattozzi2019-12-033-3/+12
| | | | | | | | | | | | | | | | | | | | | 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
* Close 'Create a tui for ticket'Michael Gattozzi2019-12-021-0/+10
|
* Add hooked and empty inited hooks from the toolMichael Gattozzi2019-11-221-0/+11
| | | | | | | | | | | | | | | This adds the hooked binary to the dev-suite repo as well as a stub for a program to be used in this workflow! Hooked works by adding the hooks into the repo and setting them to executable and linking them into the hooks directory under .git. This means hooks get to travel with the repo and are source controlled. All a dev needs to do is run the init command and hooked will symlink them all for them. No need to remember how ln works. It's all handled for you. Future work will iterate about what hooks that dev-suite supplies as part of the script. This will involve configuration files and per repo settings are something that will need to be thought about. Closes Issue #2
* Move find_root function into the new shared crateMichael Gattozzi2019-11-211-0/+12
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