Drop "Patch Set: <num>" prefix from change message that lists owned paths

This prefix triggers special logic in the web frontend. If this prefix
is present the frontend parses approvals from the message and shows
approval chips for them. Due to this it looks like approvals have been
applied twice. If a code-owners approval is applied and the message to
inform about the owned paths is posted asynchronously there are 2 change
messages and the web frontend shows an approval chip for both of them:

1. "Patch Set X: Code-Owner+1" posted by Gerrit core
2. "Patch Set X: By voting Code-Review+1 the following files are now
   code-owner approved by YYY: ..." posted by the code-owners plugin

By dropping the "Patch Set: <num>" prefix from the second change
message, the approval chip will only be shown for the first message.

Dropping the patch set information from the second change message is
fine, since the patch set to which the message relates is still
available from the change message meta data.

This problem started happening after the code-owners plugin has been
changed to post the code-owner approved paths asynchronously in a
separate change message, rather then extending the change message that
Gerrit core posts about the approval (see change I129e611af).

Bug: Google b/276276203
Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: I97a9bf0f8818abf31a071f88260359fbe677b30e
2 files changed
tree: ae17e686ee36c5caf6813a58752975ac9bb65703
  1. java/
  2. javatests/
  3. proto/
  4. resources/
  5. web/
  6. .gitignore
  7. .gitreview
  8. BUILD
  9. LICENSE
  10. README.md
README.md

Gerrit Code Review code-owners plugin

This plugin provides support for defining code owners for files in a repository.

If the code-owners plugin is enabled, changes can only be submitted if all touched files are covered by approvals from code owners.

For a detailed description of the plugin functionality please refer to the plugin documentation.

IMPORTANT: Before installing/enabling the plugin follow the instructions from the setup guide.

NOTE: The plugin documentation only renders correctly when the plugin is installed in Gerrit and the documentation is accessed via https:///plugins/code-owners/Documentation/index.html. If you want to read the documentation before installing the plugin, you can find it properly rendered here.

JavaScript Plugin

From the root of the gerrit repository.

bazel test //plugins/code-owners/web:karma_test

For testing the plugin with the Gerrit FE Dev Helper the command below builds

    bazel build //plugins/code-owners/web:code-owners
    ln -s bazel-bin/plugins/code-owners/web/code-owners.js polygerrit-ui/app/plugins/

and let the Dev Helper redirect from .+/plugins/code-owners/static/code-owners.js to http://localhost:8081/plugins/code-owners.js.