DrillSergeant/README.md
2022-08-04 16:56:59 -04:00

100 lines
3.4 KiB
Markdown

# DrillSergeant
Get a tally of contributors' commits.
Written by Wyatt J. Miller, copyright 2022
Licensed by the Mozilla Public License v2.0 (see [LICENSE](./LICENSE.md))
###### Table of Contents
- [Overview](#overview)
- [Installation](#installation)
- [Release](#release)
- [Source](#source)
- [Prerequisites](#prerequisites)
- [Prepare](#prepare)
- [Build](#build)
- [Known Issues](#known-issues)
- [Next Steps/Contributing](#next-steps)
- [Troubleshooting](#troubleshooting)
- [Attribution](#attribution)
## Overview
When I was in university, I wanted a program that would tally up my git commits in a certain project that I'm working on. Based on search engine ninja skills, I couldn't find a program that did this. I decided to scratch my own itch.
I present DrillSergeant, where you can get a tally of the contributors' commits in a certain project. Additionally, you can filter by branch to get commits by branch.
## Usage
Please see the wiki for information.
## Installation
There's are two forms of installation: releases and building from sources. This readme goes through both.
### Releases
You may get releases from the [releases page](https://scm.wyattjmiller.com/wymiller/DrillSergeant/releases). This is the recommended way to start using DrillSergeant.
There will be three separate downloads: Windows (x86 64-bit), Linux (x86 64-bit), and Linux (ARM 64-bit), dubbed win64, linux64, and linuxaarch64 respectively.
Once downloaded and extracted, you can move it to your `$PATH`.
If you do not have any of these platforms, read on to source installation as that's the next best option.
### Source
#### Prerequisites
You need the following to be able to build DrillSergeant:
- .NET 6 (available for Windows, macOS, and modern Linux distributions)
- git
#### Prepare
First, clone the repository with git:
```bash
git clone https://scm.wyattjmiller.com/wymiller/DrillSergeant
```
Then, change directories to where you've cloned DrillSergeant:
```bash
cd path/to/DrillSergeant
```
#### Build
Then, to build a full release of DrillSergeant (you can change the runtime to whatever fits your platform. You can learn more about this [here](https://docs.microsoft.com/en-us/dotnet/core/rid-catalog)):
```bash
dotnet publish DrillSergeant.csproj --configuration Release --framework net6.0 --output publish --self-contained True --runtime linux-x64 --verbosity Normal /property:PublishTrimmed=True /property:PublishSingleFile=True /property:IncludeNativeLibrariesForSelfExtract=True /property:DebugType=None /property:DebugSymbols=False
```
Then, you can find the binary in the `publish/` directory. You can move this executable to somewhere in the `$PATH` or you make a new enviroment variable to be integrated into your `$PATH`.
## Known Issues
- A user must be in the root of a git project in order for this program to run.
## Next Steps/Contributing
- See the [contributing](./CONTRIBUTING.md) file!
## Troubleshooting
Please file a issue on the issue page and I will get back with you as soon as possible.
## Attribution
Thank you to the developers, engineers, project managers, and contributors of the following projects - you make this program possible!
- [LibGit2Sharp](https://github.com/libgit2/libgit2sharp/)
- [OpenXML](https://docs.microsoft.com/en-us/office/open-xml/open-xml-sdk)
- [System.CommandLine](https://github.com/dotnet/command-line-api)
- [Pastel](https://github.com/silkfire/Pastel)