Chris Masone 5f34469f22 Allow for Dataset and DataStore to be headless
Get rid of the notion of a special 'Empty' Commit value, which means
that a freshly created Dataset or DataStore will have no Head at
all. To allow callers to tolerate this, we provide the MaybeHead()
method for them to use when they're unsure about whether a given
Data{set,Store} has ever been committed to.

To ease the API impacts of this change, we've also modified Commit()
to take a types.Value and handle creating a Commit struct holding that
Value and descending directly from the current Head.
Callers who wish to provide alternate parents can use CommitWithParents()
2015-08-24 15:55:17 -07:00
2015-08-20 10:58:41 -07:00
2015-08-17 13:44:50 -07:00
2015-08-18 16:24:26 -07:00
2015-08-20 10:58:41 -07:00
2015-07-30 17:03:39 -07:00

Noms

Noms is a content-addressable, immutable, peer-to-peer datastore for structured data.

In other words, noms is git for data.

This repository will contain the reference implementation of the noms protocol, and will eventually be open sourced.

This includes:

  • Go wrappers for all the core noms types
  • Support for generating Go types from Nom schema definitions
  • Chunking and dechunking
  • Serialization and deserialization
  • Chunkstore interface as well as several sample implementations
  • Search support
  • Sample applications

Get the code

go get -u -t github.com/attic-labs/noms/...

Build

go build ./...
go test ./...

Run

cd <noms>/clients/counter
go build
./counter -fs="/tmp/foo" -ds="foo"
./counter -fs="/tmp/foo" -ds="foo"
./counter -fs="/tmp/foo" -ds="foo"

rejoice!

You can see the raw data:

ls /tmp/foo
cat /tmp/foo/root

You can also explore the data visually. Follow the instructions in clients/explore.

Description
Dolt – Git for Data
Readme Apache-2.0 368 MiB
Latest
2026-01-29 19:13:28 -06:00
Languages
Go 84%
Shell 15.1%
JavaScript 0.3%
Java 0.1%