From: Kevin Sawicki Date: Sat, 10 Mar 2012 18:26:10 +0000 (-0800) Subject: Use object id provided by working tree iterator for submodules X-Git-Tag: v2.0.0.201205301645-rc2~67^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fchanges%2F14%2F5314%2F1;p=jgit.git 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 --- 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()); }