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