From 13417cf9c6eec555b51da49742e47939d2f5715b Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 19 Oct 2012 22:47:33 -0400 Subject: [PATCH] Exclude submodules from zip downloads (issue 151) --- src/com/gitblit/LuceneExecutor.java | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/com/gitblit/LuceneExecutor.java b/src/com/gitblit/LuceneExecutor.java index eafb516..42155f4 100644 --- a/src/com/gitblit/LuceneExecutor.java +++ b/src/com/gitblit/LuceneExecutor.java @@ -286,7 +286,7 @@ close(repositoryName); // delete the index folder - File repositoryFolder = new File(repositoriesFolder, repositoryName); + File repositoryFolder = FileKey.resolve(new File(repositoriesFolder, repositoryName), FS.DETECTED); File luceneIndex = new File(repositoryFolder, LUCENE_DIR); if (luceneIndex.exists()) { org.eclipse.jgit.util.FileUtils.delete(luceneIndex, @@ -494,6 +494,7 @@ Map<String, ObjectId> paths = new TreeMap<String, ObjectId>(); while (treeWalk.next()) { + // ensure path is not in a submodule if (treeWalk.getFileMode(0) != FileMode.GITLINK) { paths.put(treeWalk.getPathString(), treeWalk.getObjectId(0)); } @@ -651,6 +652,9 @@ Resolution.MINUTE); IndexWriter writer = getIndexWriter(repositoryName); for (PathChangeModel path : changedPaths) { + if (path.isSubmodule()) { + continue; + } // delete the indexed blob deleteBlob(repositoryName, branch, path.name); @@ -679,8 +683,10 @@ // read the blob content String str = JGitUtils.getStringContent(repository, commit.getTree(), path.path, encodings); - doc.add(new Field(FIELD_CONTENT, str, Store.YES, Index.ANALYZED)); - writer.addDocument(doc); + if (str != null) { + doc.add(new Field(FIELD_CONTENT, str, Store.YES, Index.ANALYZED)); + writer.addDocument(doc); + } } } } -- Gitblit v1.9.1