]> source.dussan.org Git - jgit.git/commitdiff
Use object id provided by working tree iterator for submodules 14/5314/1
authorKevin Sawicki <kevin@github.com>
Sat, 10 Mar 2012 18:26:10 +0000 (10:26 -0800)
committerKevin Sawicki <kevin@github.com>
Sat, 10 Mar 2012 18:26:10 +0000 (10:26 -0800)
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

org.eclipse.jgit/src/org/eclipse/jgit/api/AddCommand.java

index 867945362a929580a52922de0fee148392eb1a5c..abd00c3779db45ac51e55e10fac88176a66469c2 100644 (file)
@@ -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());
                                                        }