<!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/…</td>
          <td>git apply –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 the below comment to automatically close the 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; 2024 <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>
