Skip to content

Commit

Permalink
some documentation, finally
Browse files Browse the repository at this point in the history
  • Loading branch information
dominictarr committed Jul 12, 2012
1 parent 014e73f commit 58aec80
Showing 1 changed file with 37 additions and 6 deletions.
43 changes: 37 additions & 6 deletions readme.markdown
Original file line number Diff line number Diff line change
@@ -1,20 +1,51 @@
# snob

Snob is an experimental Version Control System implemented is js.
# Snob

Snob is a Distributed Version Control System implemented is js.
You can think of it as a Model layer for realtime collaborative applications,
or as a peer to peer database.
or as a peer to peer database.

Each node has a `Repo` object, and they replicate by sending change sets to each other.

Snob has the same architecture as `git`, but with plugable diff-tools. That means,
it can support any kind of objects, if you can `diff`, `diff3`, and `patch` them.

currently experimental, please contact if you are interested in using this.
by default, snob uses [xdiff](https://github.com/dominictarr/xdiff)

## self hosting!
## Self Hosting!

snob became self hosting.

```
4f63d2637ae35e9313fd4f23ea6cf4e8e527ba3c null Sun, 18 Mar 2012 08:20:34 GMT
```

## Example

// create two Repos and pipe them together.

```
var Repo = require('snob')
var A = new Repo()
var B = new Repo()
var as
// pipe in a circle, like this.
(as = A.createStream())
.pipe(B.createStream())
.pipe(as)
// of course, the streams can also be stringified and
// passed over a text stream. )
A.commit({hello: ['whatever']})
console.log(A.checkout())
console.log(B.checkout())
```

### API

just like git. read the source.

0 comments on commit 58aec80

Please sign in to comment.