summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Sawicki <kevin@github.com>2012-03-10 10:26:10 -0800
committerKevin Sawicki <kevin@github.com>2012-03-10 10:26:10 -0800
commit3734db92827329ec947fbb0eba98bcba123a2781 (patch)
tree2786877249f8db3b127c5f8944d865a4bc5247b5
parent5c18fcb81b126a288445d0034ad6e9f6b47a7209 (diff)
downloadjgit-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.java20
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());
}