diff options
author | Kevin Sawicki <kevin@github.com> | 2012-03-10 10:26:10 -0800 |
---|---|---|
committer | Kevin Sawicki <kevin@github.com> | 2012-03-10 10:26:10 -0800 |
commit | 3734db92827329ec947fbb0eba98bcba123a2781 (patch) | |
tree | 2786877249f8db3b127c5f8944d865a4bc5247b5 | |
parent | 5c18fcb81b126a288445d0034ad6e9f6b47a7209 (diff) | |
download | jgit-3734db92827329ec947fbb0eba98bcba123a2781.tar.gz jgit-3734db92827329ec947fbb0eba98bcba123a2781.zip |
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
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/api/AddCommand.java | 20 |
1 files 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<DirCache> { } 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()); } |