[EGIT PATCH 14/26] Support creating a new DirCacheEntry for an arbitrary path
- Date: Mon, 11 Aug 2008 18:08:01 -0700
- From: "Shawn O. Pearce" <spearce@xxxxxxxxxxx>
- Subject: [EGIT PATCH 14/26] Support creating a new DirCacheEntry for an arbitrary path
Applications which use a DirCacheBuilder may need to build their own
DirCacheEntry in order to insert new records into the index file.
Signed-off-by: Shawn O. Pearce <spearce@xxxxxxxxxxx>
---
.../org/spearce/jgit/dircache/DirCacheEntry.java | 24 ++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/org.spearce.jgit/src/org/spearce/jgit/dircache/DirCacheEntry.java b/org.spearce.jgit/src/org/spearce/jgit/dircache/DirCacheEntry.java
index 8ca8f22..eba2678 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/dircache/DirCacheEntry.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/dircache/DirCacheEntry.java
@@ -114,6 +114,30 @@ public class DirCacheEntry {
in.skip(expLen - actLen);
}
+ /**
+ * Create an empty entry.
+ *
+ * @param newPath
+ * name of the cache entry.
+ */
+ public DirCacheEntry(final String newPath) {
+ this(Constants.encode(newPath));
+ }
+
+ /**
+ * Create an empty entry.
+ *
+ * @param newPath
+ * name of the cache entry, in the standard encoding.
+ */
+ public DirCacheEntry(final byte[] newPath) {
+ info = new byte[INFO_LEN];
+ infoOffset = 0;
+
+ path = newPath;
+ NB.encodeInt16(info, infoOffset + P_FLAGS, path.length);
+ }
+
void write(final OutputStream os) throws IOException {
final int pathLen = path.length;
os.write(info, infoOffset, INFO_LEN);
--
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 15/26] Support a simplified model of editing index entries
- From: Shawn O. Pearce
- [EGIT PATCH 15/26] Support a simplified model of editing index entries
- 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 00/26] New DirCache API
- Prev by Date: [EGIT PATCH 12/26] Support recreating a .git/index through DirCache
- Next by Date: [EGIT PATCH 18/26] Add JUnit tests for new DirCache API
- Previous by thread: [EGIT PATCH 13/26] Support iterating and building a DirCache at the same time
- Next by thread: [EGIT PATCH 15/26] Support a simplified model of editing index entries
- Index(es):