100 lines
3.4 KiB
Markdown
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)
|