[ot][spam][crazy] git-remote-bsv
Undiscussed Horrific Abuse, One Victim of Many
gmkarl at gmail.com
Sat May 14 13:53:22 PDT 2022
3. it only had to handle three commands in the line-based protocol.
I've changed the function names from git-remote-bsv below, for
clarity. The processes are meant to be run on the remote server, so
it's backward.
"capabilities\n" -> "connect\n\n"
"connect git-upload-pack\n" -> remote_uploads_to_us()
"connect git-receive-pack\n" -> remote_receives_from_us()
"connect" expects a process to be launched on the remote, with
stdin/stdout piped.
4. for both commands, first I synced the shadow dir called
"mirror_dir" down from the remote. this ensured it was a canonical
copy. I downloaded these files and dirs:
/description
/config
/info
/refs
/HEAD
/packed-refs
I additionally downloaded /objects, but I made sure not to overwrite
files that were newer locally, and if there were multiple copies on
the chain, I made sure to always pick the oldest one, to retain
integrity if a private key were compromised.
In case the repository had not refs remotely, or wasn't present
remotely, I then instantiated a refs folder:
140 fse.ensureDirSync(mirror_path + '/refs')
More information about the cypherpunks
mailing list