Commit Graph

273 Commits

Author SHA1 Message Date
Steve Francia 2ec8b79d61 Make OsFs.Open interoperable with others (with tests confirming) 2016-01-13 16:37:11 -05:00
Steve Francia 969a70f798 test CopyOnWriteFs with OsFs 2016-01-13 12:41:35 -05:00
Steve Francia 220647edb9 Permit accessing basePath root in BasePathFs (with test) 2016-01-12 00:34:15 -05:00
Steve Francia 52ef806ebb update examples to use 'afero.' before calls 2016-01-11 21:49:09 -05:00
Steve Francia cb3771c13a remove filter 2016-01-11 21:44:13 -05:00
Steve Francia 5c392cd048 Update filenames to reflect new names 2016-01-11 21:44:01 -05:00
Steve Francia fe8e895336 Migrate all backends & readme to use constructorish New... 2016-01-11 21:41:03 -05:00
Steve Francia 4f6cfb713a Update readme to reflect migration of filters to filesystems 2016-01-11 20:48:25 -05:00
Steve Francia 98c426b27b Rename CopyOnWriteUnionFs -> CopyOnWriteFs 2016-01-11 20:48:25 -05:00
Steve Francia 9d548259fd Rename CacheUnionFs -> CacheOnReadFs 2016-01-11 20:48:25 -05:00
Steve Francia a3ed628486 refine BasePathFs implementation 2016-01-11 20:48:25 -05:00
Steve Francia 76b64e1d85 rename HttpFs:SourceFs to 'source' to keep consistent 2016-01-11 20:48:25 -05:00
Steve Francia c6185187f1 port unionFs from filters to filesystems 2016-01-11 20:48:25 -05:00
Steve Francia 84018f2b47 port RO & Regexp from filter to filesystem 2016-01-11 20:48:25 -05:00
Steve Francia da00b1fb7c port BasePathFs from filter to filesystem 2016-01-11 20:48:25 -05:00
Steve Francia 27539916a7 Disable sftp_test.go until it can pass tests 2016-01-11 20:48:25 -05:00
Steve Francia a679d4a95e Add BADFD constant to permit compilation on darwin 2016-01-11 14:42:14 -05:00
Hanno Hecker e68b257a2b add union fs 2016-01-11 14:42:14 -05:00
Steve Francia 300870a2d5 pausing during modtime test so darwin passes 2016-01-11 13:42:25 -05:00
Hanno Hecker 205066d391 Add BasePathFs as FilterFs
* add a BasePathFs implemented as FilterFs:
  The BasePathFs restricts all operations to a given path within an Fs.
  The given file name to the operations on this Fs will be prepended
  with the base path before calling the base Fs.
  Any file name (after filepath.Clean()) outside this base path will be
  treated as non existing file.

* fix meaning of "facere" - "facio" means "I do", "facere" is the base
  form
2016-01-11 13:21:51 -05:00
Martin Bertschler 49e01f227a Merge pull request #57 from spf13/short-test-sleep
Speed up test on unix systems
2016-01-07 12:05:43 +01:00
Martin Bertschler c2313a7dbd Merge pull request #48 from xor-gate/sftp-beta-for-upstream
Add SftpFs experimental backend
2016-01-07 12:05:15 +01:00
Martin Bertschler a19c2e3d70 make test output verbose on travis 2016-01-07 11:58:02 +01:00
Martin Bertschler 9d27152292 try to speed up test on unix systems 2016-01-07 11:52:33 +01:00
Martin Bertschler 6a67f8a50b Remove FileExists error in MemMapFs.Rename when destination file exists, because os.Rename also doesn't return the error 2016-01-07 11:47:44 +01:00
Martin Bertschler d8bbf358ca Merge pull request #56 from vetinari/close-modtime
Set modtime on any write
2016-01-04 19:51:02 +01:00
Hanno Hecker bb3fe39966 set modtime on any write 2016-01-04 19:34:24 +01:00
Martin Bertschler f0b9fc1bdb Implement and test read only MemMapFs file handles
Fixes #53
2016-01-04 01:54:48 +01:00
Martin Bertschler 023640316a Merge pull request #55 from spf13/multiple-mem-file-handles
Seperate MemMapFs file data and file handles
2016-01-04 00:59:32 +01:00
Martin Bertschler a5f01f1106 replace mem.File handles with mem.FileData when mem.FileData is all we need 2016-01-04 00:36:01 +01:00
Martin Bertschler 0321b04b21 fix mem.DirMap and mem.Dir to only use *FileData and not *File handles 2016-01-04 00:18:26 +01:00
Martin Bertschler 7096d68458 mem.File is now mem.FileData and mem.File is a file handle with a pointer to a mem.FileData 2016-01-03 23:59:42 +01:00
Martin Bertschler 7b991cb257 add a test that fails if MemMapFs has the same `at` counter for multiple file objects 2016-01-03 22:11:08 +01:00
Jerry Jacobs a34aa3adc4 README: Add xor-gate as author 2016-01-02 14:38:54 +01:00
Jerry Jacobs 719e24f1e2 Dont read HOME/.ssh/id_rsa, create todo 2016-01-02 14:24:58 +01:00
Jerry Jacobs acdc8aab04 * Cleanup and add some todos 2016-01-02 14:12:59 +01:00
Jerry Jacobs 7d5dacc912 * Generate RSA key and spawn SFTP server for test 2016-01-02 14:00:20 +01:00
Jerry Jacobs 3f46b4f31f sftp_test.go: Fixup import path 2015-12-26 20:43:55 +01:00
Jerry Jacobs 90ff561dda Add SftpFs beta backend 2015-12-26 20:36:25 +01:00
Hanno Hecker e7cb826c1f update README to match the filters 2015-12-21 13:34:19 -05:00
Hanno Hecker f4b37b446e Add RegexpFilter
- rework FilterFs to be truely chaining, i.e. every call not intercepted
  must be passed to the source Fs
- AddFilter accepts just a FilterFs, not a Fs
- FilterFs' AddFilter(FilterFs) should be implemented by any
  FilterFs like

  func (f *myFilter) AddFilter(fs FilterFs) {
       fs.SetSource(f.source)
       f.source = fs
  }
2015-12-21 13:34:19 -05:00
Martin Bertschler 98ed0a3409 return improved errors from MemMapFs methods
MemMapFs.Mkdir now returns an error if the file or dir already exists
MemMapFs.Remove now returns an error if the file or dir doesn't exists

fixes #43
2015-12-20 22:09:09 +01:00
Bjørn Erik Pedersen 2101bdf57c Unexport the RWMutex in MemMapFs 2015-12-18 21:26:04 +01:00
Bjørn Erik Pedersen 7e65370ebb Remove unused mutex 2015-12-18 19:49:23 +01:00
Bjørn Erik Pedersen 75b0bd216a Fix data races in MemMapFs
Also simplifiy the lock constructs.

Fixes #44
Fixes #45
2015-12-18 19:20:45 +01:00
Hanno Hecker 36b075cbbf show how filtering is used 2015-12-15 18:18:10 +01:00
Hanno Hecker 03c0cb5702 drop filter_regexp for now, needs some more changes for reading dirs 2015-12-15 18:17:36 +01:00
Hanno Hecker 8c337dcc24 block all write flags instead of checking for O_RDONLY 2015-12-13 18:12:18 +01:00
Hanno Hecker 3b1997ba29 add Fs filter 2015-12-13 14:56:00 +01:00
Martin Bertschler 9d44c3003b add a test for twice calling Create on the same path 2015-12-11 11:02:03 +01:00