Commit Graph

275 Commits

Author SHA1 Message Date
Bjørn Erik Pedersen f4711e4db9 Fix missing bounds checking in UnionFile.Readdir
It will now return io.EOF at the end of the directory view.

Fixes #194
2019-01-30 09:29:40 +01:00
Sergey 617d93fa6d match: change strings.IndexAny to strings.ContainsAny 2019-01-10 23:22:24 +05:00
Bjørn Erik Pedersen a5d6946387 Return nil in CopyOnWriteFs.MkdirAll when directory exists
Fixes #191
2018-12-17 09:55:40 +01:00
Bjørn Erik Pedersen 5e9f8ecaa4 Return os.ErrExist from CopyOnWriteFs.Mkdir/MkdirAll
Before this commit, `CopyOnWriteFs` would return `syscall.EEXIST` in `Mkdir` and `MkdirAll` when a directory already exists.

The main problem with this is that `os.IsExist` returns `false` for that error on Windows.

These methods now return `os.ErrExist`, which is in line with how the other file systems behave.

Fixes #189
2018-12-17 09:55:40 +01:00
M.Yasoob Ullah Khalid ☺ 2236cc58df
Fixed a small typo 2018-12-04 00:59:11 -05:00
Brian Tiger Chow e151fe9493 fix ReadAt 2018-11-20 13:34:41 -05:00
Brian Tiger Chow 709edc9d8f add ReadAt/Seek test 2018-11-20 13:29:30 -05:00
Bjørn Erik Pedersen d40851caa0
Add go.mod 2018-09-07 11:23:51 +02:00
Bjørn Erik Pedersen 787d034dfe Return error in Readdir on regular mem file
Fixes #169
2018-05-31 11:51:01 +02:00
elv-jon 0408d604d0 Return closed error in mem.File.Write() after Close() 2018-05-17 15:45:50 -07:00
Bjørn Erik Pedersen 63644898a8
Return os.ErrNotExist in BasePathFs on abs URLs on Windows
So it can be used in a composite filesystem.

Fixes #162
2018-04-01 22:57:52 +02:00
Bjørn Erik Pedersen b6dc11ece0
Make the merge func in UnionFile configureable 2018-04-01 22:57:52 +02:00
Bjørn Erik Pedersen 8902da1e4d
Add an optional Lstater interface
The interface has one method returning the `FileInfo` and a flag telling if `Lstat` was called or not.

```go
type Lstater interface {
    LstatIfPossible(name string) (os.FileInfo, bool, error)
}
```

`Lstat` is currently only supported by the `OsFs`, but since that `Fs` can be used in others, they will also support it by proxy.

But not always, so hence this optional interface.

The interface is in this commit implemented for:

* BasePathFs
* OsFs
* CopyOnWriteFs
* ReadOnlyFs

Fixes #75
2018-04-01 22:57:51 +02:00
Martin Bertschler a880a37ed1 upgrade travis Go versions to current and previous (1.10 and 1.9), remove 1.8 2018-03-22 23:51:30 +01:00
Martin Bertschler 6e0c3784c4
Merge pull request #147 from arbelt/fix-basepathfile
fix File.Name() on BasePathFS (wrap File objects returned by BasePathFs)
2018-03-22 23:44:38 +01:00
Kevin Lin 887ec81f2f sftpfs: Implement OpenFile method
Before, the OpenFile method was unimplemented, and just returned `nil,
nil`. Because the Afero.TempFile method calls the OpenFile method, this
behavior caused a nil pointer exception when TempFile was used with
sftpfs.

This commit adds a simple implementation for sftpfs.OpenFile, fixing the
exception thrown when using it with TempFile.
2018-03-18 19:09:08 -07:00
Jerry Jacobs 81cbd6395a sftps: Fix test with latest API of the sftp package 2018-03-09 11:31:10 +01:00
Jamie Wilkinson bbf41cb36d Removes go 1.7 from the build matrix, adds 1.9
Travis builds are failing on go 1.7.5 because of github.com/pkg/sftp doesn't support that version anymore.
2018-02-12 03:27:14 +11:00
rwaweber b06a9e879d fix grammar in readme 2018-02-08 23:49:45 -05:00
Bjørn Erik Pedersen bb8f1927f2
Return error instead of panic in WriteReader
See https://github.com/gohugoio/hugo/issues/4240
2018-01-15 20:27:20 +01:00
Bjørn Erik Pedersen 57afd63c68
Revert "readme: Link to release notes in Releases"
Someone else will have to do this work.

This reverts commit a43378e6c4.
2017-12-28 13:50:11 +01:00
Bjørn Erik Pedersen a43378e6c4
readme: Link to release notes in Releases
Closes #151
2017-12-28 13:31:12 +01:00
Bjørn Erik Pedersen ec3a3111d1
mem: Make the File return io.ErrUnexpectedEOF
Instead of panic when reading beyond its borders.

This is in line with how the OS File works.

Fixes #152
2017-12-28 12:02:27 +01:00
Albert Z Wang 3d990a0494 remove debug output 2017-12-12 20:08:50 -05:00
Albert Z Wang 4f332f79e7 clean paths in test comparisons 2017-11-29 14:01:03 -05:00
Albert Z Wang c5621b3590 clean basepath before stripping 2017-11-29 13:56:26 -05:00
Albert Z Wang f12a645649 add tests (thanks to @ts2909)
* copied from 6c031db617
2017-11-29 13:44:12 -05:00
Albert Z Wang 9034a12a59 add BasePathFile to fix File.Name() on BasePathFS 2017-11-29 00:20:21 -05:00
Bjørn Erik Pedersen 8d919cbe7e
Check for ErrNotExist in CopyOnWriteFs.Stat
Fixes #144
2017-11-12 17:05:09 +01:00
Martin Bertschler 5660eeed30 Merge pull request #140 from JosephSalisbury/fix-neuter-accents-godoc
Improves NeuterAccents godoc
2017-10-21 13:08:13 +02:00
Joseph Salisbury 242208d9a2
Improves NeuterAccents godoc 2017-10-13 11:08:46 +01:00
Martin Bertschler e67d870304 Merge pull request #138 from dangerousHobo/patch-1
Fix some code bugs in the README.md.
2017-10-08 20:27:26 +02:00
Martin Bertschler b48f4f807b Merge pull request #139 from snwfdhmp/patch-1
Improve code block styling in README.md
2017-10-08 18:38:47 +02:00
snwfdhmp ea5fe66f02 Minor improvement 2017-10-08 18:09:09 +02:00
Michael John 3e504d357f Fix some code bugs in the README.md. 2017-10-05 21:34:59 -04:00
Martin Bertschler 3de492c3cd Merge pull request #136 from spf13/memfs-fixes
Memfs fixes
2017-10-04 08:48:03 +02:00
Martin Bertschler 0936e8d1b2 Merge pull request #120 from thylong/master
readme: remove inferred type from AppFs declaration.
2017-10-04 01:03:46 +02:00
Martin Bertschler 84cf6dc707 set ModeDir on MkDir calls on MemMapFs
closes #118
2017-10-03 23:46:18 +02:00
Martin Bertschler 473997e418 add test that shows a bug with FileMode not being set for MemMapFs directories, clean up tests 2017-10-03 23:17:35 +02:00
Martin Bertschler 8a6ade7159 Merge pull request #135 from rodaine/cacheOnRead-NotExistsError
CacheOnReadFS: erroneous NotExists error from MemMapFS layer
2017-10-03 22:45:38 +02:00
Martin Bertschler 44971ef5a2 Merge pull request #134 from corentone/mem-races
mem/file.go - Fix some races in accessing fields of FileData
2017-10-03 22:36:30 +02:00
Corentin Debains d29940f63d mem/file.go - Fix some races in accessing fields of FileData
* Splitting SetModeTime to avoid double locking
* Adding locks all over the place.
2017-09-30 22:59:59 -07:00
Chris Roche 838d6de32d CacheOnReadFS: Use os.IsNotExist to correctly detect cache misses 2017-09-04 20:40:32 -07:00
Chris Roche 655d0bd1f1 CacheOnReadFS: erroneous NotExists error 2017-09-04 20:34:40 -07:00
Kevin Crawley ee1bd8ee15 Added glob/match support to afero 2017-09-01 15:23:52 +10:00
jszwec 36f8810e2e Fix data races in MemMapFs
Concurrent modifications of the file system while calling
ReadDir was causing data races and sometimes panics.
2017-08-25 23:32:52 +02:00
Theotime Leveque 596850cca5 readme: remove inferred type from AppFs declaration. 2017-03-25 18:31:14 -04:00
Bjørn Erik Pedersen 9be650865e travis: Bump to Go 1.7.5 and 1.8 2017-02-17 17:41:46 +01:00
Sotirios Mantziaris 72b3142684 Eliminate go vet warnings 2017-01-09 23:53:20 +01:00
Martin Bertschler 90dd71edc4 Merge pull request #113 from moorereason/iss112
Fix data races in MemMapFs.Chmod and Chtimes
2016-12-26 10:19:39 +01:00