Is there already a spec for following git repos? nostr:npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr nostr:npub1qqqqqq2stely3ynsgm5mh2nj3v0nk5gjyl3zqrzh34hxhvx806usxmln03
#asknostr #askdev
Login to reply
Replies (13)
Also for nostr:nprofile1qqs2qzx779ted7af5rt04vzw3l2hpzfgtk0a2pw6t2plaz4d2734vngnh633s, I am not sure how I am supposed to collaborate using ngit and GRASP. If I publish a repo using npub1x, but want to continue working on it using npub1y, how do I do it? I created a repo using nostr:nprofile1qqs9wvqsav858l8uy57z39vz35ct76fekptrsn3vcejg7sqfdt9w7nsej99y3, the bunker URL was added to the global ngit. I added my own npub (this profile) as a maintainer. I then tried pushing from the terminal but was shown that I was added as a maintainer, but haven't accepted the invite yet, and was asked to use ngit init again. I couldn't figure out how to accept, so ran ngit init. Once I did that, I think it just created another repo under this npub and any pushes just go to that repo instead of the original one
I want to publish repos using the Unsigned profile, and then continue working using this profile, I don't understand how to do that yet
๐
Irrelevant question, but why don't you want to have the repos in your own account?
I had the repos under a GitHub org to keep things clean. That also helped when adding others to the org, I had a couple of other guys helping me as well. I wanted to follow the same pattern, and keep certain repos under the brand's profile
Also because I have a theory that if you have multiple projects, you should put them under an org/brand which makes people more willing to report bugs, raise issues or PRs, then having them under your own name
Is the repository 'keyboard'?nostr:naddr1qvzqqqrhnypzq4eszr4s7slulsjnc2y4s2xnp0mf8xc9vwzw9nrxfr6qp94v4m6wqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hsqzrtv4ukymmpwfjqh0ukvh
Your npub is listed as a maintainer but it hasn't issue an announcement event which 'accepts' the invite.
This means you haven't successfully run `ngit init` under this npub. Maybe you ran it again under the other npub thus just updating the announcement? Run `ngit account login` to switch accounts before running `ngit init.
This UX needs to be tightened up. Maybe it should detect that the signed in account is attempting to push to a repo that they have been added to as a mantainer and auto accept the invite (issue an announcement event listing the other maintainers) before completeing the push.
also have a GUI to manage this eg in gitworkshop this would be nice.
yes that's the repo. i am sharing some terminal output for you to see if it's working fine
basantagoswami@asus:~/Workspace/UnsignedLabs/keyboard$ ngit account login
โ logged in to local git repository as basantagoswami ยท remain logged in
basantagoswami@asus:~/Workspace/UnsignedLabs/keyboard$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[user]
email = 36882714+basantagoswami@users.noreply.github.com
[remote "origin"]
url = nostr://npub1gmm2ehusvs35zgh6pq84m8hkj4ea0ygy3c9j2e3slzhjjce3kmns5tdaz2/relay.damus.io/keyboard
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
remote = origin
merge = refs/heads/main
[nostr]
repo = naddr1qqyxketevfhkzunyqgsyda4vm7gxgg6pytaqsr6anmmf2u7hjyzguze9vcc03tefvvcmdecrqsqqqaueky2g8v
bunker-uri = bunker://[REDACTED]?relay=wss://relay.damus.io
bunker-app-key = [REDACTED]
npub = npub1gmm2ehusvs35zgh6pq84m8hkj4ea0ygy3c9j2e3slzhjjce3kmns5tdaz2
basantagoswami@asus:~/Workspace/UnsignedLabs/keyboard$ ngit init
fetching updates...
โ wss://relay.nostr.band timeout after 7s timeout
โ wss://relay.snort.social/ no new events
โ wss://gitnostr.com no new events
โ wss://relay.mostr.pub no new events
โ wss://nos.lol no new events
โ wss://relay.ngit.dev no new events
โ wss://relay.damus.io no new events no updates
searching for profile updates...
โ wss://relay.nostr.band timeout after 7s timeout
โ wss://relay.damus.io no new events
โ wss://relay.snort.social/ no new events
โ wss://relay.mostr.pub no new events
โ wss://nos.lol no new events logged in as basantagoswami to local repository
? repo name (keyboard) โบ CTRL+C
basantagoswami@asus:~/Workspace/UnsignedLabs/keyboard$ cat ~/.gitconfig
[init]
defaultBranch = main
[core]
editor = code --wait
[diff]
tool = vscode
[difftool "vscode"]
cmd = code --wait --diff $LOCAL $REMOTE
[merge]
tool = vscode
[mergetool "vscode"]
cmd = code --wait $MERGED
[cinnabar]
version-check = 1729936304
[nostr]
bunker-uri = bunker://[REDACTED]?relay=wss://relay.damus.io
bunker-app-key = [REDACTED]
npub = npub12ucpp6c0g070cffu9z2c9rfsha5nnvzk8p8ze3ny3aqqj6k2aa8q0c52sm
if i continue here, it's not clear what will happen
? repo name (keyboard) โบ
i think i did it last time and then when i did git push, it showed up in the new repo that was created under this npub, instead of the original one. am i supposed to see the ? repo name prompt?
No! At the risk of duplicating the conversation on the NIP PR nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 just opened:
In nostr:nevent1qvzqqqqqqypzpgqgmmc409hm4xsdd74sf68a2uyf9pwel4g9mfdg8l5244t6x4jdqqs9ydqwez3x2k3e5rk8tmjkumg5zgf6xf8054zudfru0m9cc0p6slsf4n332 I proposed we should add a Git repository 'set' with a default d=starred that acts as a follow list.
but maybe a 'standard' NIP-51 git repository follow list like that PR suggests is better. Would / should clients label this list as starred repositories? I think may git clients will want to inherit the 'starred' concept from github but I there is an overlap with reactions, zaps and a repository follow list.
We should definately add git repositories as a set.
BudaBit is using lists for git repositories so we should also build on their work nostr:npub1ehhfg09mr8z34wz85ek46a6rww4f7c7jsujxhdvmpqnl5hnrwsqq2szjqv nostr:npub16p8v7varqwjes5hak6q7mz6pygqm4pwc6gve4mrned3xs8tz42gq7kfhdw.
To me sets with canonical names are an antipattern (see discussion in https://github.com/nostr-protocol/nips/pull/880 and the trouble we all had to prune the spec from these).
I think the concept of "starred" is just publishing a reaction to a repository (with a "k" tag of "30617"). Those can easily be queried later.
Following should be a simple list, either if you want to follow a repository to see everything that happens in it or someone to see their repositories and the patches they send elsewhere.
That should be the base and the simplest thing to implement. Sets are much more complex.
Organizing people and repositories in sets can be done (like for all the other lists we also have sets) but honestly that's more like a power user feature and we should postpone that to 2027 because there aren't even enough repositories today to fill a short simple list.
You CTRL-C exited the interactive `ngit init` command before publishing the event. `? repo name (keyboard) > ` is a prompt for the name of the repo, defaulting to 'keyboard'. So press enter to continue.
That all makes total sense. Reacting to a repository isn't and shouldn't be the same as following it.