I would like to implement a jsr203 file system for accessing git history. Thus, create a path that represents a file in a specific commit, retrieve its content by letting the file system access the .git
folder under the cover and read the history, and so on.
I have thought about using the jgit
library to read files, and using a Path
implementation that (mostly) delegates to the default filesystem Path
implementation. An important difference would be that the Path
would contain the commit identifier that the user is interested in.
I would have only one file store, but multiple roots: one per commit.
Does this design make sense? Are there hidden difficulties that I might run into? Is there more to plan before starting?