go-billy
go-billy copied to clipboard
The missing interface filesystem abstraction for Go
Chroot does not process path target from symlink? It is normal behavior? Follow concept code ```golang baseDir := "/foo/bar" fs := chroot.New(&billyFilesystemSomeImpl{}, baseDir) // lrwxr-xr-x /foo/bar/lint-to-tmp -> /tmp fs.Open("/foo/bar/link-to-tmp") //...
I'm unable to compile my code with go-billy dependencies. ``` > env GOOS=js GOARCH=wasm go build -v -o main.wasm cmd/addbranch/main/main.go /home/capsci/go/pkg/mod/github.com/go-git/go-billy/[email protected]/osfs/os_posix.go:8:2: build constraints exclude all Go files in /home/capsci/go/pkg/mod/golang.org/x/[email protected]/unix ```
As a bit of a test as one of my projects uses [spf13/afero](https://github.com/spf13/afero) for all other disk operations I implemented the go-billy interface as a wrapper for afero for use...
I'm trying to use `go-git` for a tool but I'm getting stuck with the lack of interoperability of `go-billy`. Particularly, I need to cast `billy.File` to another custom File interface...
``` import "github.com/go-git/go-billy/v5" // with go modules enabled (GO111MODULE=on or outside GOPATH) import "github.com/go-git/go-billy" // with go modules disabled ``` The second line does not work: the code expects import...
The [TamaGo bare metal framework](https://github.com/usbarmory/tamago) would benefit from being able to integrate go-git on bare metal firmware. This PR, in combination with this [go-git PR](https://github.com/go-git/go-git/pull/1016) adds the required stubs to...
Add a GitHub test action for testing the compilation with TamaGo framework. This PR is related to https://github.com/go-git/go-billy/pull/43#issuecomment-1921411665
`BoundOS` has two function to check whether or not a file is inside the base directory. Their implementation rely on appending `filepath.Separator` to `fs.baseDir` and using `strings.HasPrefix` with `filename`. This...
Just wondering if there are any thoughts about adding an abstraction for `os.Chown` (which for windows does work pretty badly as you need string SSIDs and the semantics differ from...