A Go implementation of Git functions
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
gitgo
test_data
.appveyor.yml
.gitignore
.travis.yml
LICENSE
README
README.md
cat-file.go
cat-file_test.go
delta.go
delta_test.go
log.go
log_test.go
object.go
object_test.go
pack.go
packobjecttype_string.go
repository.go
scanner.go
setup_test.go
verify-pack.go
verify-pack_test.go

README.md

gitgo

GoDoc Build Status

Gitgo provides Go functions for interacting with Git repositories.

Unlike libgit2, which is written in C, Gitgo is written in pure Go, and can be compiled and cross-compiled easily for all platforms supported by Go.

Installation

$ go get github.com/ChimeraCoder/gitgo

Usage

Full documentation is available on GoDoc.

Gitgo is a library intended to be used by other applications, rather than a replacement for the git command-line tools. However, gitgo does provide the gitgo binary, which is used for testing the gitgo library functions and demonstrating their functionality:

$ cd $GOPATH/src/github.com/ChimeraCoder/gitgo
$ gitgo log 1d833eb5b6c5369c0cb7a4a3e20ded237490145f
commit 1d833eb5b6c5369c0cb7a4a3e20ded237490145f
Author: aditya <dev@chimeracoder.net>
Date:   Mon Apr 6 15:49:15 2015 -0400

    Parse git object into struct and add corresponding test
    
commit a7f92c920ce85f07a33f948aa4fa2548b270024f
Author: aditya <dev@chimeracoder.net>
Date:   Fri Apr 3 12:38:24 2015 -0400

    Add CatFile function and corresponding test
    
commit 97eed02ebe122df8fdd853c1215d8775f3d9f1a1
Author: aditya <dev@chimeracoder.net>
Date:   Fri Apr 3 11:45:00 2015 -0400

    First commit. Create .gitignore

Note that the gitgo binary does not support all (or even most) of the functions provided by the gitgo library; it is intended for demonstration purposes and testing only.