Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jgit-dev] jgit NIO


I made a branch from 5.2 where I got rid of
I haven't removed public methods with File(s) marking them as deprecated.

The motivation to make a fork was basically desire to use in-memory file system, something like:

FileSystem fs = Jimfs.newFileSystem(Configuration.unix());
Path path = Files.createDirectory(fs.getPath("/myrepo"));
CloneCommand clone = Git.cloneRepository();
Git git =;

There are many possible pitfalls and I definitely need a lot of tests:
1. java io rises FileNotFoundException, while nio NoSuchFileException - need to check old (deprecated) APIs because they would rise NoSuchFile. 2. there is a code that run external process from the git directory. for jomfs path.toFile() will fail.
3. double check all attributes - hidden, readonly etc...
4. in many places (locking) jgit uses force() to synchronize with file system. I tried to change it to SYNC, but it's not the same.
5. there is no delete on exit in nio.
6. in the original too many hand parsing with replace('\\', '/') - manual paths parsing... sure this can be done simplier...

Any comments, ideas... code :-) are welcome


Back to the top