Merge branch 'stable-2.14' into stable-2.15 * stable-2.14: Set version to 2.14.11 Upgrade elasticsearch-rest-client to 6.3.2 StalenessChecker: URLDecode project name before checking staleness AbstractQueryChangesTest: Add a test with project name that requires URL encoding Upgrade Dropwizard Metrics to 4.0.3 Upgrade JGit to 4.7.2.201807261330-r Fix typos in documentation of 'List Files' REST API element Change-Id: Ie19c82d34971264780d636843ccd76438f23a76e
diff --git a/Documentation/rest-api-changes.txt b/Documentation/rest-api-changes.txt index 9f6cabd..c5bf599 100644 --- a/Documentation/rest-api-changes.txt +++ b/Documentation/rest-api-changes.txt
@@ -4761,8 +4761,8 @@ GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/files/ HTTP/1.0 ---- -As result a map is returned that maps the link:#file-id[file path] to a list of -link:#file-info[FileInfo] entries. The entries in the map are +As result a map is returned that maps the link:#file-id[file path] to a +link:#file-info[FileInfo] entry. The entries in the map are sorted by file path. .Response
diff --git a/WORKSPACE b/WORKSPACE index e081e46..3eaa832 100644 --- a/WORKSPACE +++ b/WORKSPACE
@@ -568,8 +568,8 @@ maven_jar( name = "dropwizard-core", - artifact = "io.dropwizard.metrics:metrics-core:4.0.2", - sha1 = "ec9878842d510cabd6bd6a9da1bebae1ae0cd199", + artifact = "io.dropwizard.metrics:metrics-core:4.0.3", + sha1 = "bb562ee73f740bb6b2bf7955f97be6b870d9e9f0", ) # When updading Bouncy Castle, also update it in bazlets. @@ -880,8 +880,8 @@ maven_jar( name = "elasticsearch-rest-client", - artifact = "org.elasticsearch.client:elasticsearch-rest-client:6.3.1", - sha1 = "99de036a2cd99dbecec1cc84f5d0e19032e74fa7", + artifact = "org.elasticsearch.client:elasticsearch-rest-client:6.3.2", + sha1 = "2077ea5f00fdd2d6af85223b730ba8047303297f", ) JACKSON_VERSION = "2.6.6"
diff --git a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java index 050301f..92b1d95 100644 --- a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java +++ b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java
@@ -49,7 +49,7 @@ case V6_2: return "docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.4"; case V6_3: - return "docker.elastic.co/elasticsearch/elasticsearch-oss:6.3.1"; + return "docker.elastic.co/elasticsearch/elasticsearch-oss:6.3.2"; } throw new IllegalStateException("No tests for version: " + version.name()); }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/ChangeFinder.java b/gerrit-server/src/main/java/com/google/gerrit/server/ChangeFinder.java index 61df296..46016c9 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/ChangeFinder.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/ChangeFinder.java
@@ -19,6 +19,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Sets; import com.google.common.primitives.Ints; +import com.google.gerrit.extensions.restapi.Url; import com.google.gerrit.index.IndexConfig; import com.google.gerrit.reviewdb.client.Change; import com.google.gerrit.reviewdb.client.Project; @@ -173,7 +174,7 @@ InternalChangeQuery query = queryProvider.get().noFields(); List<ChangeData> r = query.byLegacyChangeId(id); if (r.size() == 1) { - changeIdProjectCache.put(id, r.get(0).project().get()); + changeIdProjectCache.put(id, Url.encode(r.get(0).project().get())); } return asChangeNotes(r); }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/index/change/StalenessChecker.java b/gerrit-server/src/main/java/com/google/gerrit/server/index/change/StalenessChecker.java index bbc38a3..a9cd070 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/index/change/StalenessChecker.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/index/change/StalenessChecker.java
@@ -29,6 +29,7 @@ import com.google.common.collect.Sets; import com.google.common.collect.Streams; import com.google.gerrit.common.Nullable; +import com.google.gerrit.extensions.restapi.Url; import com.google.gerrit.index.IndexConfig; import com.google.gerrit.reviewdb.client.Change; import com.google.gerrit.reviewdb.client.Project; @@ -189,7 +190,8 @@ String s = new String(b, UTF_8); List<String> parts = Splitter.on(':').splitToList(s); RefStatePattern.check(parts.size() == 2, s); - result.put(new Project.NameKey(parts.get(0)), RefStatePattern.create(parts.get(1))); + result.put( + new Project.NameKey(Url.decode(parts.get(0))), RefStatePattern.create(parts.get(1))); } return result; }
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 a152c7f..934d893 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
@@ -2640,6 +2640,13 @@ assertQuery(query); } + @Test + public void byUrlEncodedProject() throws Exception { + TestRepository<Repo> repo = createProject("repo+foo"); + Change change = insert(repo, newChange(repo)); + assertQuery("project:repo+foo", change); + } + protected ChangeInserter newChange(TestRepository<Repo> repo) throws Exception { return newChange(repo, null, null, null, null, false); }