Skip to content
This repository was archived by the owner on Feb 8, 2023. It is now read-only.
This repository was archived by the owner on Feb 8, 2023. It is now read-only.

Versioning: Commit + Repo Datastructures #23

Open
@jbenet

Description

@jbenet

Versioning has been a long time coming.

We need to construct the necessary data types before we start making any tooling around it. The types

The SYNTAX of the "merkldag DSL" is still TBD (#22), but for now using go-like

first, some types we need

// Any is any merkledag NodetypeIdentitystruct { KeySigningKey// link to a signing keyDatastruct { Namestring// the "name" of the identity } } typeAuthorshipstruct { AuthorIdentityDatastruct { Datestring// ISO timestamp in UTC? } } typeSignaturestruct { ObjectAny// link to the signed objectKeySigningKey// link to the signing keyDatastruct { Signature []byte// the signature bytes } } // generic type that terminates in a certain other leaf typetypeTree<LEAF_TYPE>struct { NAMELink<Tree|LEAF_TYPE>... }

the versioning data types

typeCommitstruct { Parents []Commit// "parent0" ... "parentN"AuthorAuthorship// link to an AuthorshipCommitterAuthorship// link to an AuthorshipObjectAny// what we version ("tree" in git)Datastruct { CommentString// describes the commit } } typeVersionRepositorystruct { RefsTree<Commit>// hierarchy of {branches, tags, heads, remotes, ... }LogsTree<File>// reflogs, etc... (maybe should be other than files...) }

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      close