RepoUpdater: store in destination the source manifest revision

Right now it is not possible to know the specific revision of a manifest
that defined the destination repository. This is problematic for
debugging and to detect mismatches e.g. when the manifest is updated but
the translation to superproject failed.

Write to the destination repository a ".supermanifest" file with the
repo, reference and commit-id of the source manifest used.

Alternatives considered to write the source repo/ref/hash:

  * .gitattributes of the .gitmodules file. Some updates in the manifest
    don't touch the .gitmodules (e.g. a linkfile change), so it can fall
    out of sync.

  * commit message. Caller would need to follow the commit history to
    find the latest modification by repo command. This is not helpful
    e.g. for build bots that want to get the value in one call.

This requires the RepoCommand#addToDestination method introduced in JGit

Change-Id: Iad66199d40828143f4764421247714b6f0625233
2 files changed
tree: 92412c08e68e595f6f80a7bae764a9a1998de407
  1. java/
  2. javatests/
  3. BUILD
  4. external_plugin_deps.bzl

The plugin will update a superproject to contain the submodules defined in the manifest XML file whenever the manifest repo is changed.

For more information see the documentation or the build instructions