-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
014e73f
commit 58aec80
Showing
1 changed file
with
37 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. | ||
|