[GERRITHUB-4] GitHub repositories selection and clone.

Select the GitHub repositories to be automatically
configured for replication and review with Gerrit.
When accepted, clone all remote repositories
using JGit to the corresponding Gerrit projects
as organization/repository.

Page for selection and repository clone is all
made with jQuery and AJAX calls to allow maximum
responsiveness of the page and avoid time-outs
due to long-running clone operations.

In case of failures, page is idempotent and can be
used again for cloning the remaining repositories.
All incomplete clones are automatically cleaned up
so that can be retried at a later time.

Change-Id: Iba6338bb5fbe813d78c87c444815d94814144228
52 files changed
tree: 0a5ee9cdffdc944683f42be5bb6130ca78015070
  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.