vendor/github.com/fsnotify/fsnotify/CONTRIBUTING.md
changeset 260 445e01aede7e
parent 242 2a9ec03fe5a1
child 265 05c40b36d3b2
equal deleted inserted replaced
259:db4911b0c721 260:445e01aede7e
    46 
    46 
    47 fsnotify uses build tags to compile different code on Linux, BSD, macOS, and Windows.
    47 fsnotify uses build tags to compile different code on Linux, BSD, macOS, and Windows.
    48 
    48 
    49 Before doing a pull request, please do your best to test your changes on multiple platforms, and list which platforms you were able/unable to test on.
    49 Before doing a pull request, please do your best to test your changes on multiple platforms, and list which platforms you were able/unable to test on.
    50 
    50 
    51 To aid in cross-platform testing there is a Vagrantfile for Linux and BSD.
       
    52 
       
    53 * Install [Vagrant](http://www.vagrantup.com/) and [VirtualBox](https://www.virtualbox.org/)
       
    54 * Setup [Vagrant Gopher](https://github.com/nathany/vagrant-gopher) in your `src` folder.
       
    55 * Run `vagrant up` from the project folder. You can also setup just one box with `vagrant up linux` or `vagrant up bsd` (note: the BSD box doesn't support Windows hosts at this time, and NFS may prompt for your host OS password)
       
    56 * Once setup, you can run the test suite on a given OS with a single command `vagrant ssh linux -c 'cd fsnotify/fsnotify; go test'`.
       
    57 * When you're done, you will want to halt or destroy the Vagrant boxes.
       
    58 
       
    59 Notice: fsnotify file system events won't trigger in shared folders. The tests get around this limitation by using the /tmp directory.
       
    60 
       
    61 Right now there is no equivalent solution for Windows and macOS, but there are Windows VMs [freely available from Microsoft](http://www.modern.ie/en-us/virtualization-tools#downloads).
       
    62 
       
    63 ### Maintainers
    51 ### Maintainers
    64 
    52 
    65 Help maintaining fsnotify is welcome. To be a maintainer:
    53 Help maintaining fsnotify is welcome. To be a maintainer:
    66 
    54 
    67 * Submit a pull request and sign the CLA as above.
    55 * Submit a pull request and sign the CLA as above.
    68 * You must be able to run the test suite on Mac, Windows, Linux and BSD.
    56 * You must be able to run the test suite on Mac, Windows, Linux and BSD.
    69 
    57 
    70 To keep master clean, the fsnotify project uses the "apply mail" workflow outlined in Nathaniel Talbott's post ["Merge pull request" Considered Harmful][am]. This requires installing [hub][].
       
    71 
       
    72 All code changes should be internal pull requests.
    58 All code changes should be internal pull requests.
    73 
    59 
    74 Releases are tagged using [Semantic Versioning](http://semver.org/).
    60 Releases are tagged using [Semantic Versioning](http://semver.org/).
    75 
       
    76 [hub]: https://github.com/github/hub
       
    77 [am]: http://blog.spreedly.com/2014/06/24/merge-pull-request-considered-harmful/#.VGa5yZPF_Zs