From 3734db92827329ec947fbb0eba98bcba123a2781 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Sat, 10 Mar 2012 10:26:10 -0800 Subject: [PATCH] Use object id provided by working tree iterator for submodules The working tree iterator now supports providing an object id for submodule entries and this value should be used instead of recomputing it again in AddCommand. Change-Id: I30082514c23fc65968bb78add5ad69a1ca95cf3a --- .../src/org/eclipse/jgit/api/AddCommand.java | 20 ++++--------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/AddCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/AddCommand.java index 867945362a..abd00c3779 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/AddCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/AddCommand.java @@ -43,7 +43,6 @@ */ package org.eclipse.jgit.api; -import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.Collection; @@ -59,7 +58,6 @@ import org.eclipse.jgit.dircache.DirCacheEntry; import org.eclipse.jgit.dircache.DirCacheIterator; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.FileMode; -import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectInserter; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.treewalk.FileTreeIterator; @@ -185,20 +183,10 @@ public class AddCommand extends GitCommand { } finally { in.close(); } - builder.add(entry); - lastAddedFile = path; - } else { - Repository subRepo = Git.open( - new File(repo.getWorkTree(), path)) - .getRepository(); - ObjectId subRepoHead = subRepo - .resolve(Constants.HEAD); - if (subRepoHead != null) { - entry.setObjectId(subRepoHead); - builder.add(entry); - lastAddedFile = path; - } - } + } else + entry.setObjectId(f.getEntryObjectId()); + builder.add(entry); + lastAddedFile = path; } else { builder.add(c.getDirCacheEntry()); } -- 2.39.5