forked from cerc-io/ipld-eth-server
		
	| .. | ||
| .travis.yml | ||
| blob.go | ||
| codecov.yml | ||
| commit.go | ||
| git.go | ||
| go.mod | ||
| go.sum | ||
| make-test-repo.sh | ||
| package.json | ||
| README.md | ||
| tag.go | ||
| testdata.tar.gz | ||
| tree.go | ||
Git ipld format
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