ssb-git-repo
Host git repos in secure-scuttlebutt
Example
var ssbGit = require('ssb-git-repo')
var repoId = '%CBeVWA9eYt6OhJDXFtqas6kWb5LwaJxYtfwDazKvh4U=.sha256'
ssbGit.getRepo(sbot, repoId, function (err, repo) {
if (err) throw err
})
API
ssbGit.createRepo(sbot[, options], cb(err, repo))
Create a repo. Publishes a message announcing the new repo.
sbot
: a scuttlebot or ssb-client objectoptions.forks
: message ID of a repo of which this repo is considered a forkoptions.live
: keep the repo updated as changes are pushed to itcb
: function called when the repo is createderr
: error creating the repo, if anyrepo
: ssbGit.Repo
object for the new repo
ssbGit.getRepo(sbot, repoId[, options], cb(err, repo))
Get a repo.
sbot
: a scuttlebot or ssb-client objectid
: ID of the SSB message that started the repooptions.live
: keep the repo updated as changes are pushed to itcb
: function called when the repo is retrievederr
: error retrieving the repo, if anyrepo
: ssbGit.Repo
object for the retrieved repo
ssbGit.repos(sbot, options): source(repo)
Get repos from the feed
sbot
: a scuttlebot or ssb-client objectoptions
: options to pass to sbot.createFeedStream
repo
: ssbGit.Repo
object
ssbGit.Repo
An abstract-pull-git-repo-compliant git repo object. Additional methods:
repo.close(cb(err))
Close the repo's update stream.
cb
: function called when the repo's stream is closederr
: error closing the repo, if any
TODO
- reuse index between a user's repos
- handle push with more object IDs than fit in a message
License
Copyright (c) 2016 Charles Lehner
Usage of the works is permitted provided that this instrument is
retained with the works, so that any entity that uses the works is
notified of this instrument.
DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.