Great, I will reference that
I threw together a related project might be useful. Looks like you're focusing a bit more on the commits themselves.Β I'm defiantly not set on my structure so might steal some ideas from you when I get back to working on it.
https://github.com/thesimplekid/nostrrepo/blob/main/portan/README.md
Discussion
"*`pubkey`** SHOULD be associated with a given repo. This could be communicated out of band, or, for example MAY be included in a file in the root directory of the repo, `nostr.json`"
How would this handle multiple collaborators? wouldn't they have to share the private key to sign the nostr event or am i misunderstanding?
Im testing that right now
But it seems that's at a different level
To collaborate a repo you normally go into the settings and add a key in ssh format
right but on a nostr event the pub key would have to match the signature. or the relays would reject it. So unless everyone that is able to commit to the repo shares a keypair that wont work i don't think.
I did this by having a repo publish event and then everything related to that repo has an e tag referencing the event. And at the client level you handle the collaborators, by ignoring events that arent published by pub keys with permissions.
Good feedback. I should rename the title a bit to make it clearer
The main thing on the nostr side will be references to actual git repos. There wont be commits, but there might be patches
So it's more like a git discovery and realtime update NIP, than git over nostr
Full git over nostr would be more complex and could be another nip. Possibly this would lay the ground work.
Possibly I could extend this to commits too. I'd like to get a working implementation first, then evaluate what's practical
You could commit code with notes and commit a reference page with a note that points to the code notes.
All you then need to do is have a fixed web address that points to the latest reference page note.
Allows version control to be stored and all the code is stored in a decentralised way on relays.
Fixed address -> latest reference note -> latest commit notes