Include '/a' into HTTP repository URLs to trigger authentication

Not having the '/a' prefix may lead to problems when a part of the
project is visible to Anonymous Users. In this case authentication is
never triggered. This is because for HTTP the first request is always
anonymous and then the server must say that authentication is
required. Only then the client can send user credrentials. If a
project is (partly) visible to Anonymous Users then the first
anonymous request is always successful and authentication never
happens. If the user is not authenticated refs which are not visible
to Anonymous Users, but for which the user has read access, are not
visible. As result the importer plugin cannot fetch these refs and
fails during the import with a NullPointerException when the ref for a
change cannot be found. Often the 'refs/meta/config' branch is
affected since this branch is normally not visible for Anonymous
Users.

With this change Gerrit 2.11.2 is required as minimal version on the
source Gerrit server. The handling of '/a' was fixed by commit
91643418. For earlier Gerrit versions fetching with the '/a' prefix
fails.

Change-Id: I483cffded0dfe3077d4cf95d6002900a9837ff9a
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
6 files changed
tree: 77fdfe1d3b761c2a7dc82d552f471a001be3e70d
  1. .settings/
  2. lib/
  3. src/
  4. .buckconfig
  5. .gitignore
  6. BUCK
  7. LICENSE
  8. pom.xml
  9. README.md
  10. VERSION
README.md

Importer - Gerrit Plugin to import projects

The importer plugin allows to import projects from one Gerrit server into another Gerrit server.

Projects can be imported while both source and target Gerrit server are online. There is no downtime required.

The git repository and all changes of the project, including approvals and review comments, are imported. Historic timestamps are preserved.

Project imports can be resumed. This means a project team can continue to work in the source system while the import to the target system is done. By resuming the import the project in the target system can be updated with the missing delta.

The importer plugin can also be used to copy a project within one Gerrit server, and in combination with the delete-project plugin it can be used to rename a project.