Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/driusan/dgit

A Pure Go Git Implementation
https://github.com/driusan/dgit

git go golang pure-go

Last synced: 2 months ago
JSON representation

A Pure Go Git Implementation

Awesome Lists containing this project

README

        

![travis ci](https://api.travis-ci.org/driusan/dgit.svg?branch=master) (Note: Travis currently runs dgit against (a subset of) the git 2.10.0 test suite)

This repo contains a pure Go implementation of the command
line git client.

Its primary purpose is to enable users of operating systems
where Go is supported but the canonical git implementation
is not (ie. Plan 9) to use git.

*IT IS NOWHERE NEAR READY*

## Roadmap

The main goal is to enable `go get` to work by doing a real
checkout without any hacks such as downloading a .zip from
GitHub and pretending it is a checkout. (This should be done,
and any breakages with `go get` if you rename the binary from
`dgit` to `git` and put it on your path should be reported
as an issue.)

The secondary goal is to enable just enough of the git
command line to allow simple development (ie. simple usages of
git add/commit/push/status/diff/log.)

The third, stretch goal, is to have a complete command-line
compatible implementation of git that can be used as a drop-in
replacement for git.

## Pronunciation

The dgit tool is pronounced dee-git. The extra letter is there
to distinguish it from the standard git implementation. The
letter 'd' was chosen because it is on the home row of the
keyboard, which makes it easier to type.