Description
As a bit of a test as one of my projects uses spf13/afero for all other disk operations I implemented the go-billy interface as a wrapper for afero for use in go-git.
https://github.com/Maldris/go-billy-afero
This was done as a quick and dirty implementation to test the concept, but as part of it, I have gotten optional support for Symlink and ReadLink merged into afero.
To revisit the idea and look at potentially cleaning it up for actual use, I would appreciate some feedback to see what needs to be done, and if this could be imported as a new filesystem option.
My main concern for support is the file Lock
and Unlock
methods, which do not have equivalents in afero. To control the behaviour within memory I've provided a mutex, however if multiple instances are created in different processes, or multiple applications try to access the same file, this is an inadequate solution, requiring additional application level logic.