tree 56db114270a337eea3630cf92f5bea8ddef2adc5
parent 3b6e3288511f133719bb92f83d72b47d9ef7a38f
author Edwin Kempin <ekempin@google.com> 1676975820 +0100
committer Edwin Kempin <ekempin@google.com> 1677148150 +0100

BatchUpdate: Support executing ops by different users

RebaseChain uses BatchUpdate to rebase the changes of a chain within a
single transaction.

For RebaseChain we want to support rebasing on behalf of the uploader.
For this each RebaseChangeOp needs to be executed by the user that is
the uploader of the change that is being rebased. Since the changes in
the chain may have different uploaders, RebaseChangeOp's in the same
BatchUpdate may need to be executed by different users. To make this
possible we allow specifying a user when adding ops to BatchUpdate that
should be used to execute the BatchUpdateOp.

The user on whom's behalf an op is executed is provided via the Context.
This means we need to create a new Context instance whenever an op is
executed, at least if the user for an op differs from the user that was
used to execute the previous op.

Change updates for the same change, patch set and user are still
squashed together if they are executed consecutively. This is enabled by
reusing the ChangeContextImpl for a BatchUpdateOp if it has the same
change and user as the previously execute BatchUpdateOp (so that
ChangeContext#getUpdate can return the same ChangeUpdate instance if it
is invoked multiple times for the same patch set).

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