autopush: enable accessors for client sockets
[kgio.git] / HACKING
blobda7d01422946eee29ebd46bae90956bd08b6feee
1 = kgio Hacker's Guide
3 === Documentation
5 We use RDoc 2.5.x with Darkfish for documentation as much as possible,
6 if you're on Ruby 1.8 you want to install the latest "rdoc" gem.  Due to
7 the lack of RDoc-to-manpage converters we know about, we're writing
8 manpages in Markdown and converting to troff/HTML with Pandoc.
10 Please wrap documentation at 72 characters-per-line or less (long URLs
11 are exempt) so it is comfortably readable from terminals.
13 When referencing mailing list posts, use
14 "http://mid.gmane.org/$MESSAGE_ID" if possible since the Message-ID
15 remains searchable even if Gmane becomes unavailable.
17 === Code Compatibility
19 We target Ruby 1.8.6+, 1.9.1+ and Rubinius 1.1+ and their
20 respective C APIs.
22 All of our C code should be compatible with all reasonably modern Unices
23 and should run on compilers supported by the versions of Ruby we target.
25 We will NEVER support non-Free platforms under any circumstances.
27 Our C code follows K&R indentation style (hard tabs, tabs are always 8
28 characters wide) and NOT the indentation style of Matz Ruby.
30 == Contributing
32 Contributions are welcome in the form of patches, pull requests, code
33 review, testing, documentation, user support or any other feedback.  The
34 {kgio mailing list}[mailto:kgio@librelist.com] is the
35 central coordination point for all user and developer feedback and bug
36 reports.
38 === Submitting Patches
40 Follow conventions already established in the code and do not exceed 80
41 characters per line.
43 Inline patches (from "git format-patch -M") to the mailing list are
44 preferred because they allow code review and comments in the reply to
45 the patch.
47 We will adhere to mostly the same conventions for patch submissions as
48 git itself.  See the Documentation/SubmittingPatches document
49 distributed with git on on patch submission guidelines to follow.  Just
50 don't email the git mailing list or maintainer with kgio patches :)
52 == Running Development Versions
54 It is easy to install the contents of your git working directory:
56 Via RubyGems (RubyGems 1.3.5+ recommended for prerelease versions):
58   gmake install-gem
60 Without RubyGems (via setup.rb):
62   gmake install
64 It is not at all recommended to mix a RubyGems installation with an
65 installation done without RubyGems, however.