go-git-http-backend
provides HTTP interface for the
go-git
server side
implementation in a similar way as what the utility git
http-backend does for
git
. However, in it's current version it only supports clone and
push operations.
To provide an easy way for writing tests in Go for any tooling that interacts with a remote Git repository.
In my case, it was to test a GitOps promotion tool behaviour was correct. As in, the actual artefact of running the promotion tool, resulted in producing commits and Git blobs that matched our expectations of both path and content, while still testing end to end of the tool, without any mocks or test interfaces over client or storage.
This project uses Mage as a build tool. Install it following installation steps.
List available targets by running mage
.
- The project only supports Smart protocol, see http-protocol
- Only support clone & push operations so far.
useful documentation to understand the Git protocol and the transfer protocol over HTTP.