jgit/org.eclipse.jgit
Shawn O. Pearce 29b8fa84e6 Don't allow DirCacheEntry with mode of 0
A 0 file mode in a DirCacheEntry is not a valid mode.  To C git
such a value indicates the record should not be present.  We already
were catching this bad state and exceptioning out when writing tree
objects to disk, but we did not fail when writing the dircache back
to disk.  This allowed JGit applications to create a dircache file
which C git would not like to read.

Instead of checking the mode during writes, we now check during
mutation.  This allows application bugs to be detected sooner and
closer to the cause site.  It also allows us to avoid checking most
of the records which we read in from disk, as we can assume these
are formatted correctly.

Some of our unit tests were not setting the FileMode on their test
entry, so they had to be updated to use REGULAR_FILE.

Change-Id: Ie412053c390b737c0ece57b8e063e4355ee32437
Originally: http://thread.gmane.org/gmane.comp.version-control.git/128214/focus=128213
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
CC: Adam W. Hawks <awhawks@writeme.com>
2010-02-03 19:58:20 -08:00
..
.settings Adding PDE API Tools nature to JGit 2010-01-16 10:00:30 -06:00
META-INF Cleanup OSGi Import-Package specifications to use versions 2010-02-02 20:03:03 -08:00
findBugs Initial JGit contribution to eclipse.org 2009-09-29 16:47:03 -07:00
src/org/eclipse/jgit Don't allow DirCacheEntry with mode of 0 2010-02-03 19:58:20 -08:00
.classpath Partial revert "Switch build to Apache Felix maven-bundle-plugin" 2010-01-10 15:59:03 +01:00
.fbprefs Initial JGit contribution to eclipse.org 2009-09-29 16:47:03 -07:00
.gitignore Finish removing Apache Felix maven-bundle-plugin 2010-01-12 11:46:55 -08:00
.project Adding PDE API Tools nature to JGit 2010-01-16 10:00:30 -06:00
about.html Adding some Eclipse-related legal files to JGit 2010-02-03 15:18:06 -06:00
build.properties Adding some Eclipse-related legal files to JGit 2010-02-03 15:18:06 -06:00
plugin.properties Correct bundle, provider names to be consistent 2010-01-23 11:42:15 -08:00
pom.xml Use build timestamp as OSGi version qualifier 2010-01-23 01:29:21 +01:00