Overview

Some of the repositories hosted on git.linaro.org under the leg/openjdk/ path, are mirrors of the upstream OpenJDK project.

The upstream repositories browser is here: http://hg.openjdk.java.net/

Setup

All the mirroring happens in the /srv/mirror/openjdk/ directory on the git server:

  • All directories ending in .git are the git repositories

  • All directories without the .git ending are the upstream mercurial mirror

In order for the mirror to work you need to install:

The setup is a manual process, but once set up, the script automatically updates all the repositories in the above mentioned directory.

To set up a new mirror, first it is necessary to clone the mercurial upstream repo, and then locally clone it into a git one.

Clone upstream repository

hg clone URL

Mirror the local clone

  1. git clone hg::/path/to/repo repo.git
  2. Update the remote push URL so that it points to the final location on the git server:

    git remote set-url --push origin /path/to/real/repo.git
  3. Perform a first push of the repository:

    gitolite push --all
    gitolite push --tags

If the update script has been configured correctly, it will regularly run as a cron job.

Possible Errors

Error while running fast-import

Sometimes it is possible to see an error like this:

fatal: mark :51860 not declared
fast-import: dumping crash report to .git/fast_import_crash_8280
fatal: Error while running fast-import

For some reasons, the git-hg mirror broke. To fix this, it is necessary to re-created the local mirror and setup the correct remote URLs. See above for instructions.

Platform/Systems/OpenJDKMirror (last modified 2014-06-30 08:52:15)