<!DOCTYPE html>
<html>
  



<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive regional outages.
">
  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
  <meta name="robots" content="index,follow" />
  <meta name="language" content="en" />  

  <title>Documentation</title>

  <link rel="canonical" href="http://cassandra.apache.org/doc/3.11/development/how_to_commit.html">

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
  <link rel="stylesheet" href="./../../../css/style.css">
  
  <link rel="stylesheet" href="./../../../css/sphinx.css">
  

   <link rel="top" title="Apache Cassandra Documentation v3.11.3" href="../index.html"/> <link rel="up" title="Cassandra Development" href="index.html"/> <link rel="next" title="Frequently Asked Questions" href="../faq/index.html"/> <link rel="prev" title="Review Checklist" href="how_to_review.html"/> 
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
  
  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
</head>

  <body>
    <!-- breadcrumbs -->
<div class="topnav">
  <div class="container breadcrumb-container">
    <ul class="breadcrumb">
      <li>
        <div class="dropdown">
          <img class="asf-logo" src="./../../../img/asf_feather.png" />
          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
            <li><a href="http://www.apache.org">Apache Homepage</a></li>
            <li><a href="http://www.apache.org/licenses/">License</a></li>
            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
            <li><a href="http://www.apache.org/security/">Security</a></li>
          </ul>
        </div>
      </li>

      
      <li><a href="./../../../">Apache Cassandra</a></li>
      

      
        
        <li><a href="./../../../doc">Documentation</a></li>
        
      

      
      <li><a href="./">Cassandra Development</a></li>
      

      
      <li>How-to Commit</li>
      
    </ul>
  </div>

  <!-- navbar -->
  <nav class="navbar navbar-default navbar-static-top" role="navigation">
    <div class="container">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
      </div><!-- /.navbar-header -->

      <div id="cassandra-menu" class="collapse navbar-collapse">
        <ul class="nav navbar-nav navbar-right">
          <li><a href="./../../../">Home</a></li>
          <li><a href="./../../../download/">Download</a></li>
          <li><a href="./../../../doc/">Documentation</a></li>
          <li><a href="./../../../community/">Community</a></li>
          <li>
            <a href="./../../../blog/">Blog</a>
        </li>
        </ul>
      </div><!-- /#cassandra-menu -->

      
    </div>
  </nav><!-- /.navbar -->
</div><!-- /.topnav -->

    <div class="container-fluid">
  <div class="row">
    <div class="col-md-3">
      <div class="doc-navigation">
        <div class="doc-menu" role="navigation">
          <div class="navbar-header">
            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
          </div>
          <div class="navbar-collapse collapse sidebar-navbar-collapse">
            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
              <div class="form-group">
                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
                <input type="hidden" name="check_keywords" value="yes" />
                <input type="hidden" name="area" value="default" />
              </div>
            </form>
            
            
            
            <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Cassandra Development</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="ide.html">Building and IDE Integration</a></li>
<li class="toctree-l2"><a class="reference internal" href="testing.html">Testing</a></li>
<li class="toctree-l2"><a class="reference internal" href="patches.html">Contributing Code Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="code_style.html">Code Style</a></li>
<li class="toctree-l2"><a class="reference internal" href="how_to_review.html">Review Checklist</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">How-to Commit</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs and Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
</ul>

            
            
          </div><!--/.nav-collapse -->
        </div>
      </div>
    </div>
    <div class="col-md-8">
      <div class="content doc-content">
        <div class="content-container">
          
  <div class="section" id="how-to-commit">
<h1>How-to Commit<a class="headerlink" href="#how-to-commit" title="Permalink to this headline">¶</a></h1>
<p>If you are a committer, feel free to pick any process that works for you - so long as you are planning to commit the work yourself.</p>
<p>Here is how committing and merging will usually look for merging and pushing for tickets that follow the convention (if patch-based):</p>
<p>Hypothetical CASSANDRA-12345 ticket is a cassandra-3.0 based bug fix that requires different code for cassandra-3.3, and trunk. Contributor Jackie supplied a patch for the root branch (12345-3.0.patch), and patches for the remaining branches (12345-3.3.patch, 12345-trunk.patch).</p>
<dl class="docutils">
<dt>On cassandra-3.0:</dt>
<dd><ol class="first last arabic simple">
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">am</span> <span class="pre">-3</span> <span class="pre">12345-3.0.patch</span></code> (if we have a problem b/c of CHANGES.txt not merging anymore, we fix  it ourselves, in place)</li>
</ol>
</dd>
<dt>On cassandra-3.3:</dt>
<dd><ol class="first last arabic simple">
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">merge</span> <span class="pre">cassandra-3.0</span> <span class="pre">-s</span> <span class="pre">ours</span></code></li>
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">apply</span> <span class="pre">-3</span> <span class="pre">12345-3.3.patch</span></code> (likely to have an issue with CHANGES.txt here: fix it ourselves, then git add CHANGES.txt)</li>
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">commit</span> <span class="pre">—amend</span></code></li>
</ol>
</dd>
<dt>On trunk:</dt>
<dd><ol class="first last arabic simple">
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">merge</span> <span class="pre">cassandra-3.3</span> <span class="pre">-s</span> <span class="pre">ours</span></code></li>
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">apply</span> <span class="pre">-3</span> <span class="pre">12345-trunk.patch</span></code> (likely to have an issue with CHANGES.txt here: fix it ourselves, then git add CHANGES.txt)</li>
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">commit</span> <span class="pre">—amend</span></code></li>
</ol>
</dd>
<dt>On any branch:</dt>
<dd><ol class="first last arabic simple">
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">push</span> <span class="pre">origin</span> <span class="pre">cassandra-3.0</span> <span class="pre">cassandra-3.3</span> <span class="pre">trunk</span> <span class="pre">—atomic</span></code></li>
</ol>
</dd>
</dl>
<p>Same scenario, but a branch-based contribution:</p>
<dl class="docutils">
<dt>On cassandra-3.0:</dt>
<dd><ol class="first last arabic simple">
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">cherry-pick</span> <span class="pre">&lt;sha-of-3.0-commit&gt;</span></code> (if we have a problem b/c of CHANGES.txt not merging anymore, we fix it ourselves, in place)</li>
</ol>
</dd>
<dt>On cassandra-3.3:</dt>
<dd><ol class="first last arabic simple">
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">merge</span> <span class="pre">cassandra-3.0</span> <span class="pre">-s</span> <span class="pre">ours</span></code></li>
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">format-patch</span> <span class="pre">-1</span> <span class="pre">&lt;sha-of-3.3-commit&gt;</span></code></li>
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">apply</span> <span class="pre">-3</span> <span class="pre">&lt;sha-of-3.3-commit&gt;.patch</span></code> (likely to have an issue with CHANGES.txt here: fix it ourselves, then git add CHANGES.txt)</li>
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">commit</span> <span class="pre">—amend</span></code></li>
</ol>
</dd>
<dt>On trunk:</dt>
<dd><ol class="first last arabic simple">
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">merge</span> <span class="pre">cassandra-3.3</span> <span class="pre">-s</span> <span class="pre">ours</span></code></li>
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">format-patch</span> <span class="pre">-1</span> <span class="pre">&lt;sha-of-trunk-commit&gt;</span></code></li>
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">apply</span> <span class="pre">-3</span> <span class="pre">&lt;sha-of-trunk-commit&gt;.patch</span></code> (likely to have an issue with CHANGES.txt here: fix it ourselves, then git add CHANGES.txt)</li>
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">commit</span> <span class="pre">—amend</span></code></li>
</ol>
</dd>
<dt>On any branch:</dt>
<dd><ol class="first last arabic simple">
<li><code class="docutils literal"><span class="pre">git</span> <span class="pre">push</span> <span class="pre">origin</span> <span class="pre">cassandra-3.0</span> <span class="pre">cassandra-3.3</span> <span class="pre">trunk</span> <span class="pre">—atomic</span></code></li>
</ol>
</dd>
</dl>
<div class="admonition tip">
<p class="first admonition-title">Tip</p>
<p>Notes on git flags:
<code class="docutils literal"><span class="pre">-3</span></code> flag to am and apply will instruct git to perform a 3-way merge for you. If a conflict is detected, you can either resolve it manually or invoke git mergetool - for both am and apply.</p>
<p class="last"><code class="docutils literal"><span class="pre">—atomic</span></code> flag to git push does the obvious thing: pushes all or nothing. Without the flag, the command is equivalent to running git push once per each branch. This is nifty in case a race condition happens - you won’t push half the branches, blocking other committers’ progress while you are resolving the issue.</p>
</div>
<div class="admonition tip">
<p class="first admonition-title">Tip</p>
<p class="last">The fastest way to get a patch from someone’s commit in a branch on GH - if you don’t have their repo in remotes -  is to append .patch to the commit url, e.g.
curl -O <a class="reference external" href="https://github.com/apache/cassandra/commit/7374e9b5ab08c1f1e612bf72293ea14c959b0c3c.patch">https://github.com/apache/cassandra/commit/7374e9b5ab08c1f1e612bf72293ea14c959b0c3c.patch</a></p>
</div>
</div>



          
          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
            
            <a href="../faq/index.html" class="btn btn-default pull-right " role="button" title="Frequently Asked Questions" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
            
            
            <a href="how_to_review.html" class="btn btn-default" role="button" title="Review Checklist" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
            
          </div>
          
        </div>
      </div>
    </div>
  </div>
</div>

    <hr />

<footer>
  <div class="container">
    <div class="col-md-4 social-blk">
      <span class="social">
        <a href="https://twitter.com/cassandra"
           class="twitter-follow-button"
           data-show-count="false" data-size="large">Follow @cassandra</a>
        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
           class="twitter-hashtag-button"
           data-size="large"
           data-related="ApacheCassandra">Tweet #cassandra</a>
        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

      </span>
      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
          <span><i class="fa fa-rss"></i></span>
      </a>
    </div>

    <div class="col-md-8 trademark">
      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
      <p>
    </div>
  </div><!-- /.container -->
</footer>

<!-- Javascript. Placed here so pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="./../../../js/underscore-min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>


<script src="./../../../js/doctools.js"></script>
<script src="./../../../js/searchtools.js"></script>

 <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 



<script type="text/javascript">
  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

  try {
    var pageTracker = _gat._getTracker("UA-11583863-1");
    pageTracker._trackPageview();
  } catch(err) {}
</script>


  </body>
</html>
