Merge "Log and skip indexed fields that produce an error"
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/TrackingIdAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/TrackingIdAccess.java
index d8b2cee..9f2bae5 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/TrackingIdAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/TrackingIdAccess.java
@@ -29,6 +29,7 @@
@Query("WHERE key.changeId = ?")
ResultSet<TrackingId> byChange(Change.Id change) throws OrmException;
+ @Deprecated
@Query("WHERE key.trackingKey = ?")
ResultSet<TrackingId> byTrackingId(TrackingId.Id trackingId)
throws OrmException;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPickChange.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPickChange.java
index 2c20b03..1e748d9 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPickChange.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPickChange.java
@@ -193,10 +193,12 @@
PatchSet.Id patchSetId, RevCommit cherryPickCommit,
RefControl refControl) throws InvalidChangeOperationException,
IOException, OrmException, NoSuchChangeException {
- patchSetInserterFactory
- .create(git, revWalk, refControl, currentUser, change, cherryPickCommit)
- .setMessage(buildChangeMessage(patchSetId, change))
- .insert();
+ final PatchSetInserter inserter = patchSetInserterFactory
+ .create(git, revWalk, refControl, currentUser, change, cherryPickCommit);
+ final PatchSet.Id newPatchSetId = inserter.getPatchSetId();
+ inserter
+ .setMessage("Uploaded patch set " + newPatchSetId.get() + ".")
+ .insert();
return change.getId();
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java
index 2efb611..c01a31f 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java
@@ -190,7 +190,7 @@
}
public void setCurrentFilePaths(List<String> filePaths) {
- currentFiles = filePaths;
+ currentFiles = ImmutableList.copyOf(filePaths);
}
public List<String> currentFilePaths(Provider<ReviewDb> db,
@@ -223,6 +223,7 @@
case MODIFIED:
case DELETED:
case COPIED:
+ case REWRITE:
r.add(e.getNewName());
break;
@@ -230,9 +231,6 @@
r.add(e.getOldName());
r.add(e.getNewName());
break;
-
- case REWRITE:
- break;
}
}
Collections.sort(r);
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 760287c..5ede452 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
@@ -229,10 +229,7 @@
@Operator
public Predicate<ChangeData> comment(String value) throws QueryParseException {
- ChangeIndex index = args.indexes.getSearchIndex();
- if (index == null) {
- throw error("secondary index must be enabled for comment:" + value);
- }
+ ChangeIndex index = requireIndex(FIELD_COMMENT, value);
return new CommentPredicate(args.dbProvider, index, value);
}
@@ -347,15 +344,12 @@
@Operator
public Predicate<ChangeData> file(String file) throws QueryParseException {
if (file.startsWith("^")) {
- if (allowFileRegex || args.indexes.getSearchIndex() != null) {
- return new RegexFilePredicate(args.dbProvider, args.patchListCache, file);
- } else {
- throw error("secondary index must be enabled for file:" + file);
+ if (!allowFileRegex) {
+ requireIndex(FIELD_FILE, file);
}
+ return new RegexFilePredicate(args.dbProvider, args.patchListCache, file);
} else {
- if (args.indexes.getSearchIndex() == null) {
- throw error("secondary index must be enabled for file:" + file);
- }
+ requireIndex(FIELD_FILE, file);
return new EqualsFilePredicate(args.dbProvider, args.patchListCache, file);
}
}
@@ -671,4 +665,13 @@
}
throw new IllegalArgumentException();
}
+
+ private ChangeIndex requireIndex(String field, String value)
+ throws QueryParseException {
+ ChangeIndex idx = args.indexes.getSearchIndex();
+ if (idx == null) {
+ throw error("secondary index must be enabled for " + field + ":" + value);
+ }
+ return idx;
+ }
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/TrackingIdPredicate.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/TrackingIdPredicate.java
index 38b3d0c..89e5ba9 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/TrackingIdPredicate.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/TrackingIdPredicate.java
@@ -46,6 +46,7 @@
return false;
}
+ @SuppressWarnings("deprecation")
@Override
public ResultSet<ChangeData> read() throws OrmException {
HashSet<Change.Id> ids = new HashSet<Change.Id>();
diff --git a/lib/asciidoctor/java/DocIndexer.java b/lib/asciidoctor/java/DocIndexer.java
index 5da7858..1bf3ac7 100644
--- a/lib/asciidoctor/java/DocIndexer.java
+++ b/lib/asciidoctor/java/DocIndexer.java
@@ -12,10 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+import java.io.BufferedInputStream;
+import java.io.BufferedReader;
import java.io.File;
+import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
+import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipOutputStream;
@@ -43,6 +47,7 @@
private static final Version LUCENE_VERSION = Version.LUCENE_44;
private static final String DOC_FIELD = "doc";
private static final String URL_FIELD = "url";
+ private static final String TITLE_FIELD = "title";
@Option(name = "-z", usage = "output zip file")
private String zipFile;
@@ -82,6 +87,17 @@
IndexWriter iwriter = new IndexWriter(directory, config);
for (String inputFile : inputFiles) {
File file = new File(inputFile);
+
+ BufferedReader titleReader = new BufferedReader(
+ new InputStreamReader(new FileInputStream(file), "UTF-8"));
+ String title = titleReader.readLine();
+ if (title.startsWith("[[")) {
+ // Generally the first line of the txt is the title. In a few cases the
+ // first line is a "[[tag]]" and the second line is the title.
+ title = titleReader.readLine();
+ }
+ titleReader.close();
+
String outputFile = AsciiDoctor.mapInFileToOutFile(
inputFile, inExt, outExt);
FileReader reader = new FileReader(file);
@@ -89,6 +105,7 @@
doc.add(new TextField(DOC_FIELD, reader));
doc.add(new StringField(
URL_FIELD, prefix + outputFile, Field.Store.YES));
+ doc.add(new TextField(TITLE_FIELD, title, Field.Store.YES));
iwriter.addDocument(doc);
reader.close();
}
diff --git a/plugins/reviewnotes b/plugins/reviewnotes
index 99f869d..c01bc30 160000
--- a/plugins/reviewnotes
+++ b/plugins/reviewnotes
@@ -1 +1 @@
-Subproject commit 99f869d3f65cc0365eaecd75ec6305afd9541f7d
+Subproject commit c01bc30b654ee1666dc2820d219f74e6ecc7e03f