[EGIT PATCH 20/26] Allow the new DirCacheIterator in command line arguments
- Date: Mon, 11 Aug 2008 18:08:07 -0700
- From: "Shawn O. Pearce" <spearce@xxxxxxxxxxx>
- Subject: [EGIT PATCH 20/26] Allow the new DirCacheIterator in command line arguments
By assuming files passed where we want an AbtractTreeIterator to
be supplied are actually 'DIRC' files (aka .git/index) we can
automatically load them for the command line tool.
Signed-off-by: Shawn O. Pearce <spearce@xxxxxxxxxxx>
---
.../jgit/pgm/opt/AbstractTreeIteratorHandler.java | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/AbstractTreeIteratorHandler.java b/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/AbstractTreeIteratorHandler.java
index 8e216c7..e439c87 100644
--- a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/AbstractTreeIteratorHandler.java
+++ b/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/AbstractTreeIteratorHandler.java
@@ -46,6 +46,8 @@ import org.kohsuke.args4j.OptionDef;
import org.kohsuke.args4j.spi.OptionHandler;
import org.kohsuke.args4j.spi.Parameters;
import org.kohsuke.args4j.spi.Setter;
+import org.spearce.jgit.dircache.DirCache;
+import org.spearce.jgit.dircache.DirCacheIterator;
import org.spearce.jgit.errors.IncorrectObjectTypeException;
import org.spearce.jgit.errors.MissingObjectException;
import org.spearce.jgit.lib.ObjectId;
@@ -87,6 +89,17 @@ public class AbstractTreeIteratorHandler extends
return 1;
}
+ if (new File(name).isFile()) {
+ final DirCache dirc;
+ try {
+ dirc = DirCache.read(new File(name));
+ } catch (IOException e) {
+ throw new CmdLineException(name + " is not an index file", e);
+ }
+ setter.addValue(new DirCacheIterator(dirc));
+ return 1;
+ }
+
final ObjectId id;
try {
id = clp.getRepository().resolve(name);
--
1.6.0.rc2.22.g71b99
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
- Follow-Ups:
- [EGIT PATCH 21/26] Add debugging commands to interact with the new DirCache code
- From: Shawn O. Pearce
- [EGIT PATCH 21/26] Add debugging commands to interact with the new DirCache code
- References:
- [EGIT PATCH 00/26] New DirCache API
- From: Shawn O. Pearce
- [EGIT PATCH 01/26] Force all source code to UTF-8 encoding by default
- From: Shawn O. Pearce
- [EGIT PATCH 02/26] Protect WorkingTreeIterator's name encoding from weird ByteBuffers
- From: Shawn O. Pearce
- [EGIT PATCH 03/26] Add Constants.encode as a utility for quick encoding in UTF-8
- From: Shawn O. Pearce
- [EGIT PATCH 04/26] Rely upon Constants.CHARSET over Constants.CHARACTER_ENCODING
- From: Shawn O. Pearce
- [EGIT PATCH 05/26] Allow AbstractTreeIterators to find out about StopWalkExceptions
- From: Shawn O. Pearce
- [EGIT PATCH 06/26] Implement a new .git/index (aka dircache) read interface
- From: Shawn O. Pearce
- [EGIT PATCH 07/26] Export the new DirCache API to Eclipse plugins using jgit
- From: Shawn O. Pearce
- [EGIT PATCH 08/26] Support locking (and unlocking) a .git/index through DirCache
- From: Shawn O. Pearce
- [EGIT PATCH 09/26] Support writing a .git/index through DirCache
- From: Shawn O. Pearce
- [EGIT PATCH 10/26] Support the 'TREE' extension in .git/index through DirCache
- From: Shawn O. Pearce
- [EGIT PATCH 11/26] Support using a DirCache within a TreeWalk
- From: Shawn O. Pearce
- [EGIT PATCH 12/26] Support recreating a .git/index through DirCache
- From: Shawn O. Pearce
- [EGIT PATCH 13/26] Support iterating and building a DirCache at the same time
- From: Shawn O. Pearce
- [EGIT PATCH 14/26] Support creating a new DirCacheEntry for an arbitrary path
- From: Shawn O. Pearce
- [EGIT PATCH 15/26] Support a simplified model of editing index entries
- From: Shawn O. Pearce
- [EGIT PATCH 16/26] Support recursively getting all entries under a subtree path
- From: Shawn O. Pearce
- [EGIT PATCH 17/26] Support copying meta fields from one DirCacheEntry to another
- From: Shawn O. Pearce
- [EGIT PATCH 18/26] Add JUnit tests for new DirCache API
- From: Shawn O. Pearce
- [EGIT PATCH 00/26] New DirCache API
- Prev by Date: [EGIT PATCH 13/26] Support iterating and building a DirCache at the same time
- Next by Date: [EGIT PATCH 21/26] Add debugging commands to interact with the new DirCache code
- Previous by thread: [EGIT PATCH 18/26] Add JUnit tests for new DirCache API
- Next by thread: [EGIT PATCH 21/26] Add debugging commands to interact with the new DirCache code
- Index(es):