Can you try this:
npm install -g ssb-npm@2.1.0 --registry=http://localhost:8043/%25eFIbE3xUB5x0ww6qNlAxBSa6S501kTDlxfaqn5tUOqU%3D.sha256
It may take a while as it depends on ssb-ooo
and connecting to peers that have ssb-ooo
to get the messages that are not in your follow graph.
Alternatively, here is a newer command which doesn't require fetching any messages, just one blob:
npm install -g 'http://localhost:8989/blobs/get/&qcphVNO9k28QT0oASdyjH41XEySuTxX3STooEj+olEE=.sha256'
Source: %hkcq6zT...
This should give you the current latest release of git-ssb (v2.8.0
):
ssb-npm install -g git-ssb --branch %xlfr8klBuPNiHSXQ5uq2HkrIWudCz9Zzs9jiBoJBz3s=.sha256
Or you could try the binary release, referenced in %3RWdXwI....
The error "Message is too big to send" is probably because there are too many refs updates (branches and tags) being pushed at once, such that the resulting ssb message is too large to publish. git-ssb tries to drop metadata from the message to fit in the 8192 limit, as you saw, since much of the the metadata can be recovered from the blob data, but the ref updates are assumed to always be encoded into the message. Probably the error message could be improved here.
In addition to the limit on number of refs pushed in one message, with a large repo you also run into the blob limit (5MB) for the packfile blob for the git objects being pushed.
As @punkmonk said, pushing the repo in chunks, N commits at a time, is the way to go currently. That can work around both the blob size limit and message size limit. Here is some more info about how to do it: %S2tNL3N.... Ideally it would be taken care of automatically, but that will take some work to implement.
You can also use push options no-mentions
and passthrough
, to make large pushes less memory- and CPU-intensive: %H27E0DL...
@Denis M Goddard
To enable git-ssb-web to log requests to stdout (just the request method & paths), either use git-ssb-web
with CLI option --logging.level info
, or put {"logging": {"level": "notice"}
in your ~/.ssb/config
.
The 403 thing is supposed to prevent DNS rebinding attack. You can disable that by using CLI option --public
, or put {"public": true}
in your ~/.ssb/config
. That will put git-ssb-web
in a read-only mode so it can be suitable for public access.