Open Pull Request

Logo

Open Pull Request Specification

View My GitHub Profile

Project Description

Summary

This specification will describe a convention on top of a git repository that makes it easier for developers to collaborate.

Open Pull Requests will provide a standard way for reviewing and discussing proposed changes before integrating them into a target branch.

They will be stored inside the repository itself as git references, yet they will not interfere with the rest of the branches.

Goals

Prior Art

There are several well-known git repository hosting services that provide Pull Requests as an additional functionality through their web application.

Our goal here is to look at how do they store internally (in the git repository) information about the pull requests, so that this specification can integrate better with them if possible.

GitHub

For each Pull Request, GitHub exposes the next internal, read-only git references:

In addition, other metadata is exposed through the REST API: https://api.github.com/repos/octocat/Hello-World/pulls/32

BitBucket

For each Pull Request, BitBucket exposes the next internal, read-only git references:

In addition, other metadata is exposed through the REST API: https://api.bitbucket.org/2.0/repositories/tutorials/tutorials.bitbucket.org/pullrequests/4199

GitLab

For each Merge Request, GitLab exposes the next internal, read-only git references:

In addition, other metadata is exposed through the REST API: https://gitlab.com/api/v4/projects/8377576/merge_requests/1

References

GitHub

BitBucket

GitLab