<!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.10/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.10" 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"/> 
</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>
        </ul>
      </div><!-- /#cassandra-menu -->

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

    <div class="container-fluid">
  <div class="row">
    <div class="col-md-2">
      <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="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 class="col-md-2">
    </div>
  </div>
</div>

    <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>
    </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: "" }; </script> 

<script type="text/javascript">
$(function() {
    // Stick the #nav to the top of the window
    var nav = $('.doc-navigation');
    var navHomeY = nav.offset().top;
    var isFixed = false;
    var $w = $(window);
    $w.scroll(function() {
        var scrollTop = $w.scrollTop();
        var shouldBeFixed = $w.width() > 991 && scrollTop >= navHomeY - 10;
        if (shouldBeFixed && !isFixed) {
            nav.css({
                position: 'fixed',
                top: 0,
                left: nav.offset().left,
                width: nav.width(),
            });
            nav.addClass('fixed-navigation');
            isFixed = true;
        }
        else if (!shouldBeFixed && isFixed)
        {
            nav.css({
                position: 'static'
            });
            nav.removeClass('fixed-navigation');
            isFixed = false;
        }
    });
});
</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>
