From fa0afc0f2d7fa3cc6dc5de5dec006c4ecf4c6272 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
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 1c74c0c..89671c7 100644
--- a/docs/04_releases.mkd
+++ b/docs/04_releases.mkd
@@ -11,6 +11,7 @@
#### 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 f7a7390..2e09930 100644
--- a/src/com/gitblit/LuceneExecutor.java
+++ b/src/com/gitblit/LuceneExecutor.java
@@ -412,7 +412,8 @@
if (!deleteIndex(model.name)) {
return result;
}
- try {
+ try {
+ String [] encodings = storedSettings.getStrings(Keys.web.blobEncodings).toArray(new String[0]);
FileBasedConfig config = getConfig(repository);
Set<String> indexedCommits = new TreeSet<String>();
IndexWriter writer = getIndexWriter(model.name);
@@ -562,7 +563,7 @@
}
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();
}
--
Gitblit v1.9.1