Re: GitHub “pull request” is proprietary, incompatible with Git ‘request-pull ’
Ian Jackson <email@example.com> writes:
> Ben Finney writes ("Re: GitHub “pull request” is proprietary, incompatible with Git ‘request-pull ’"):
> > My reading of <URL:https://developer.github.com/v3/#authentication>
> > leads me to infer there's no way for to submit a GitHub “pull
> > request” without having a GitHub account.
> > Decentralisation would require that anyone with a Git repository can
> > submit a GitHub “pull request” without any need for a GitHub
> > account. I'd love to learn if that's possible now.
> This subthread is in danger of going off into the weeds.
> For the avoidance of any doubt: I was volunteering to do some work if
> we can figure out what the work is that needse to be done (and it
> seems plausible to me, obviously).
Thanks. In that context, then, let me answer in a different way:
A putative decentralised  Git pull request feature would IMO require
that anyone with a Git repository can submit a pull request to any
other, without any registration on a privileged central server.
My understanding is that Git ‘request-pull’ satisfies this requirement
for decentralisation, by using two decentralised protocols: Git, and
a formatted plain text file.
> The way I am offering to help is this: there seems to (or some people
> are saying there is) a lack of straightforward server-side software
> which (i) project maintainers can run on a suitable friendly server
> and (ii) contributors who are used to a github workflow can interact
> with reasonably easily.
Once a hosted service decides to use Git ‘request-pull’ on which to
build its pull request feature, it already knows the inputs to the ‘git
request-pull’ command: the start and end commit hash, the repository URL.
So what seems to be lacking is:
* A reliably-available transport for getting the ‘request-pull’ output
from one repository to an arbitrary one hosted elsewhere.
One obvious candidate is email (a decentralised service), but Git
repositories don't automatically know how to send and receive email.
* Good UX design for the workflow around generating and applying an
individual pull request.
 As an aside, the terms “decentralised”, “federated”, “distributed”
can get confusing; I think the article at that URL may help.
\ “Never express yourself more clearly than you are able to |
`\ think.” —Niels Bohr |