aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Adding more metadata to libgitmail Cargo.tomlHEADmasterKatharina Fey2020-01-101-0/+4
|
* Cleaning up libgitmail project treeKatharina Fey2020-01-102-0/+4
|
* Adding basic set and tree abstractions to libgitmailKatharina Fey2020-01-102-0/+60
|
* Add quickcheck dependency to libgitmailKatharina Fey2020-01-102-1/+15
|
* Refactoring libgitmail core to work on complete emails, with testsKatharina Fey2020-01-106-0/+406
|
* Adding mailing list subscribe instructions for non-google addressesKatharina Fey2020-01-101-0/+4
|
* Adding first outline of libgitmailKatharina Fey2020-01-102-0/+31
|
* Changing gitignore to recursively ignore target dirsKatharina Fey2020-01-081-1/+1
|
* Adding nom as a dependency to libgitmailKatharina Fey2020-01-082-1/+109
|
* Adding docs explaining how to use the nix build systemKatharina Fey2020-01-081-0/+21
|
* Adding nix build filesKatharina Fey2020-01-082-0/+10
| | | | | | | This is meant to make development for NIxOS users easier. Lorri is used to build an environment asynchronously. Direnv is then used to switch to the environment when entering the directory, or when it has updated since last switching.
* Create 'create tests for ticket tui' ticketMichael Gattozzi2020-01-051-0/+17
|
* Fix the ticket tui so it does not panicMichael Gattozzi2020-01-052-25/+39
| | | | | | | | | | | | | | 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-052-1/+29
| | | | | | | | | | 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-052-4/+5
| | | | | | | | | | | 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`.
* Create 'ds install wipes user path on Windows'Antoine Martin2020-01-051-0/+24
|
* Create 'Create a panic handler for ticket tui'Michael Gattozzi2020-01-031-0/+17
|
* Create 'Build out cross platform testing'Michael Gattozzi2020-01-031-0/+17
|
* Create 'Having no tickets causes the tui to crash'Michael Gattozzi2020-01-031-0/+17
|
* Fix md formatting in CHANGELOGMichael Gattozzi2020-01-021-43/+43
|
* Add CHANGELOG and CONTRIBUTING and update READMEMichael Gattozzi2020-01-023-10/+313
| | | | | | | This rounds out the documentation that was sorely needed before it could be tagged as v0.1. It includes instructions on usage, what has changed, and how to contribute all so that others can begin to contribute to the project and move it outside a personal one.
* Fix init logic for `ds init`Michael Gattozzi2020-01-022-1/+18
| | | | | | | Since the interface for `hooked init` changed to also make a language choice we need to allow the user to select the language when doing `ds init`. We also have ticket print out it ran successfully on initialization now. This was an oversight from an earlier refactor.
* Cleanup ds install and format hooked properlyMichael Gattozzi2020-01-022-13/+14
| | | | | | | | | | This cleans up the ds install command to use namespaced folders on digital ocean to hold assets. This will make it easier to install things in the future if we break it down by version, but really it just makes it easier to not have to do weird splitting logic to choose the right tool and download and install it. For some reason hooked was also not formatted properly when rustfmt was run on OSX so this was fixed to make the build not break.
* Update reqwest and create a release profileMichael Gattozzi2020-01-022-500/+288
|
* Make hooked and dev-suite git hooks cross platformMichael Gattozzi2020-01-0156-64/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Up to this point hooked had been only designed to work on Windows, not because dev-suite didn't want to support it, but because doing so was an immense amount of work with no clear design due to how Unix and Window paths are not at all the same. While shebang notation works on them for both the paths are different. In order to get around this we wrap Ruby, Python, and Bash scripts on Windows with a different script that invokes the 'Git for Windows' sh.exe to run the actual interpreters on the script. These can work fine then as long as one has installed Git for Windows on their machine, and has a copy of py.exe or ruby.exe on their path to be invoked. There is one caveat. We have to assume that a user has installed their copy of Git for Windows in the default location. This means if they haven't the scripts will fail to run. There's not much we can do about this and it's just a necessary wart to provide cross platform capabilities for a project. All projects can be initialized now with one of the language choices and then have the proper files linked on their OS as part of the initialization. Those who need to just link them in an already existing project can just run `hooked link` in order to set their computer up. This again handles the differences between the platforms. This project is also updated to the new format of hooked so that collaboration is now not limited to just Unix based OSes.
* Change ticket tui to fix thread panic on WindowsMichael Gattozzi2020-01-011-6/+17
| | | | | | | | One of the issues experienced on Windows with the tui for ticket was that the thread handling events was panicking on close, but this was only happening on Windows. For some reason it must not have been closing down the spawned thread properly. To get around this we set up another channel to send a message to close the thread down and avoid the panic.
* Add the ability to install dev-suite to ds toolMichael Gattozzi2020-01-014-7/+898
| | | | | | This adds the ability to install dev-suite from the command line and simplifies the process of acquiring all of the tools and sets the foundations to use ds more like rustup to manage dev-suite.
* Add the ability to assign users to ticketsMichael Gattozzi2019-12-232-6/+91
|
* Make the toolchain use the latest stable rustcMichael Gattozzi2019-12-231-1/+1
|
* Upgrade tui to allow commenting from itMichael Gattozzi2019-12-203-89/+217
| | | | | | | | | This is a fairly large overhaul of ticket but lays down the last bit of groundwork needed before an initial release. It handles input to write comments, refactors the code a bit to be cleaner and less computation heavy, and also adds instructions on the bottom for how to use the tui. This should be enough for people to start using it, though obviously there's more work to go, but it feels more usable than before.
* Upgrade Rust from 1.39 to 1.40Michael Gattozzi2019-12-193-5/+4
|
* Switch from termion to crossterm for tuiMichael Gattozzi2019-12-193-116/+296
|
* Change pre-commit hook so that it works in fishMichael Gattozzi2019-12-191-1/+1
|
* Refactor ticket to use common methodsMichael Gattozzi2019-12-132-129/+78
| | | | | | | While this had already been done with `src/actions.rs` before not everything had been updated and new commands had been added since then to the cli tool. This commit fixes things up quite a bit and simplifies some of the code as a result.
* Add the ability to add comments to ticketsMichael Gattozzi2019-12-1310-38/+121
| | | | | | | | | | | | | | | | | | 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.
* Add licenses for dependencies to the projectMichael Gattozzi2019-12-133-0/+5593
|
* Add a repo config and set self as maintainerMichael Gattozzi2019-12-121-0/+4
|
* Extend ds with config subcomandMichael Gattozzi2019-12-123-0/+57
| | | | | This commit utilizes configamajig to allow creating configs for a repo and the user themselves as well as checking what those values are.
* Create configamajig to handle dev-suite configsMichael Gattozzi2019-12-124-0/+179
| | | | | | | Configuaration is important and overtime dev-suite will need more and more of it. This commit adds the configamajig crate to handle these configs and have it shared across tools that need access to them, creating one API not several bits of glue code to read in files.
* Add README and CODE_OF_CONDUCTMichael Gattozzi2019-12-102-0/+109
|
* Add post-receive hook to dev-suiteMichael Gattozzi2019-12-111-1/+2
|
* License all code under GPL-3.0Michael Gattozzi2019-12-105-0/+679
|
* Make the pre-commit script pedantic and fix errorsMichael Gattozzi2019-12-1010-42/+137
| | | | | | | | This commit really ups the level and quality of the Rust code by setting clippy to pedantic mode. It also fixes an issue where bash continued to run scripts even if something failed with a non-zero exit status. We also deny all warnings so as to actually fail the builds and the commit hooks. This should make sure code quality stays at a high level.
* Upgrade ticket format from V0 to V1 to use UUIDsMichael Gattozzi2019-12-039-91/+209
| | | | | | | | | | | | | | | | | | | | | 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-1/+1
|
* Add a tui for ticketMichael Gattozzi2019-12-025-16/+477
| | | | | | | | 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.
* Create ticket 'Create a tui for ticket'Michael Gattozzi2019-12-021-0/+10
|
* Add logging output to ticketMichael Gattozzi2019-11-263-3/+48
| | | | | | | | 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.
* Add logging output to hookedMichael Gattozzi2019-11-263-2/+159
| | | | | | | | We really should be logging what's going on as each of these tools run. Before this change hooked just ran without any indication of 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 as well.
* Create dev-suite tool to orchestrate toolingMichael Gattozzi2019-11-263-0/+192
| | | | | | | | | | The dev-suite tool acts simmilar to rustup in that it's responsible for keeping the tools up to date, installing the tools, and managing itself. It also includes an init command to run all the various tools init commands all at once. Of course we want what tools people use to be configurable. dev-suite uses dialouger in order to provide a nice text based menu for things like selecting what tools to use etc. Certain functions are stubbed out for now, but they will be expanded over time.