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/utils/JGitUtils.java | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/com/gitblit/utils/JGitUtils.java b/src/com/gitblit/utils/JGitUtils.java index 050b591..bc44f00 100644 --- a/src/com/gitblit/utils/JGitUtils.java +++ b/src/com/gitblit/utils/JGitUtils.java @@ -210,11 +210,10 @@ if (credentialsProvider != null) { clone.setCredentialsProvider(credentialsProvider); } - clone.call(); + Repository repository = clone.call().getRepository(); + // Now we have to fetch because CloneCommand doesn't fetch // refs/notes nor does it allow manual RefSpec. - File gitDir = FileKey.resolve(new File(repositoriesFolder, name), FS.DETECTED); - FileRepository repository = new FileRepository(gitDir); result.createdRepository = true; result.fetchResult = fetchRepository(credentialsProvider, repository); repository.close(); @@ -1757,6 +1756,9 @@ } tw.setRecursive(true); while (tw.next()) { + if (tw.getFileMode(0) == FileMode.GITLINK) { + continue; + } ZipEntry entry = new ZipEntry(tw.getPathString()); entry.setSize(tw.getObjectReader().getObjectSize(tw.getObjectId(0), Constants.OBJ_BLOB)); -- Gitblit v1.9.1