From ec478948bb6977554b63bb472b2f54151864ccaa Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 11 Jul 2012 17:20:28 -0400 Subject: [PATCH] Update to Groovy 1.8.6 --- src/com/gitblit/LuceneExecutor.java | 17 +++++++++++------ 1 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/com/gitblit/LuceneExecutor.java b/src/com/gitblit/LuceneExecutor.java index afd1cc5..c702dcc 100644 --- a/src/com/gitblit/LuceneExecutor.java +++ b/src/com/gitblit/LuceneExecutor.java @@ -105,7 +105,7 @@ public class LuceneExecutor implements Runnable { - private static final int INDEX_VERSION = 2; + private static final int INDEX_VERSION = 3; private static final String FIELD_OBJECT_TYPE = "type"; private static final String FIELD_ISSUE = "issue"; @@ -642,6 +642,7 @@ String branch, RevCommit commit) { IndexResult result = new IndexResult(); try { + String [] encodings = storedSettings.getStrings(Keys.web.blobEncodings).toArray(new String[0]); List<PathChangeModel> changedPaths = JGitUtils.getFilesInCommit(repository, commit); String revDate = DateTools.timeToString(commit.getCommitTime() * 1000L, Resolution.MINUTE); @@ -674,7 +675,7 @@ if (StringUtils.isEmpty(ext) || !excludedExtensions.contains(ext)) { // read the blob content String str = JGitUtils.getStringContent(repository, commit.getTree(), - path.path); + path.path, encodings); doc.add(new Field(FIELD_CONTENT, str, Store.YES, Index.ANALYZED)); writer.addDocument(doc); } @@ -1204,7 +1205,13 @@ return "<pre class=\"text\">" + StringUtils.escapeForHtml(fragment, true) + "</pre>"; } - int contentPos = 0; + // make sure we have unique fragments + Set<String> uniqueFragments = new LinkedHashSet<String>(); + for (String fragment : fragments) { + uniqueFragments.add(fragment); + } + fragments = uniqueFragments.toArray(new String[uniqueFragments.size()]); + StringBuilder sb = new StringBuilder(); for (int i = 0, len = fragments.length; i < len; i++) { String fragment = fragments[i]; @@ -1214,7 +1221,7 @@ String raw = fragment.replace(termTag, "").replace(termTagEnd, ""); // determine position of the raw fragment in the content - int pos = content.indexOf(raw, contentPos); + int pos = content.indexOf(raw); // restore complete first line of fragment int c = pos; @@ -1242,8 +1249,6 @@ } tag = MessageFormat.format("<pre class=\"prettyprint linenums:{0,number,0}{1}\">", line, lang); - // update offset into content - contentPos = pos + raw.length() + 1; } sb.append(tag); -- Gitblit v1.9.1