ipld-eth-server/vendor/github.com/ipfs/go-ipld-git
2019-12-02 13:24:51 -06:00
..
.travis.yml fixes for issues uncovered in integration 2019-12-02 13:24:51 -06:00
blob.go fixes for issues uncovered in integration 2019-12-02 13:24:51 -06:00
codecov.yml fixes for issues uncovered in integration 2019-12-02 13:24:51 -06:00
commit.go fixes for issues uncovered in integration 2019-12-02 13:24:51 -06:00
git.go fixes for issues uncovered in integration 2019-12-02 13:24:51 -06:00
go.mod fixes for issues uncovered in integration 2019-12-02 13:24:51 -06:00
go.sum fixes for issues uncovered in integration 2019-12-02 13:24:51 -06:00
make-test-repo.sh fixes for issues uncovered in integration 2019-12-02 13:24:51 -06:00
package.json fixes for issues uncovered in integration 2019-12-02 13:24:51 -06:00
README.md fixes for issues uncovered in integration 2019-12-02 13:24:51 -06:00
tag.go fixes for issues uncovered in integration 2019-12-02 13:24:51 -06:00
testdata.tar.gz fixes for issues uncovered in integration 2019-12-02 13:24:51 -06:00
tree.go fixes for issues uncovered in integration 2019-12-02 13:24:51 -06:00

Git ipld format

Coverage Status Travis CI

An ipld codec for git objects allowing path traversals across the git graph!

Note: This is WIP and may not be an entirely correct parser.

Table of Contents

Install

go get github.com/ipfs/go-ipld-git

About

This is an IPLD codec which handles git objects. Objects are transformed into IPLD graph in the following way:

  • Commit:
{
  "author": {
    "date": "1503667703 +0200",
    "email": "author@mail",
    "name": "Author Name"
  },
  "committer": {
    "date": "1503667703 +0200",
    "email": "author@mail",
    "name": "Author Name"
  },
  "message": "Commit Message\n",
  "parents": [
    <LINK>, <LINK>, ...
  ],
  "tree": <LINK>
}

  • Tag:
{
  "message": "message\n",
  "object": {
    "/": "baf4bcfg3mbz3yj3njqyr3ifdaqyfv3prei6h6bq"
  },
  "tag": "tagname",
  "tagger": {
    "date": "1503667703 +0200",
    "email": "author@mail",
    "name": "Author Name"
  },
  "type": "commit"
}

  • Tree:
{
  "file.name": {
    "mode": "100664",
    "hash": <LINK>
  },
  "directoryname": {
    "mode": "40000",
    "hash": <LINK>
  },
  ...
}
  • Blob:
"<base64 of 'blob <size>\0<data>'>"

Contribute

PRs are welcome!

Small note: If editing the Readme, please conform to the standard-readme specification.

License

MIT © Jeromy Johnson