D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
cpanel
/
ea-ruby27
/
root
/
usr
/
share
/
gems
/
doc
/
rack-2.2.10
/
rdoc
/
Filename :
CONTRIBUTING_md.html
back
Copy
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>CONTRIBUTING - rack-2.2.10 Documentation</title> <script type="text/javascript"> var rdoc_rel_prefix = "./"; var index_rel_prefix = "./"; </script> <script src="./js/navigation.js" defer></script> <script src="./js/search.js" defer></script> <script src="./js/search_index.js" defer></script> <script src="./js/searcher.js" defer></script> <script src="./js/darkfish.js" defer></script> <link href="./css/fonts.css" rel="stylesheet"> <link href="./css/rdoc.css" rel="stylesheet"> <body id="top" role="document" class="file"> <nav role="navigation"> <div id="project-navigation"> <div id="home-section" role="region" title="Quick navigation" class="nav-section"> <h2> <a href="./index.html" rel="home">Home</a> </h2> <div id="table-of-contents-navigation"> <a href="./table_of_contents.html#pages">Pages</a> <a href="./table_of_contents.html#classes">Classes</a> <a href="./table_of_contents.html#methods">Methods</a> </div> </div> <div id="search-section" role="search" class="project-section initially-hidden"> <form action="#" method="get" accept-charset="utf-8"> <div id="search-field-wrapper"> <input id="search-field" role="combobox" aria-label="Search" aria-autocomplete="list" aria-controls="search-results" type="text" name="search" placeholder="Search" spellcheck="false" title="Type to search, Up and Down to navigate, Enter to load"> </div> <ul id="search-results" aria-label="Search Results" aria-busy="false" aria-expanded="false" aria-atomic="false" class="initially-hidden"></ul> </form> </div> </div> <div class="nav-section"> <h3>Table of Contents</h3> <ul class="link-list" role="directory"> <li><a href="#label-Contributing+to+Rack">Contributing to Rack</a> <li><a href="#label-Fork+the+Project">Fork the Project</a> <li><a href="#label-Create+a+Topic+Branch">Create a Topic Branch</a> <li><a href="#label-Bundle+Install+and+Quick+Test">Bundle Install and Quick Test</a> <li><a href="#label-Running+All+Tests">Running All Tests</a> <li><a href="#label-Write+Tests">Write Tests</a> <li><a href="#label-Write+Code">Write Code</a> <li><a href="#label-Write+Documentation">Write Documentation</a> <li><a href="#label-Update+Changelog">Update Changelog</a> <li><a href="#label-Commit+Changes">Commit Changes</a> <li><a href="#label-Push">Push</a> <li><a href="#label-Make+a+Pull+Request">Make a Pull Request</a> <li><a href="#label-Rebase">Rebase</a> <li><a href="#label-Make+Required+Changes">Make Required Changes</a> <li><a href="#label-Check+on+Your+Pull+Request">Check on Your Pull Request</a> <li><a href="#label-Be+Patient">Be Patient</a> <li><a href="#label-Thank+You">Thank You</a> </ul> </div> <div id="project-metadata"> <div id="fileindex-section" class="nav-section"> <h3>Pages</h3> <ul class="link-list"> <li><a href="./CHANGELOG_md.html">CHANGELOG</a> <li><a href="./CONTRIBUTING_md.html">CONTRIBUTING</a> <li><a href="./README_rdoc.html">README</a> </ul> </div> </div> </nav> <main role="main" aria-label="Page CONTRIBUTING.md"> <h1 id="label-Contributing+to+Rack">Contributing to <a href="Rack.html"><code>Rack</code></a><span><a href="#label-Contributing+to+Rack">¶</a> <a href="#top">↑</a></span></h1> <p><a href="Rack.html"><code>Rack</code></a> is work of <a href="https://github.com/rack/rack/graphs/contributors">hundreds of contributors</a>. You're encouraged to submit <a href="https://github.com/rack/rack/pulls">pull requests</a>, <a href="https://github.com/rack/rack/issues">propose features and discuss issues</a>. When in doubt, post to the <a href="http://groups.google.com/group/rack-devel">rack-devel</a> mailing list.</p> <h4 id="label-Fork+the+Project">Fork the Project<span><a href="#label-Fork+the+Project">¶</a> <a href="#top">↑</a></span></h4> <p>Fork the <a href="https://github.com/rack/rack">project on Github</a> and check out your copy.</p> <pre>git clone https://github.com/contributor/rack.git cd rack git remote add upstream https://github.com/rack/rack.git</pre> <h4 id="label-Create+a+Topic+Branch">Create a Topic Branch<span><a href="#label-Create+a+Topic+Branch">¶</a> <a href="#top">↑</a></span></h4> <p>Make sure your fork is up-to-date and create a topic branch for your feature or bug fix.</p> <pre>git checkout master git pull upstream master git checkout -b my-feature-branch</pre> <h4 id="label-Bundle+Install+and+Quick+Test">Bundle Install and Quick Test<span><a href="#label-Bundle+Install+and+Quick+Test">¶</a> <a href="#top">↑</a></span></h4> <p>Ensure that you can build the project and run quick tests.</p> <pre>bundle install --without extra bundle exec rake test</pre> <h4 id="label-Running+All+Tests">Running All Tests<span><a href="#label-Running+All+Tests">¶</a> <a href="#top">↑</a></span></h4> <p>Install all dependencies.</p> <pre class="ruby"><span class="ruby-identifier">bundle</span> <span class="ruby-identifier">install</span> </pre> <p>Run all tests.</p> <pre class="ruby"><span class="ruby-identifier">rake</span> <span class="ruby-identifier">test</span> </pre> <p>The test suite has no dependencies outside of the core Ruby installation and bacon.</p> <p>Some tests will be skipped if a dependency is not found.</p> <p>To run the test suite completely, you need:</p> <ul><li> <p>fcgi</p> </li><li> <p>dalli</p> </li><li> <p>thin</p> </li></ul> <p>To test Memcache sessions, you need memcached (will be run on port 11211) and dalli installed.</p> <h4 id="label-Write+Tests">Write Tests<span><a href="#label-Write+Tests">¶</a> <a href="#top">↑</a></span></h4> <p>Try to write a test that reproduces the problem you're trying to fix or describes a feature that you want to build.</p> <p>We definitely appreciate pull requests that highlight or reproduce a problem, even without a fix.</p> <h4 id="label-Write+Code">Write Code<span><a href="#label-Write+Code">¶</a> <a href="#top">↑</a></span></h4> <p>Implement your feature or bug fix.</p> <p>Make sure that <code>bundle exec rake fulltest</code> completes without errors.</p> <h4 id="label-Write+Documentation">Write Documentation<span><a href="#label-Write+Documentation">¶</a> <a href="#top">↑</a></span></h4> <p>Document any external behavior in the <a href="README.rdoc">README</a>.</p> <h4 id="label-Update+Changelog">Update Changelog<span><a href="#label-Update+Changelog">¶</a> <a href="#top">↑</a></span></h4> <p>Add a line to <a href="CHANGELOG.md">CHANGELOG</a>.</p> <h4 id="label-Commit+Changes">Commit Changes<span><a href="#label-Commit+Changes">¶</a> <a href="#top">↑</a></span></h4> <p>Make sure git knows your name and email address:</p> <pre>git config --global user.name "Your Name" git config --global user.email "contributor@example.com"</pre> <p>Writing good commit logs is important. A commit log should describe what changed and why.</p> <pre>git add ... git commit</pre> <h4 id="label-Push">Push<span><a href="#label-Push">¶</a> <a href="#top">↑</a></span></h4> <pre class="ruby"><span class="ruby-identifier">git</span> <span class="ruby-identifier">push</span> <span class="ruby-identifier">origin</span> <span class="ruby-identifier">my</span><span class="ruby-operator">-</span><span class="ruby-identifier">feature</span><span class="ruby-operator">-</span><span class="ruby-identifier">branch</span> </pre> <h4 id="label-Make+a+Pull+Request">Make a Pull Request<span><a href="#label-Make+a+Pull+Request">¶</a> <a href="#top">↑</a></span></h4> <p>Go to <a href="https://github.com/contributor/rack">github.com/contributor/rack</a> and select your feature branch. Click the 'Pull Request' button and fill out the form. Pull requests are usually reviewed within a few days.</p> <h4 id="label-Rebase">Rebase<span><a href="#label-Rebase">¶</a> <a href="#top">↑</a></span></h4> <p>If you've been working on a change for a while, rebase with upstream/master.</p> <pre>git fetch upstream git rebase upstream/master git push origin my-feature-branch -f</pre> <h4 id="label-Make+Required+Changes">Make Required Changes<span><a href="#label-Make+Required+Changes">¶</a> <a href="#top">↑</a></span></h4> <p>Amend your previous commit and force push the changes.</p> <pre>git commit --amend git push origin my-feature-branch -f</pre> <h4 id="label-Check+on+Your+Pull+Request">Check on Your Pull Request<span><a href="#label-Check+on+Your+Pull+Request">¶</a> <a href="#top">↑</a></span></h4> <p>Go back to your pull request after a few minutes and see whether it passed muster with Travis-CI. Everything should look green, otherwise fix issues and amend your commit as described above.</p> <h4 id="label-Be+Patient">Be Patient<span><a href="#label-Be+Patient">¶</a> <a href="#top">↑</a></span></h4> <p>It's likely that your change will not be merged and that the nitpicky maintainers will ask you to do more, or fix seemingly benign problems. Hang on there!</p> <h4 id="label-Thank+You">Thank You<span><a href="#label-Thank+You">¶</a> <a href="#top">↑</a></span></h4> <p>Please do know that we really appreciate and value your time and work. We love you, really.</p> </main> <footer id="validator-badges" role="contentinfo"> <p><a href="https://validator.w3.org/check/referer">Validate</a> <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.2.1.1. <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>. </footer>