-
- Downloads
Disallow creating invalid DirCacheEntry records
A dircache record must not use a path string like "/a" or "a//b" as this results in a tree entry being written with a zero length name component in the record. C git does not support an empty name, and neither does any modern filesystem. A record also must not have a stage outside of the standard 0-3 value range, as there are only 2 bits of space available in the on-disk format of the record to store the stage information. Any other values would be truncated into this space, storing a different value than the caller expected. If an application tries to create a DirCache record with either of these wrong values, we abort with an IllegalArgumentException. Change-Id: I699de149efdfccd85d8adde07d3efd080e3b49c2 Originally: http://thread.gmane.org/gmane.comp.version-control.git/128214 Signed-off-by:Shawn O. Pearce <spearce@spearce.org> CC: Adam W. Hawks <awhawks@writeme.com>
Showing
- org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheEntry.java 54 additions, 1 deletion...pse.jgit/src/org/eclipse/jgit/dircache/DirCacheEntry.java
- org.spearce.jgit.test/tst/org/spearce/jgit/dircache/DirCacheEntryTest.java 121 additions, 0 deletions...test/tst/org/spearce/jgit/dircache/DirCacheEntryTest.java
Loading
Please register or sign in to comment