summaryrefslogtreecommitdiff
path: root/Contributing.rdoc
blob: f10de121db30fd16cd62bdc6b0b4be7e5c933daa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
== Contributing

I value any contribution to MIME::Types you can provide: a bug report, a feature
request, or code contributions.

Code contributions to MIME::Types are especially <del>welcome</del>encouraged.
Because MIME::Types is a complex codebase, there are a few guidelines:

* Changes (aside from new MIME types) <strong>will not</strong> be accepted
  without tests. The test suite is written with MiniTest.
* Match my coding style.
* Use a thoughtfully-named topic branch that contains your change. Rebase your
  commits into logical chunks as necessary.
* Use {quality commit messages}[http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html].
* Do not change the version number; when your patch is accepted and a release
  is made, the version will be updated at that point.
* Submit a GitHub pull request with your changes.
* New features require new documentation.

=== Test Dependencies

To run the test suite, you will need to install the development dependencies
for MIME::Types. If you have Bundler, you can accomplish this easily:

    $ bundle install

MIME::Types uses Ryan Davis’s excellent {Hoe}[https://github.com/seattlerb/hoe]
to manage the release process, and it adds a number of rake tasks. You will
mostly be interested in:

    $ rake

which runs the tests the same way that:

    $ rake test
    $ rake travis

will do.

=== Workflow

Here's the most direct way to get your work merged into the project:

* Fork the project.
* Clone down your fork (+git clone git://github.com/<username>/mime-types.git+).
* Create a topic branch to contain your change (+git checkout -b my\_awesome\_feature+).
* Hack away, add tests. Not necessarily in that order.
* Make sure everything still passes by running `rake`.
* If necessary, rebase your commits into logical chunks, without errors.
* Push the branch up (+git push origin my\_awesome\_feature+).
* Create a pull request against halostatue/mime-types and describe what your
  change does and the why you think it should be merged.

=== Contributors

* Austin Ziegler created MIME::Types.

Thanks to everyone else who has contributed to MIME::Types:

* Andre Pankratz
* Mauricio Linhares
* Richard Hirner
* Todd Carrico
* Garret Alfert
* Hans de Graaff
* Henrik Hodne
* Martin d'Allens
* cgat
* Greg Brockman