All Projects → ipfs → Go Ipld Git

ipfs / Go Ipld Git

ipld handlers for git objects

Programming Languages

go
31211 projects - #10 most used programming language

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.

Lead Maintainer

Łukasz Magiera

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": "[email protected]",
    "name": "Author Name"
  },
  "committer": {
    "date": "1503667703 +0200",
    "email": "[email protected]",
    "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": "[email protected]",
    "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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].