tree 8489dbea814d7a180d09fd8e91cb2aad8a62e0a2
parent e3cc02f151c6d741770f478475bed9909ed830ca
author Edwin Kempin <ekempin@google.com> 1677055575 +0100
committer Edwin Kempin <ekempin@google.com> 1677062370 +0100

ChangeInfo: Add convenience method to get the current revision

Currently it's not possible to get the current revision as a
RevisionInfo in a single line, but one needs to do:

  ChangeInfo changeInfo = gApi.changes().id(changeId).get();
  RevisionInfo revisionInfo =
      changeInfo.revisions.get(changeInfo.currentRevision);

With the new convenience method this can be a single line now:

  RevisionInfo revisionInfo =
      gApi.changes().id(changeId).get().getCurrentRevision();

As a proof of concept we adapted to tests (RebaseIT and
RebaseOnBehalfOfUploaderIT) to use the new method.

Release-Notes: skip
Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: I0f3903b842403406f1d866bb567c2bd9d368975f
