https://github.com/fornever/fenrir
.NET library to work with Git repositories
https://github.com/fornever/fenrir
dotnet git
Last synced: about 1 month ago
JSON representation
.NET library to work with Git repositories
- Host: GitHub
- URL: https://github.com/fornever/fenrir
- Owner: ForNeVeR
- License: mit
- Created: 2020-02-29T13:05:14.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-09-28T15:08:21.000Z (about 2 months ago)
- Last Synced: 2025-09-28T17:28:15.555Z (about 2 months ago)
- Topics: dotnet, git
- Language: F#
- Homepage: https://fornever.github.io/Fenrir/
- Size: 788 KB
- Stars: 34
- Watchers: 5
- Forks: 2
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Fenrir [![Status Ventis][status-ventis]][andivionian-status-classifier] [![NuGet package][nuget.badge]][nuget.page]
======
Fenrir is a .NET library to work with Git repositories.
It provides functions to read Git objects, traverse the commit graph,
extract trees and files from any commit, etc. Essentially,
it provides tools to create your own Git client or transform a repository in any way.
> [!CAUTION]
> Some of Fenrir's functions perform inline modifications of Git repositories and may destroy information and even commit history!
>
> Always make sure to take a backup before using Fenrir on important data!
Usage
-----
Fenrir is a .NET library, and thus you can install it into your program via NuGet. [Visit the package's page on nuget.org][nuget], or install the **Fenrir.Git** library using your preferred .NET package management tool.
[Read the API reference][docs.api] to know more of the usage patterns. While Fenrir is written in F#, it provides an API friendly to other .NET languages.
Fenrir also provides a terminal tool, **Fenrir.Application**, as a showcase of what is possible to do using the library.
Download the application from [the releases section][releases],
and see [the separate documentation file][docs.application] on the application.
If you are looking for some usage examples, check [the `GitRepositoryModel.fs` file][examples.git-repository-model], or see [the API documentation][docs.api].
Versioning Policy
-----------------
This project's versioning follows the [Semantic Versioning 2.0.0][semver] specification. Only changes in the NuGet package are considered. The example application can change at any time.
Documentation
-------------
- [Changelog][docs.changelog]
- [Contributor Guide][docs.contributing]
- [Maintainer Guide][docs.maintaining]
License
-------
The project is distributed under the terms of [the MIT license][docs.license].
The license indication in the project's sources is compliant with the [REUSE specification v3.3][reuse.spec].
[andivionian-status-classifier]: https://andivionian.fornever.me/v1/#status-ventis-
[docs.api]: https://fornever.github.io/Fenrir/
[docs.application]: docs/Application.md
[docs.changelog]: CHANGELOG.md
[docs.contributing]: CONTRIBUTING.md
[docs.license]: LICENSE.txt
[docs.maintaining]: MAINTAINING.md
[examples.git-repository-model]: Fenrir.Application/Ui/Models/GitRepositoryModel.fs
[nuget.badge]: https://img.shields.io/nuget/v/Fenrir.Git
[nuget.page]: https://www.nuget.org/packages/Fenrir.Git
[nuget]: https://www.nuget.org/packages/Fenrir.Git
[releases]: https://github.com/ForNeVeR/Fenrir/releases
[reuse.spec]: https://reuse.software/spec-3.3/
[semver]: https://semver.org/spec/v2.0.0.html
[status-ventis]: https://img.shields.io/badge/status-ventis-yellow.svg