[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GitHub “pull request” is proprietary, incompatible with Git ‘request-pull ’

Ian Jackson <ijackson@chiark.greenend.org.uk> 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 [0] 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.

[0] 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 |
_o__)                                                                  |
Ben Finney

Reply to: