[GERRITHUB-4] Set Gerrit refs/meta/config on imported repos.

Create initial Project properties (project.config
and groups) on refs/meta/config whenever a GitHub
project gets imported.

In order to allow a non-Gerrit administrator to have
full control over the imported project, assign
extra owner and GitHub-like permissions to the individual
user  that performed the operation.

P.S. In order to allow Gerrit to assign permissions
to an individual user, a SingleUserGroup plugin is
needed to be installed.

Change-Id: I596b2e80b4d9519668a1ab289d6c950139d6a922
5 files changed
tree: 529cb15f252bb1ad356ce7a4a960077014658923
  1. github-oauth/
  2. github-plugin/
  3. .gitignore
  4. LICENSE
  5. pom.xml
  6. README.md
README.md

GitHub plugin

Integration between Gerrit and an external repository on GitHub.

Integration points

Provides the basic integration points for working effectively with Gerrit as code-review tool for an existing repository hosted on GitHub:

  1. Authentication. (WIP)

Users can login to Gerrit using the same username and credentials in GitHub. Gerrit login points to GitHub for generating the SSO token to be used for the code-review authenticated session.

  1. Push-Pull replication. (TODO)

Existing GitHub repositories are automatically replicated to Gerrit for the purpose of performing code-review and pushing back changes once approved. Additionally to the standard Gerrit push replication, supports as well the ability to pull branches from remote GitHub repositories.

  1. Pull-request to Change. (TODO)

Hooks into the GitHub pull-request mechanism to automatically create a Change in Gerrit submitted for review.