Giter Club home page Giter Club logo

gitgo's Introduction

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 <[email protected]>
Date:   Mon Apr 6 15:49:15 2015 -0400

    Parse git object into struct and add corresponding test
    
commit a7f92c920ce85f07a33f948aa4fa2548b270024f
Author: aditya <[email protected]>
Date:   Fri Apr 3 12:38:24 2015 -0400

    Add CatFile function and corresponding test
    
commit 97eed02ebe122df8fdd853c1215d8775f3d9f1a1
Author: aditya <[email protected]>
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.

gitgo's People

Contributors

chimeracoder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gitgo's Issues

Log() omits the last commit

Git log should return all ancestors including the current commit; currently it returns only the ancestors.

Question regarding Git PACK/IDX Files

I have found an article you wrote about git pack and idx files (Unpacking Git Packfiles) and while it explains the format and its handling quite well, I did failed to understand where the idx file actually comes from.
I tried to have a look at the gitgo source, but could only identify coding that reads the idx file from the file system. I may be missing something (since I don't actually know go), but I have a rather similar problem, where I can receive a pack file through a 0056want <sha1> side-band-64k no-progress multi_ack#000Ddeepen 1#00000009done# command (where is the sha of the branch I want, but I just can't find any documentation on how to receive the idx file or where it comes from.
Could you give me a hint where you got your information about pack/idx files and their transfer (not the format; that is documented, but all documentation assumes that the file is already there, which it isn't when trying to write a git version in a new language).
Any help would be appreciated. Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.