-
Notifications
You must be signed in to change notification settings - Fork 714
nip34: personal fork tag change #2136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
I can see your adversion to a canonical "t" tags is consistant with your NIP-51 comment "To me sets with canonical names are an antipattern" but I thought using a single item array tag was an antipattern? The rationale for the use of a "t" tag is that it clients that don't 'support' it (ie hide peronal-forks from standard repository listings / search results) are likely to display the tags and thus degrades somehat gracefully by giving the user a clue that they are not the maintainer repository. This was the case with NostrHub.io @alexgleason. It would degrade even more gracefully if we justed used another kind number. This would take more work for clients to support pushing to it though. maybe this is better? The other rationale for a "personal-fork" explictly listed in the commit message 2aaba90839443dded18afb10adea5806904ea04f is that it can be used to to maintain a patched version of a dependancy; useful not least in build processes. There may be other reasons we haven't though of yet so maybe the laungage should be more open ended? Practically speaking, I think we are early enough to make this breaking change without too much bother but breaking changes are always annoying. I dont think @TheAwiteb, @chebizarro or @dluvian have implemented it yet. Anyone using the ngit v2.x that pushes a PR to a repository that doesnt list grasp servers, or the grasp servers aren't accepting the ref for whatever reason will create an announcement using the existing |
No, why would it be?
Yes, I thought of this, it's good, but still I thought it wasn't worth it. Maybe it is ok.
I like this more, then we can have other tags like point from where such repo was originally forked (with an "a" tag?) and ignore fields like "name", "description", "maintainers", "web". And clients that want can display a list of personal forks of any given repo. |
|
OK, now I'm thinking (sorry for not thinking this before, it hadn't occurred to me that this personal fork thing was even necessary so I missed that you had added it). I hate the idea of having to click "clone" on GitHub in order to send a patch, I think it's an awful antipattern, why are we replicating that here? When I first saw the idea of Grasp and thought that it would allow PRs to be made in a nice way I thought users would be able to seamlessly push a branch to a grasp server without having to announce a repository, the grasp server would just host that branch in a special "pull request" temporary area. Can we do that? It's the same as the repository state flow:
What am I missing? |
|
That is the happy path. But what happens if the repository announcement doesnt list grasp servers, or the grasp servers they list are offline, or dont accept your ref for some reason? this provides an alternative submission path. |
|
Actually, its a slightly diffeent flow you outlined.
|
|
So what I'm suggesting is just that you push to your own server (or to the server receiving the PR or whatever server, it shouldn't matter), but skip publishing a repository announcement. Maybe push it to |
We should also be breaking the ["t", "root"] in patches. We should be using different kinds. |
@DanConwayDev let me know please if this hurts your work too much. I just think it's more elegant to not reuse the "t" tag when we can do something like this.