Merge branch 'stable-2.14' into stable-2.15
* stable-2.14:
doc: fix the example of index activate command
doc: add groups index to index activate command
AbstractQueryChangesTest: explicitly cover is:owner
AbstractQueryChangesTest: Add stub test for "query:" predicate
Fix internal errors when 'destination:' refers to non-existing destination
lib/elasticsearch: restore jackson_dataformat_smile
Change-Id: If2336eba372f4ceb476e08181cfac9f966466ac5
diff --git a/Documentation/cmd-index-activate.txt b/Documentation/cmd-index-activate.txt
index 418e872..4428d12 100644
--- a/Documentation/cmd-index-activate.txt
+++ b/Documentation/cmd-index-activate.txt
@@ -31,12 +31,13 @@
Currently supported values:
* changes
* accounts
+ * groups
== EXAMPLES
Activate the latest change index:
----
- $ ssh -p 29418 review.example.com gerrit activate changes
+ $ ssh -p 29418 review.example.com gerrit index activate changes
----
GERRIT
diff --git a/WORKSPACE b/WORKSPACE
index aafc1d5..d52fabd 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -974,6 +974,12 @@
)
maven_jar(
+ name = "jackson_dataformat_smile",
+ artifact = "com.fasterxml.jackson.dataformat:jackson-dataformat-smile:" + JACKSON_VERSION,
+ sha1 = "d36cbae6b06ac12fca16fda403759e479316141b",
+)
+
+maven_jar(
name = "httpasyncclient",
artifact = "org.apache.httpcomponents:httpasyncclient:4.1.2",
sha1 = "95aa3e6fb520191a0970a73cf09f62948ee614be",
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/VersionedAccountDestinations.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/VersionedAccountDestinations.java
index 5116cfb..2bb4bb7 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/VersionedAccountDestinations.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/VersionedAccountDestinations.java
@@ -53,6 +53,9 @@
@Override
protected void onLoad() throws IOException, ConfigInvalidException {
+ if (revision == null) {
+ return;
+ }
String prefix = DestinationList.DIR_NAME + "/";
for (PathInfo p : getPathInfos(true)) {
if (p.fileMode == FileMode.REGULAR_FILE) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java
index 4899d38..bb6c06c 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java
@@ -1104,7 +1104,7 @@
VersionedAccountDestinations d = VersionedAccountDestinations.forUser(self());
d.load(git);
Set<Branch.NameKey> destinations = d.getDestinationList().getDestinations(name);
- if (destinations != null) {
+ if (destinations != null && !destinations.isEmpty()) {
return new DestinationPredicate(destinations, name);
}
} catch (RepositoryNotFoundException e) {
diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
index 7a61038..3f8b81b 100644
--- a/gerrit-server/src/test/java/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
+++ b/gerrit-server/src/test/java/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
@@ -646,6 +646,7 @@
accountManager.authenticate(AuthRequest.forUser("anotheruser")).getAccountId();
Change change2 = insert(repo, newChange(repo), user2);
+ assertQuery("is:owner", change1);
assertQuery("owner:" + userId.get(), change1);
assertQuery("owner:" + user2, change2);
@@ -2501,6 +2502,24 @@
assertQuery("-assignee:" + user.getUserName(), change2);
}
+ @Test
+ public void userDestination() throws Exception {
+ TestRepository<Repo> repo = createProject("repo");
+ insert(repo, newChange(repo));
+
+ assertThatQueryException("destination:foo")
+ .hasMessageThat()
+ .isEqualTo("Unknown named destination: foo");
+ }
+
+ @Test
+ public void userQuery() throws Exception {
+ TestRepository<Repo> repo = createProject("repo");
+ insert(repo, newChange(repo));
+
+ assertThatQueryException("query:foo").hasMessageThat().isEqualTo("Unknown named query: foo");
+ }
+
protected ChangeInserter newChange(TestRepository<Repo> repo) throws Exception {
return newChange(repo, null, null, null, null, false);
}
diff --git a/lib/elasticsearch/BUILD b/lib/elasticsearch/BUILD
index 32a8cd0..d9c6c18 100644
--- a/lib/elasticsearch/BUILD
+++ b/lib/elasticsearch/BUILD
@@ -12,6 +12,7 @@
":t-digest",
"//lib/jackson:jackson-core",
"//lib/jackson:jackson-dataformat-cbor",
+ "//lib/jackson:jackson-dataformat-smile",
"//lib/lucene:lucene-highlighter",
"//lib/lucene:lucene-join",
"//lib/lucene:lucene-memory",
diff --git a/lib/jackson/BUILD b/lib/jackson/BUILD
index 5938c7b..8ade0cf 100644
--- a/lib/jackson/BUILD
+++ b/lib/jackson/BUILD
@@ -13,3 +13,9 @@
data = ["//lib:LICENSE-Apache2.0"],
exports = ["@jackson_dataformat_cbor//jar"],
)
+
+java_library(
+ name = "jackson-dataformat-smile",
+ data = ["//lib:LICENSE-Apache2.0"],
+ exports = ["@jackson_dataformat_smile//jar"],
+)