From fa0afc0f2d7fa3cc6dc5de5dec006c4ecf4c6272 Mon Sep 17 00:00:00 2001 From: James Moger Date: Mon, 23 Jul 2012 14:04:23 -0400 Subject: [PATCH] Properly decode blobs on reindex (issue 112) --- docs/04_releases.mkd | 1 + src/com/gitblit/LuceneExecutor.java | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/04_releases.mkd b/docs/04_releases.mkd index 1c74c0cd..89671c72 100644 --- a/docs/04_releases.mkd +++ b/docs/04_releases.mkd @@ -11,6 +11,7 @@ If you are updating from an 0.9.x release AND you have indexed branches with the #### fixes +- Fixed Lucene charset encoding bug when reindexing a repository (issue 112) - Fixed null pointer in LdapUserSerivce if account has a null email address (issue 110) #### changes diff --git a/src/com/gitblit/LuceneExecutor.java b/src/com/gitblit/LuceneExecutor.java index f7a73905..2e099303 100644 --- a/src/com/gitblit/LuceneExecutor.java +++ b/src/com/gitblit/LuceneExecutor.java @@ -412,7 +412,8 @@ public class LuceneExecutor implements Runnable { if (!deleteIndex(model.name)) { return result; } - try { + try { + String [] encodings = storedSettings.getStrings(Keys.web.blobEncodings).toArray(new String[0]); FileBasedConfig config = getConfig(repository); Set indexedCommits = new TreeSet(); IndexWriter writer = getIndexWriter(model.name); @@ -562,7 +563,7 @@ public class LuceneExecutor implements Runnable { } in.close(); byte[] content = os.toByteArray(); - String str = new String(content, Constants.CHARACTER_ENCODING); + String str = StringUtils.decodeString(content, encodings); doc.add(new Field(FIELD_CONTENT, str, Store.YES, Index.ANALYZED)); os.reset(); } -- 2.39.5