tl;dr:

They are compatible, n34 follow the email workflow while ngit follow the branch-PR-merge workflow.

Yes, they are both compatible, we both follow NIP-34. Using both you can send and fetch patch from relays, the only difference is how the patches being sent and fetched.

Ngit will handle the git things for you, like you only have to make your changes in pr/* branch, then push it, its remote will make the patch events for you and broadcast it to the relays.

n34 not, it just handle the nostr part, you have to make the patch my yourself using git-format-patch, then provide the patches to n34 to make the events and broadcast it.

Same with fetching, ngit will fetch the patches and apply them to branches, but n34 will give you the patches file and you can do whatever you want with them, like applying them using git-am.

Reply to this note

Please Login to reply.

Discussion

Got it. Sounds awesome! I sorta miss the days of mailing lists and patches. I’ll definitely play around with it. Since you won’t take zaps, here’s my kudos and appreciation from one “Indie Nostr dev” to another.

Thank you, looking back for your feedback

n34 is a cool UX. You create the patch yourself and supply it as a .patch file to n34. This means you really fine tune the patch config options.

With ngit, you dont have to use the branch-merge-model. Its built to be an accessable tool which can fit into a range of workflows. For example with `ngit send` you can create patches from selected commits. `ngit list` can apply them.

I love that we open protocols like git and nostr, there can be tools like n34 which hone in on a specific workflow and do a great job at making it smooth.

n34 also works good in conjunction with ngit. Clone a repository using a nostr:// and you'll get the repository state through nostr and the git data from the git servers the maintainers list vianostrl, but you can use n34 for browsing, applying and sending patches for the repo.

That's not even mentioning the totally cool n34 feature of being able to fire off issues from the command line.

Exactly, you can mix them and make something you comfortable with, like using ngit for sending and fetching but n34 for issues and reviewing patches.