🔴 Cloning the ngit-cli repo
Steps aren't obvious for where the code for ngit can be found. The push is primarily towards trusting prebuilt binaries. Eventually I found
https://codeberg.com/DanConwayDev/ngit-cli.git and https://github.com/DanConwayDev/ngit-cli.git
🔴 Building / Installing
Obviously depends on rust, so need to have that toolchain configured. For people new to rust, indicating how to setup that toolchain could be a useful addition to the repository in either the README.md or INSTALL.md
🔴 NGIT INIT
Running ngit init presents a qr code to use in a remote signer. I choose 'n' for no, and have a prompt for login with nsec, bunker url, or nostr address. I choose a nostr address which isn't configured for remote login. So then I try to just spin up a new nsec, and save the login details.
Then I'm prompted for name (mine? the repo?), identifier, and description. After analyzing nip-34, I beleive this correlates to the name of the repository, d-tag, and description. After that is successfully entered, I get prompted for clone url (for fetch), so I use a mirror
name Corny Chat
identifier corny-chat
description 🌽 Corny Chat is an open source audio space built on Jam that integrates Nostr and Lightning
clone url https://github.com/vicariousdrama/cornychat.git
web https://gitworkshop.dev/repo/corny-chat
maintainers Vic (npub1yx6…7kza)
relays ?
earliest unique commit 98fbb6e3aea7cf16a56e15ca959c4a7de4ef69bc (Jan 3, 2024)
I didn't know what to put for relays and tried to enter a question mark thinking that would provide help on whether I need to specify a comma delimited list of values, include wss:// prefix etc. Nope, it took that question mark as the string to attempt and later indicated impossible to parse URL: relative URL without a base. For obvious reasions, the built in attempt to use nostr.mutinywallet.com also failed.
A maintainers.yaml file was created. I make changes to the file for the relays. Then commit and merge using normal git commands.
🔴 NGIT SEND
Next I attempt to ngit send and need to select commits for proposal. I'll just select the one I just sent. I get the warning about it already being in main, but I send anyway. I get an error that it cannot find profile.
Seeing as my generated nsec/npub has no profile yet, I guess this is a dependency. So I quickly make a kind 0 event and retry
Next it declares that it cannot find my relay ilst and I should consider using another nostr client to create one to enhance my nostr experience. At least it recognizes that I'm logged in as corny-chat-ngit-signer. I attempt to configure relays via nostrudel, but ngit never sees those updates. Weird that it can't just work with the relays specified in the maintainers.yaml file. So then I login to coracle and configure relays there with the hopes it'll publish the requisite events. It claim kind 10002 is being published
Now it seems to progress. I make a test branch, simple file change, local commit, then ngit send
repo-relay is still failing for impossible to parse URL : relative URL without a base
One of the relays I've configured requires auth, but it seems to have pushed it and provided this output
view in gitworkshop.dev: https://gitworkshop.dev/repo/naddr1qq9xxmmjdeuj6cmgv96qygqn7mkzvjfccq5uce5hfe7xajncf6z6mc2asalaqxsdyvnffqechcpsgqqqw7vszqfll2f979/proposal/nevent1qqsrzgr0g90t8fnlt8mevueysn6w7nn07a0ensl2jfg7t36p66tuqmqpqylszfr3yf
view in another client: https://njump.me/nevent1qqsrzgr0g90t8fnlt8mevueysn6w7nn07a0ensl2jfg7t36p66tuqmqpqylszfr3yf
Attempting to view that link in gitworkshop.dev failed Error! reference in URL is not a repository, proposal, issue or npub reference:
nevent1qqsrzgr0g90t8fnlt8mevueysn6w7nn07a0ensl2jfg7t36p66tuqmqpqylszfr3yf
The njump.me link works however so that's good
🔴 NGIT LIST
I see my ngit test proposal. This is as far as I've looked into this today.