From 8225a018c72c4d11b575ed4e57fa587d08c09027 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Thu, 7 Mar 2024 09:01:19 +0000 Subject: [PATCH] NIP-34: optional tags to improve discoverability earliest-unique-commit r tag enables clients to: - retrieve all repo events refering to a local git repo - group repo events with different identifers that refer to same repo - retrieve all patches for a local repo, irespective of the tagged repo event current-commit-id r tag enables clients to prevent accidental submission of a patch, which has already been proposed root-revision tag enables clients to filter out proposal revisions from a list of proposals --- 34.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/34.md b/34.md index bb7e3eec..fefc7af5 100644 --- a/34.md +++ b/34.md @@ -23,6 +23,8 @@ Git repositories are hosted in Git-enabled servers, but their existence can be a ["web", "", ...], // a webpage url, if the git server being used provides such a thing ["clone", "", ...], // a url to be given to `git clone` so anyone can clone it ["relays", "", ...] // relays that this repository will monitor for patches and issues + ["earliest-unique-commit", ""] // usually root commit but a recent commit for forks + ["r", ""] // so clients can subscribe to all events related to a local git repo ["maintainers", "", ...] ] } @@ -46,17 +48,20 @@ The first patch revision in a patch revision SHOULD include a NIP-10 `e` `reply` "content": "", // contents of "tags": [ ["a", "30617::"], + ["r", ""] // so clients can subscribe to all patches sent to a local git repo ["p", ""], ["p", ""], // optionally send the patch to another user to bring it to their attention - // for the first patch in a thread or series - ["t", "root"], + ["t", "root"], // ommited for additional patches in a series + // for the first patch in a revision + ["t", "root-revision"], // optional tags for when it is desirable that the merged patch has a stable commit id // these fields are necessary for ensuring that the commit resulting from applying a patch // has the same id as it had in the proposer's machine -- all these tags can be omitted // if the maintainer doesn't care about these things ["commit", ""], + ["r", ""] // so clients can find existing patches for a specific commit ["parent-commit", ""], ["commit-pgp-sig", "-----BEGIN PGP SIGNATURE-----..."], // empty string for unsigned commit ["committer", "", "", "", ""],