]> source.dussan.org Git - jgit.git/commitdiff
clone: Use DirCacheCheckout 34/2134/2
authorShawn O. Pearce <spearce@spearce.org>
Thu, 16 Dec 2010 00:14:19 +0000 (16:14 -0800)
committerChris Aniszczyk <caniszczyk@gmail.com>
Mon, 20 Dec 2010 15:28:29 +0000 (09:28 -0600)
This simple change lets us get rid of WorkDirCheckout from JGit,
and all of its supporting code.

Change-Id: I1a5aabe9ab4a2b156fd37cc7e9ededb4ed70f53a
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java

index 8eccdedc3f4c8210d5a24ba5fb3f218d78ad6298..903f2e889d9c3f40147bf9e1591ebd5fa870d68b 100644 (file)
@@ -51,18 +51,17 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
+import org.eclipse.jgit.dircache.DirCache;
+import org.eclipse.jgit.dircache.DirCacheCheckout;
 import org.eclipse.jgit.errors.IncorrectObjectTypeException;
 import org.eclipse.jgit.errors.MissingObjectException;
 import org.eclipse.jgit.errors.NotSupportedException;
 import org.eclipse.jgit.errors.TransportException;
 import org.eclipse.jgit.lib.Constants;
-import org.eclipse.jgit.lib.GitIndex;
 import org.eclipse.jgit.lib.Ref;
 import org.eclipse.jgit.lib.RefComparator;
 import org.eclipse.jgit.lib.RefUpdate;
 import org.eclipse.jgit.lib.TextProgressMonitor;
-import org.eclipse.jgit.lib.Tree;
-import org.eclipse.jgit.lib.WorkDirCheckout;
 import org.eclipse.jgit.revwalk.RevCommit;
 import org.eclipse.jgit.revwalk.RevWalk;
 import org.eclipse.jgit.storage.file.FileBasedConfig;
@@ -187,13 +186,9 @@ class Clone extends AbstractFetchCommand {
                u.setNewObjectId(commit);
                u.forceUpdate();
 
-               final GitIndex index = new GitIndex(db);
-               final Tree tree = db.mapTree(commit.getTree());
-               final WorkDirCheckout co;
-
-               co = new WorkDirCheckout(db, db.getWorkTree(), index, tree);
+               DirCache dc = db.lockDirCache();
+               DirCacheCheckout co = new DirCacheCheckout(db, dc, commit.getTree());
                co.checkout();
-               index.write();
        }
 
        private RevCommit parseCommit(final Ref branch)