Merge "Show Code Review quick approve button with missing labels"
diff --git a/Documentation/note-db.txt b/Documentation/note-db.txt
index a13cbfb..b376d6e 100644
--- a/Documentation/note-db.txt
+++ b/Documentation/note-db.txt
@@ -36,6 +36,67 @@
not available in 3.0, so any upgrade from Gerrit 2.x to 3.x must go through
2.16 to effect the NoteDb upgrade.
+== Format
+
+Each review ("change") in Gerrit is numbered. The different revisions
+("patchsets") of a change 12345 are stored under
+----
+ refs/changes/45/12345/${PATCHSET_NUMBER}
+----
+
+The revisions are stored as commits to the main project, ie. if you
+fetch this ref, you can check out the proposed change.
+
+A change 12345 has its review metadata under
+----
+ refs/changes/45/12345/meta
+----
+The metadata is a notes branch. The commit messages on the branch hold
+modifications to global data of the change (votes, global comments). The inline
+comments are in a
+link:https://git.eclipse.org/r/plugins/gitiles/jgit/jgit/\+/master/org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteMap.java[NoteMap],
+where the key is the commit SHA-1 of the patchset
+that the comment refers to, and the value is JSON data. The format of the
+JSON is in the
+link:https://gerrit.googlesource.com/gerrit/\+/master/java/com/google/gerrit/server/notedb/RevisionNoteData.java[RevisionNoteData]
+which contains
+link:https://gerrit.googlesource.com/gerrit/\+/master/java/com/google/gerrit/entities/Comment.java[Comment] entities.
+
+For example:
+----
+ {
+ "key": {
+ "uuid": "c7be1334_47885e36",
+ "filename":
+"java/com/google/gerrit/server/restapi/project/CommitsCollection.java",
+ "patchSetId": 7
+ },
+ "lineNbr": 158,
+ "author": {
+ "id": 1026112
+ },
+ "writtenOn": "2019-11-06T09:00:50Z",
+ "side": 1,
+ "message": "nit: factor this out in a variable, use
+toImmutableList as collector",
+ "range": {
+ "startLine": 156,
+ "startChar": 32,
+ "endLine": 158,
+ "endChar": 66
+ },
+ "revId": "071c601d6ee1a2a9f520415fd9efef8e00f9cf60",
+ "serverId": "173816e5-2b9a-37c3-8a2e-48639d4f1153",
+ "unresolved": true
+ },
+----
+
+Automated systems may post "robot comments" instead of normal
+comments, which are an extension of the previous comment, defined in
+the
+link:https://gerrit.googlesource.com/gerrit/\+/master/java/com/google/gerrit/entities/RobotComment.java[RobotComment]
+class.
+
[[migration]]
== Migration
diff --git a/java/com/google/gerrit/testing/TestLoggingActivator.java b/java/com/google/gerrit/testing/TestLoggingActivator.java
index 6b5d8fd..b3ad862 100644
--- a/java/com/google/gerrit/testing/TestLoggingActivator.java
+++ b/java/com/google/gerrit/testing/TestLoggingActivator.java
@@ -48,11 +48,6 @@
.put("org.openid4java.server.RealmVerifier", Level.ERROR)
.put("org.openid4java.message.AuthSuccess", Level.ERROR)
- // Silence non-critical messages from c3p0 (if used).
- .put("com.mchange.v2.c3p0", Level.WARN)
- .put("com.mchange.v2.resourcepool", Level.WARN)
- .put("com.mchange.v2.sql", Level.WARN)
-
// Silence non-critical messages from apache.http.
.put("org.apache.http", Level.WARN)
diff --git a/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java b/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
index b97d9f2..cbeb59d 100644
--- a/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
+++ b/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
@@ -19,6 +19,7 @@
import static com.google.common.truth.Truth.assertWithMessage;
import static com.google.common.truth.TruthJUnit.assume;
import static com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate.allowLabel;
+import static com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate.block;
import static com.google.gerrit.extensions.client.ListChangesOption.DETAILED_LABELS;
import static com.google.gerrit.extensions.client.ListChangesOption.REVIEWED;
import static com.google.gerrit.server.group.SystemGroupBackend.REGISTERED_USERS;
@@ -705,6 +706,23 @@
}
@Test
+ public void byProjectWithHidden() throws Exception {
+ TestRepository<Repo> hiddenProject = createProject("hiddenProject");
+ insert(hiddenProject, newChange(hiddenProject));
+ projectOperations
+ .project(Project.nameKey("hiddenProject"))
+ .forUpdate()
+ .add(block(Permission.READ).ref("refs/*").group(REGISTERED_USERS))
+ .update();
+
+ TestRepository<Repo> visibleProject = createProject("visibleProject");
+ Change visibleChange = insert(visibleProject, newChange(visibleProject));
+ assertQuery("project:visibleProject", visibleChange);
+ assertQuery("project:hiddenProject");
+ assertQuery("project:visibleProject OR project:hiddenProject", visibleChange);
+ }
+
+ @Test
public void byParentOf() throws Exception {
TestRepository<Repo> repo1 = createProject("repo1");
RevCommit commit1 = repo1.parseBody(repo1.commit().message("message").create());
diff --git a/plugins/codemirror-editor b/plugins/codemirror-editor
index 3cd520b..30c774f 160000
--- a/plugins/codemirror-editor
+++ b/plugins/codemirror-editor
@@ -1 +1 @@
-Subproject commit 3cd520b1521ff7c558d0cd95274628a3a20de30a
+Subproject commit 30c774f30c1709f71efc250a195dd6fb50c7503b
diff --git a/plugins/delete-project b/plugins/delete-project
index bfe159d..549de03 160000
--- a/plugins/delete-project
+++ b/plugins/delete-project
@@ -1 +1 @@
-Subproject commit bfe159d3007db0f07e967473b53f679ba8f432df
+Subproject commit 549de033d60b13aaeef45ce5c4bf42be39506268
diff --git a/polygerrit-ui/app/elements/change/gr-change-summary/gr-change-summary.ts b/polygerrit-ui/app/elements/change/gr-change-summary/gr-change-summary.ts
index aae8bb6..94324f3d 100644
--- a/polygerrit-ui/app/elements/change/gr-change-summary/gr-change-summary.ts
+++ b/polygerrit-ui/app/elements/change/gr-change-summary/gr-change-summary.ts
@@ -470,7 +470,6 @@
html`<gr-avatar
.account="${account}"
image-size="32"
- aria-label="Account avatar"
></gr-avatar>`
)}
${countUnresolvedComments} unresolved</gr-summary-chip
diff --git a/polygerrit-ui/app/elements/change/gr-confirm-move-dialog/gr-confirm-move-dialog.ts b/polygerrit-ui/app/elements/change/gr-confirm-move-dialog/gr-confirm-move-dialog.ts
index ce5b246..eb4053a 100644
--- a/polygerrit-ui/app/elements/change/gr-confirm-move-dialog/gr-confirm-move-dialog.ts
+++ b/polygerrit-ui/app/elements/change/gr-confirm-move-dialog/gr-confirm-move-dialog.ts
@@ -55,7 +55,7 @@
project?: RepoName;
@property({type: Object})
- _query?: (_text?: string) => Promise<AutocompleteSuggestion[]>;
+ _query: (input: string) => Promise<AutocompleteSuggestion[]>;
get keyBindings() {
return {
@@ -67,7 +67,7 @@
constructor() {
super();
- this._query = () => this._getProjectBranchesSuggestions();
+ this._query = (text: string) => this._getProjectBranchesSuggestions(text);
}
_handleConfirmTap(e: Event) {
@@ -93,10 +93,9 @@
}
_getProjectBranchesSuggestions(
- input?: string
+ input: string
): Promise<AutocompleteSuggestion[]> {
if (!this.project) return Promise.reject(new Error('Missing project'));
- if (!input) return Promise.reject(new Error('Missing input'));
if (input.startsWith('refs/heads/')) {
input = input.substring('refs/heads/'.length);
}
diff --git a/polygerrit-ui/app/elements/change/gr-confirm-move-dialog/gr-confirm-move-dialog_test.js b/polygerrit-ui/app/elements/change/gr-confirm-move-dialog/gr-confirm-move-dialog_test.js
index db00f6b..36a2ad3 100644
--- a/polygerrit-ui/app/elements/change/gr-confirm-move-dialog/gr-confirm-move-dialog_test.js
+++ b/polygerrit-ui/app/elements/change/gr-confirm-move-dialog/gr-confirm-move-dialog_test.js
@@ -64,5 +64,12 @@
done();
});
});
+
+ test('_getProjectBranchesSuggestions input empty string', done => {
+ element._getProjectBranchesSuggestions('').then(branches => {
+ assert.equal(branches.length, 0);
+ done();
+ });
+ });
});
diff --git a/polygerrit-ui/app/elements/change/gr-related-changes-list-experimental/gr-related-changes-list-experimental.ts b/polygerrit-ui/app/elements/change/gr-related-changes-list-experimental/gr-related-changes-list-experimental.ts
index ec1235e..c75b8c4 100644
--- a/polygerrit-ui/app/elements/change/gr-related-changes-list-experimental/gr-related-changes-list-experimental.ts
+++ b/polygerrit-ui/app/elements/change/gr-related-changes-list-experimental/gr-related-changes-list-experimental.ts
@@ -718,16 +718,15 @@
let button: TemplateResult | typeof nothing = nothing;
if (collapsible) {
- if (this.showAll) {
- button = html`<gr-button link="" @click="${this.toggle}"
- >Show less<iron-icon icon="gr-icons:expand-less"></iron-icon
- ></gr-button>`;
- } else {
- button = html`<gr-button link="" @click="${this.toggle}"
- >Show all (${this.length})
- <iron-icon icon="gr-icons:expand-more"></iron-icon
- ></gr-button>`;
+ let buttonText = 'Show less';
+ let buttonIcon = 'expand-less';
+ if (!this.showAll) {
+ buttonText = `Show all (${this.length})`;
+ buttonIcon = 'expand-more';
}
+ button = html`<gr-button link="" @click="${this.toggle}"
+ >${buttonText}<iron-icon icon="gr-icons:${buttonIcon}"></iron-icon
+ ></gr-button>`;
}
return html`<div class="container">${title}${button}</div>
diff --git a/polygerrit-ui/app/elements/change/gr-thread-list/gr-thread-list_html.ts b/polygerrit-ui/app/elements/change/gr-thread-list/gr-thread-list_html.ts
index 382e17c..f6bd04e 100644
--- a/polygerrit-ui/app/elements/change/gr-thread-list/gr-thread-list_html.ts
+++ b/polygerrit-ui/app/elements/change/gr-thread-list/gr-thread-list_html.ts
@@ -128,7 +128,7 @@
on-click="_handleAllComments"
checked="[[_showAllComments(_draftsOnly, unresolvedOnly)]]"
/>
- <label for="all">
+ <label for="allRadio">
All ([[_countAllThreads(threads)]])
</label>
</template>
diff --git a/polygerrit-ui/app/styles/themes/dark-theme.ts b/polygerrit-ui/app/styles/themes/dark-theme.ts
index f877771..01cee4c 100644
--- a/polygerrit-ui/app/styles/themes/dark-theme.ts
+++ b/polygerrit-ui/app/styles/themes/dark-theme.ts
@@ -174,7 +174,7 @@
--header-text-color: var(--primary-text-color);
/* diff colors */
- --dark-add-highlight-color: #133820;
+ --dark-add-highlight-color: var(--green-tonal);
--dark-rebased-add-highlight-color: rgba(11, 255, 155, 0.15);
--dark-rebased-remove-highlight-color: rgba(255, 139, 6, 0.15);
--dark-remove-highlight-color: #62110f;
@@ -187,7 +187,7 @@
--diff-selection-background-color: #3a71d8;
--diff-tab-indicator-color: var(--deemphasized-text-color);
--diff-trailing-whitespace-indicator: #ff9ad2;
- --light-add-highlight-color: #0f401f;
+ --light-add-highlight-color: #182b1f;
--light-rebased-add-highlight-color: #487165;
--diff-moved-in-background: #1d4042;
--diff-moved-out-background: #230e34;
diff --git a/resources/log4j.properties b/resources/log4j.properties
index 39246b3..2898cfc 100644
--- a/resources/log4j.properties
+++ b/resources/log4j.properties
@@ -41,11 +41,5 @@
log4j.logger.org.openid4java.server.RealmVerifier=ERROR
log4j.logger.org.openid4java.message.AuthSuccess=ERROR
-# Silence non-critical messages from c3p0 (if used).
-#
-log4j.logger.com.mchange.v2.c3p0=WARN
-log4j.logger.com.mchange.v2.resourcepool=WARN
-log4j.logger.com.mchange.v2.sql=WARN
-
# Silence non-critical messages from apache.http
log4j.logger.org.apache.http=WARN
diff --git a/tools/bzl/js.bzl b/tools/bzl/js.bzl
index bbb1432..facb1ce 100644
--- a/tools/bzl/js.bzl
+++ b/tools/bzl/js.bzl
@@ -455,22 +455,8 @@
if not plugin_name:
plugin_name = name
- html_plugin = app.endswith(".html")
srcs = srcs if app in srcs else srcs + [app]
-
- if html_plugin:
- # Combines all .js and .html files into foo_combined.js and foo_combined.html
- _bundle_rule(
- name = name + "_combined",
- app = app,
- srcs = srcs,
- deps = deps,
- pkg = native.package_name(),
- **kwargs
- )
- js_srcs = [name + "_combined.js"]
- else:
- js_srcs = srcs
+ js_srcs = srcs
native.filegroup(
name = name + "-src-fg",
@@ -483,25 +469,6 @@
src = name + "-src-fg",
)
- if html_plugin:
- native.genrule(
- name = name + "_rename_html",
- srcs = [name + "_combined.html"],
- outs = [plugin_name + ".html"],
- cmd = "sed 's/<script src=\"" + name + "_combined.js\"/<script src=\"" + plugin_name + ".js\"/g' $(SRCS) > $(OUTS)",
- output_to_bindir = True,
- )
- else:
- # For polymer 3 migration, we will only have js plugins, in case server side
- # is still asking for *.html, we still want to create a html placeholder just to load the js
- # TODO(taoalpha): this should be cleaned up once polymer 3 plugins are the only ones gerrit supports
- native.genrule(
- name = name + "_rename_html",
- outs = [plugin_name + ".html"],
- cmd = "echo \"<script src='" + plugin_name + ".js'></script>\" > $(OUTS)",
- output_to_bindir = True,
- )
-
native.genrule(
name = name + "_rename_js",
srcs = [name + ".min"],
@@ -510,7 +477,7 @@
output_to_bindir = True,
)
- static_files = [plugin_name + ".js", plugin_name + ".html"]
+ static_files = [plugin_name + ".js"]
if assets:
nested, direct = [], []