gitstr

package module
v0.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 6, 2024 License: MIT Imports: 17 Imported by: 0

README

gitstr

Send and receive git patches over Nostr, using NIP-34.

How to install

Do go install github.com/fiatjaf/gitstr/cmd/git-str@latest if you have Go or download a binary.

How to receive patches

If you want to receive patches in our repo, call git str init -r <relay> [-r <relay>...], this will ask you a bunch of questions (you can also answer them using flags and not be asked, see git str init --help) and then it will announce your repository to the relays specified with -r.

After someone has sent you a patch you'll be able to call git str download and fetch all patches. They will be stored in the .git/str/patches/ directory. You can also pass arguments to git str download, like an nevent1... code or a npub1... code, to download only patches narrowed by these arguments.

After that you can call git am -i <patch-file> to apply the patch.

How to send patches

First you need to know the naddr1... code that corresponds to the target upstream repository you're sending the patch to. Until someone makes an explorer of git repositories or something like that, you'll have to get that manually from the repository owner.

Then call git send <commit> (you can use HEAD^ for the last commit and other git tricks here). You'll be asked some questions (which you can also answer with flags, see git str send --help) and the patch will be sent. You can also give a path to a patch file generated with git format-patch too instead.

Sending patches to repositories that haven't announced themselves

You can pass --dangling to git str send and that will happen. Later anyone can download that patch by specifying its nevent1 code on git str download <nevent1...>.

Contributing to this repository

Send your patches to naddr1qqrxw6t5wd68yqg5waehxw309aex2mrp0yhxgctdw4eju6t0qyt8wumn8ghj7un9d3shjtnwdaehgu3wvfskueqpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgq3q80cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsxpqqqpmejeaalw2.

Documentation

Index

Constants

View Source
const (
	RepoAnnouncementKind = 30617
	PatchKind            = 1617
	IssueKind            = 1621
	ReplyKind            = 1622
)

Variables

View Source
var App = &cli.Command{
	Name:                   "git str",
	Description:            "NIP-34 git nostr helper",
	Suggest:                true,
	UseShortOptionHandling: true,
	Before: func(ctx context.Context, c *cli.Command) error {
		pool = nostr.NewSimplePool(ctx)
		return nil
	},
	Commands: []*cli.Command{
		initRepo,
		download,
		send,
	},
}

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL