<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <meta content="en-us" http-equiv="Content-Language" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link href="/static/images/favicon.ico" rel="shortcut icon" />
    <link href="/static/css/style.css" rel="stylesheet" type="text/css" />
    <link href="/static/css/codehilite.css" rel="stylesheet" type="text/css" />
    <link href="/static/css/bootstrap.css" media="screen, projection" rel="stylesheet" type="text/css" />
    <link href="/static/css/thrift.css" media="screen, projection" rel="stylesheet" type="text/css" />

    <script src="/static/js/jquery.min.js"></script>
    <script src="/static/js/bootstrap-dropdown.js"></script>
    <script src="/static/js/bootstrap-tab.js"></script>
    <script src="/static/js/thrift.js"></script>

    <title>Apache Thrift - How To Commit</title>
  </head>
  <body>
    <div class="navbar">
  <div class="navbar-inner">
    <div class="container">
      <a class="brand" href="/">Apache Thrift &trade;</a>
      <div class="nav-collapse">
        <ul class="nav pull-right">
          <li><a href="/download">Download</a></li>
          <li><a href="/docs">Documentation</a></li>
          <li><a href="/developers">Developers</a></li>
          <li><a href="/lib">Libraries</a></li>
          <li><a href="/tutorial">Tutorial</a></li>
          <li><a href="/test">Test Suite</a></li>
          <li><a href="/about">About</a></li>
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache <b class="caret"></b></a>
            <ul class="dropdown-menu">
              <li><a href="http://www.apache.org/" target="_blank">Apache Home</a></li>
              <li><a href="http://www.apache.org/licenses/" target="_blank">Apache License v2.0</a></li>
              <li><a href="http://www.apache.org/foundation/sponsorship.html" target="_blank">Donate</a></li>
              <li><a href="http://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
              <li><a href="http://www.apache.org/security/" target="_blank">Security</a></li>
            </ul>
          </li>
        </ul>
      </div>
    </div>
  </div>
</div>

    <div class="container">
      
<h2 id="process-used-by-committers-to-review-and-submit-patches">Process used by committers to review and submit patches</h2>

<ol>
  <li>
    <p>Make sure that there is an issue for the patch(s) you are about to commit in our <a href="http://issues.apache.org/jira/browse/THRIFT">Jira issue tracker</a></p>
  </li>
  <li>
    <p>Check out the latest version of the source code</p>
  </li>
</ol>

<ul>
  <li>git clone https://github.com/apache/thrift.git thrift</li>
</ul>

<ol>
  <li>Apply the patch</li>
</ol>

<ul>
  <li>
    <table>
      <tbody>
        <tr>
          <td>curl https://issues.apache.org/jira/&#8230;</td>
          <td>git apply &#8211;ignore-space-change</td>
        </tr>
      </tbody>
    </table>
  </li>
</ul>

<p>or</p>

<ul>
  <li>curl https://github.com/<GitHub User="">/thrift/commit/<Commit ID="">.patch |git apply --ignore-space-change</Commit></GitHub></li>
</ul>

<ol>
  <li>
    <p>Inspect the applied patch to ensure that all <a href="http://www.apache.org/licenses/LICENSE-2.0.html#contributions">Legal aspects on Submission of Contributions (Patches)</a> are met</p>
  </li>
  <li>
    <p>Run the necessary unit tests and cross language test cases to verify the patch</p>
  </li>
  <li>
    <p>Commit the patch</p>

    <pre><code> git --config user.name "Your Name"
 git --config user.email "YourApacheID@apache.org"
 git add -A
 git commit
</code></pre>
  </li>
  <li>
    <p>The commit message should be in the format:</p>

    <pre><code>THRIFT-####:&lt;Jira description&gt;
Client: &lt;component&gt;
Patch: &lt;Name of person contributing the patch&gt;

Description of what was fixed or addressed.

If this is a github pull request then add below comment to automaticaly close GitHub request, 
where #NNNN is the PR number:
   
 This closes #NNNN
</code></pre>
  </li>
  <li>
    <p>Double check the patch committed and that nothing was missed then push the patch</p>

    <pre><code>git status
git show HEAD
git push origin master
</code></pre>
  </li>
  <li>
    <p>Resolve the jira issue and set the following for the changelog</p>
  </li>
</ol>

<ul>
  <li>Component the patch is for</li>
  <li>fixVersion to the current version on master</li>
</ul>

<p class="snippet_footer">This page was generated by Apache Thrift's <strong>source tree docs</strong>:
<a href="https://gitbox.apache.org/repos/asf?p=thrift.git;a=blob;hb=HEAD;f=doc/committers.md">doc/committers.md</a>
</p>


    </div>
    <div class="container">
  <hr>
  <footer class="footer">
    <div class="row">
      <div class="span3">
        <h3>Links</h3>
        <ul class="unstyled">
          <li><a href="/download">Download</a></li>
          <li><a href="/developers">Developers</a></li>
          <li><a href="/tutorial">Tutorials</a></li>
        </ul>
        <ul class="unstyled">
          <li><a href="/sitemap">Sitemap</a></li>
        </ul>
      </div>
      <div class="span3">
        <h3>Get Involved</h3>
        <ul class="unstyled">
          <li><a href="/mailing">Mailing Lists</a></li>
          <li><a href="http://issues.apache.org/jira/browse/THRIFT">Issue Tracking</a></li>
          <li><a href="/docs/HowToContribute">How To Contribute</a></li>
        </ul>
      </div>
      <div class="span6">
        <a href="http://www.apache.org/"><img src="/static/images/feather.svg" onerror="this.src='/static/images/feather.png';this.onerror=null;" /></a>
        Copyright &copy; 2020 <a href="http://www.apache.org/">Apache Software Foundation</a>.
        Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>.
        Apache, Apache Thrift, and the Apache feather logo are trademarks of The Apache Software Foundation.
      </div>
    </div>
  </footer>
</div>

  </body>
</html>
