Git Anger Management Versions Save

Ever wanted to know just how angry your commits are? Look no further

v0.8.1-lib

4 years ago

v0.8.1 git-anger-lib

2020-05-13

A patch release to update the documentation and make docs.rs build with all features enabled.

Changes

  • [fea9645fca] - Update metadata for docs.rs build, release v0.8.1
  • [b2fc2fcd58] - Update README, CHANGELOG

v0.8.0-lib

4 years ago

v0.8.0

2020-05-13

Entirely a behind the scenes release, this is so that downstream users can properly use the features that they require:

  • json: Turns on Serde serialization of the repo data
  • table: Turns on printing a prettified table to stdout

Changes

v0.7.0

4 years ago

0.7.0

2020-05-12

This is a fairly large structural overhaul; mostly from having gotten a fair bit more experience programming in Rust. Notable changes in this release include:

  • You can now print the repository output as either JSON or a simple table.
  • Progress bars were removed, mostly due to massively slowing down the program
  • A fairly sizeable overhaul of the internals, making it more idiomatic and faster

On the other end binaries are now automatically created for all major platforms, tests are run on both stable and nightly and we've transitioned to using GitHub Actions instead of TravisCI.

  • [9cf642e1cd] - Update the documentation
  • [02836d39c8] - Start splitting into features for the future
  • [2f1cae9bdf] - Use GH Actions Badge instead of Travis
  • [6442b684f4] - Update tests
  • [5b4b257197] - Remove unused method
  • [ac6e891324] - Fix total curse values being wrong
  • [7db0b523f8] - Fix some words slipping through due to newlines
  • [a0435c6b30] - Move to TabWriter to print output
  • [6130210600] - Move reading commits etc into Repo::new()
  • [d9f5571627] - Restructure app a bit
  • [8358880979] - Add test repo, start refactoring app
  • [5bf3d245bf] - Remove indicatif, simply print a message and clear it
  • [41dc63dd0c] - Move to GitHub Actions for CI, update license
  • [665eb3d536] - Add totals to table, refactor type signatures slightly
  • [6116a1efa5] - Remove curse struct, not needed anymore
  • [b4d9536549] - Remove wang and knob from wordlist, too common to be curses
  • [c1870b7c50] - Print everything as a table
  • [4dd3161415] - Updated dependencies, fixed lints and refactored to work with new versions
  • [49e8156c19] - A really, really hacky and stupid ugly way to print things in columns
  • [251852b97c] - Add some documentation
  • [dd597771f6] - Output information in tables instead of pretty printing it as a string
  • [f1a541cb05] - Add option to only display information about the repo, omitting authors
  • [59d99940bf] - Add struct for curses

v0.6.0

5 years ago

0.6.0

2018-12-27

This release adds progress bars when running git-anger-management. Useful when parsing commits in larger repositories as this will show the elapsed time, time remaining etc. The rest of the changes are behind-the-scenes stuff, updated dependencies and updated to the latest Rust edition (2018).

  • [53e31ad5a8] - Update README to include asciinema "video" of output
  • [4f0a873733] - Update CLI struct to use newer StructOpt changes
  • [27937aced4] - Update to Rust 2018
  • [3b441d666b] - Update Travis configuration
  • [db5c363fe5] - Update dependencies
  • [544204594f] - Remove version-sync from dev-dependencies
  • [e9348326cd] - Add progress bars to CLI to track progress
  • [ce0b7678ec] - Move magic commands to below documentation, add a few more deny things

v0.5.0

5 years ago

0.5.0

2018-11-09

This release focuses on performance, even though it might be fairly minor. We switched the standard library version of HashMap and HashSet to the ones implemented in hashbrown, switched to using lazy_static since it doesn't require unsafe code anymore and switched to using LTO=thin for releases, all giving us some minor speed boosts. You can see more in the git commits for the respective changes. We also added documentation and also display total counts of naughty words across all authors in the repository.

  • [21fd6a5d33] - Document all the things, ensure it will forever be documented
  • [4e2d1fa786] - Make sure the version number is always up to date
  • [1b663923ad] - Initial pass at writing documentation
  • [22c851a22c] - Use LTO=thin when running a release version, even more minor speedups
  • [cde15774c3] - Refactor whole thing into several files, library and binary
  • [99488db4f6] - Use lazy_static to lazily create curses, minor speedups again
  • [6ce95329fc] - Include Cargo.lock since this is a binary application
  • [92646d638c] - Use hashbrown instead of std::{HashMap, HashSet} for minor speedups
  • [b0284df3cf] - Fix Clippy lint
  • [d2b66c882e] - Show curses per repo and not just per author
  • [b2c074db76] - Change update_occurrence so that it doesn't copy strings
  • [4ae3a8235f] - Use if let on both author and commit message
  • [cb090b909d] - Refactor adding commits to a vec to be in their own little scope
  • [0a77ad1a2f] - Remove badge because crates.io doesn't work with travis.com

v0.4.0

5 years ago

0.4.0

2018-10-18

Thanks to everyone who chimed in on both reddit and on GitHub for helping! Especially Darren Tsung, whose pull request has shown me so much new stuff that I haven't learned yet. I've applied some of the suggestions from him making the code more readable and added a verbosity flag and removed some unneeded words from the word list.

Changelog:

  • [fda389c4d9] - Update version of git-anger-management
  • [e29428bd5a] - Update changelog
  • [d0ccfaff2c] - Fix failing CI due to formatting
  • [19bb81d936] - Add verbosity flag
  • [8be2eca194] - Match against what directory to look from, neat
  • [e1ab587700] - More suggestions from #1
  • [8f34037514] - Minor removal of extra stupid words
  • [45c328ca9b] - Use split_into_clean_words() from #1
  • [f255dca68c] - Format code
  • [7d7c595c37] - Minor cleanups and refactorings
  • [7d63834b84] - Refactor author initialization
  • [d60bf41e32] - Remove functions where you can directly update values
  • [6fabb676bb] - We can just derive PartialEq, no need for our own implementation
  • [feb2db45c3] - Add a struct for the repo being counted
  • [585f7a1674] - Fix wrong ordering on counting commits
  • [1ca19cbf2d] - Implement Display for Author, add counters for commits/curses

v0.3.0

5 years ago

0.3.0

2018-10-15

Though this is the third minor release it's the first where I consider it to be an actual working program. It's silly and simple, but it works. See the README for more details.

Changelog:

  • [9cd6f2fc08] - Update README
  • [39eb4538d4] - Format files and fix Clippy lints
  • [a55ab9463f] - Add structopt, you can now see commits in arbitrary directories
  • [c6c58342fb] - Add an even worse example to the README [ci skip]
  • [c8f6f2baee] - Add crates.io version [ci skip]
  • [03403bf6a2] - Update README, set to version 0.2.0
  • [4af31796e9] - Create function to clean out characters from words
  • [e06432cdd5] - Format, run and apply Clippy
  • [02949f153a] - Format code with rustfmt
  • [395a6171d8] - Walk the commits, find the authors, see if they've been naughty
  • [b4b14ec2e8] - Create a bunch of methods for the Author struct
  • [4fcd0cafa0] - Implement equality check between two authors
  • [2409bb20bb] - Walk the commit tree for authors
  • [13df37c940] - Implement Author::new() and derive debug
  • [3ee891179a] - You know what, I'm silly, this function can be a single line
  • [ee47d63b9b] - Add and test function that update an occurrence
  • [19dda6b122] - Test filter_occurrences
  • [13bedeb584] - Key in occurrences is now &str, create function to filter out words
  • [ebc19cd855] - Test naughty_word function, make it take a slice and not a Vec
  • [03e8d8186f] - Refactor out loop into it's own naughty word function
  • [86849b2afb] - Add license, rename, update Cargo.toml, silence warnings
  • [bdfa8d8b7f] - Update .travis.yml file
  • [34f94a5d3c] - Never, ever, write unsafe code
  • [8b36a76aca] - Make CI fail on warnings
  • [00402fefb5] - Add README [ci skip]
  • [8406e217b1] - Add Travis CI configuration, .gitignore file
  • [e6dc313f84] - Add a actual swear words list, not something I made up myself
  • [d3c83b7b77] - Add struct for Authors that curse
  • [06ea3b3a51] - Format with rustfmt, filter out occurrences that never happen
  • [25ce3ad93b] - Add structopt once we want to make this into a program
  • [52fb070a1f] - Open the current directory as a git repository
  • [475c2efb63] - Add a bunch of curse words
  • [6840a70e5c] - Add git2 as a dependency
  • [5329b2e938] - In the beginning there was darkness...