blob: 8131d0965dd5987fe0e63c6340ad276a2b7da375 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Apache Cassandra | Apache Cassandra Documentation</title>
<link rel="stylesheet" href="../../assets/css/site.css">
<link rel="schema.dcterms" href="https://purl.org/dc/terms/">
<meta name="dcterms.subject" content="_">
<meta name="dcterms.identifier" content="master">
<meta name="generator" content="Antora 2.3.4">
<link rel="icon" href="../../assets/img/favicon.ico" type="image/x-icon">
<script>
const script = document.createElement("script");
const domain = window.location.hostname;
script.type = "text/javascript";
script.src = "https://plausible.cassandra.apache.org/js/plausible.js";
script.setAttribute("data-domain",domain);
script.setAttribute("defer",'true');
script.setAttribute("async",'true');
document.getElementsByTagName("head")[0].appendChild(script);
</script> </head>
<body class="basic ">
<div class="container mx-auto relative">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<meta property="og:type" content="website" />
<meta property="og:url" content="/" />
<meta property="og:site_name" content="Apache Cassandra" />
<header id="top-nav">
<div class="inner relative">
<div class="header-social-icons text-right">
<a href="https://twitter.com/cassandra?lang=en" target="_blank" styles="margin-left: 20px;"><img src="../../assets/img/twitter-icon-circle-white.svg" alt="twitter icon" width="24"></a>
<a href="https://www.linkedin.com/company/apache-cassandra/" target="_blank" styles="margin-left: 20px;"><img src="../../assets/img/LI-In-Bug.png" alt="linked-in icon" width="24"></a>
<a href="https://www.youtube.com/c/PlanetCassandra" target="_blank" styles="margin-left: 20px;"><img src="../../assets/img/youtube-icon.png" alt="youtube icon" width="24"></a>
</div>
<div class="cf">
<div class="logo left"><a href="/"><img src="../../assets/img/logo-white-r.png" alt="cassandra logo"></a></div>
<div class="mobile-nav-icon right">
<img class="toggle-icon" src="../../assets/img/hamburger-nav.svg">
</div>
<ul class="main-nav nav-links right flex flex-vert-center flex-space-between">
<li>
<a class="nav-link hide-mobile">Get Started</a>
<ul class="sub-menu bg-white">
<li class="pa-micro">
<a href="/_/cassandra-basics.html">
<div class="sub-nav-icon">
<img src="../../assets/img/sub-menu-basics.png" alt="cassandra basics icon">
</div>
<div class="sub-nav-text teal py-small">
Cassandra Basics
</div>
</a>
</li>
<li class="pa-micro">
<a href="/_/quickstart.html">
<div class="sub-nav-icon">
<img src="../../assets/img/sub-menu-rocket.png" alt="cassandra basics icon">
</div>
<div class="sub-nav-text teal py-small">
Quickstart
</div>
</a>
</li>
<li class="pa-micro">
<a href="/_/ecosystem.html">
<div class="sub-nav-icon">
<img src="../../assets/img/sub-menu-ecosystem.png" alt="cassandra basics icon">
</div>
<div class="sub-nav-text teal py-small">
Ecosystem
</div>
</a>
</li>
</ul>
</li>
<li><a class="nav-link" href="/doc/latest/">Documentation</a></li>
<li>
<a class="nav-link" href="/_/community.html">Community</a>
<ul class="sub-menu bg-white">
<li class="pa-micro">
<a href="/_/community.html#code-of-conduct">
<div class="sub-nav-icon">
<img src="../../assets/img/sub-menu-welcome.png" alt="welcome icon">
</div>
<div class="sub-nav-text teal py-small">
Welcome
</div>
</a>
</li>
<li class="pa-micro hide-mobile">
<a href="/_/community.html#discussions">
<div class="sub-nav-icon">
<img src="../../assets/img/sub-menu-discussions.png" alt="discussions icon">
</div>
<div class="sub-nav-text teal py-small">
Discussions
</div>
</a>
</li>
<li class="pa-micro hide-mobile">
<a href="/_/community.html#project-governance">
<div class="sub-nav-icon">
<img src="../../assets/img/sub-menu-governance.png" alt="Governance icon">
</div>
<div class="sub-nav-text teal py-small">
Governance
</div>
</a>
</li>
<li class="pa-micro hide-mobile">
<a href="/_/community.html#how-to-contribute">
<div class="sub-nav-icon">
<img src="../../assets/img/sub-menu-contribute.png" alt="Contribute icon">
</div>
<div class="sub-nav-text teal py-small">
Contribute
</div>
</a>
</li>
<li class="pa-micro hide-mobile">
<a href="/_/community.html#meet-the-community">
<div class="sub-nav-icon">
<img src="../../assets/img/sub-menu-community.png" alt="Meet the Community icon">
</div>
<div class="sub-nav-text teal py-small">
Meet the Community
</div>
</a>
</li>
<li class="pa-micro hide-mobile">
<a href="/_/cassandra-catalyst-program.html">
<div class="sub-nav-icon">
<img src="../../assets/img/sub-menu-catalyst.png" alt="Catalyst icon">
</div>
<div class="sub-nav-text teal py-small">
Catalyst Program
</div>
</a>
</li>
<li class="pa-micro hide-mobile">
<a href="/_/events.html">
<div class="sub-nav-icon">
<img src="../../assets/img/sub-menu-events.png" alt="Events icon">
</div>
<div class="sub-nav-text teal py-small">
Events
</div>
</a>
</li>
</ul>
</li>
<li>
<a class="nav-link hide-mobile">Learn</a>
<ul class="sub-menu bg-white">
<li class="pa-micro">
<a href="/_/Apache-Cassandra-5.0-Moving-Toward-an-AI-Driven-Future.html">
<div class="sub-nav-icon">
<img src="../../assets/img/sub-menu-basics.png" alt="Basics icon">
</div>
<div class="sub-nav-text teal py-small">
Cassandra 5.0
</div>
</a>
</li>
<li class="pa-micro">
<a href="/_/case-studies.html">
<div class="sub-nav-icon">
<img src="../../assets/img/sub-menu-case-study.png" alt="Case Studies icon">
</div>
<div class="sub-nav-text teal py-small">
Case Studies
</div>
</a>
</li>
<li class="pa-micro">
<a href="/_/resources.html">
<div class="sub-nav-icon">
<img src="../../assets/img/sub-menu-resources.png" alt="Resources icon">
</div>
<div class="sub-nav-text teal py-small">
Resources
</div>
</a>
</li>
<li class="pa-micro">
<a href="/_/blog.html">
<div class="sub-nav-icon">
<img src="../../assets/img/sub-menu-blog.png" alt="Blog icon">
</div>
<div class="sub-nav-text teal py-small">
Blog
</div>
</a>
</li>
</ul>
</li>
<li><a class="nav-link btn btn--filled" href="/_/download.html">Download Now</a></li>
</ul>
</div>
</div>
</header>
<div class="hero hero--home grad">
<div class="eye"></div>
<div id="home-content" class="text-center flex flex-center flex-column relative z2 ma-xlarge">
<h1>How-to Commit</h1>
</div>
</div>
<div class="flex-center py-large arrow">
<div class="inner inner--narrow">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<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>
</div>
</div>
</div>
<div class="sect1">
<h2 id="patch-based-contribution"><a class="anchor" href="#patch-based-contribution"></a>Patch based Contribution</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Here is how committing and merging will usually look for merging and
pushing for tickets that follow the convention (if patch-based):</p>
</div>
<div class="paragraph">
<p>Hypothetical CASSANDRA-12345 ticket is a cassandra-4.0 based bug fix
that requires different code for cassandra-4.0, cassandra-4.1, and
trunk. Contributor Jackie supplied a patch for the root branch
(12345-4.0.patch), and patches for the remaining branches
(12345-4.1.patch, 12345-5.0.patch, 12345-trunk.patch).</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">On cassandra-4.0</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git am -3 12345-4.0.patch</code> (any problem b/c of CHANGES.txt not
merging anymore, fix it in place)</p>
</li>
<li>
<p><code>ant realclean &amp;&amp; ant jar</code> (rebuild to make sure code
compiles)</p>
</li>
<li>
<p><code>git commit --amend</code> (Notice this will squash the 4.0 applied
patch into the forward merge commit)</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">On cassandra-4.1</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git merge cassandra-4.0 -s ours --log</code></p>
</li>
<li>
<p><code>git apply -3 12345-4.1.patch</code> (any issue with CHANGES.txt : fix
and <span class="title-ref">git add CHANGES.txt</span>)</p>
</li>
<li>
<p><code>ant realclean &amp;&amp; ant jar</code> (rebuild to make sure code
compiles)</p>
</li>
<li>
<p><code>git commit --amend</code> (Notice this will squash the 4.1 applied
patch into the forward merge commit)</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">On cassandra-5.0</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git merge cassandra-4.1 -s ours --log</code></p>
</li>
<li>
<p><code>git apply -3 12345-5.0.patch</code> (any issue with CHANGES.txt : fix
and <span class="title-ref">git add CHANGES.txt</span>)</p>
</li>
<li>
<p><code>ant realclean &amp;&amp; ant jar check</code> (rebuild to make sure code
compiles)</p>
</li>
<li>
<p><code>git commit --amend</code> (Notice this will squash the 4.1 applied
patch into the forward merge commit)</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">On trunk</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git merge cassandra-5.0 -s ours --log</code></p>
</li>
<li>
<p><code>git apply -3 12345-trunk.patch</code> (any issue with CHANGES.txt : fix
and <span class="title-ref">git add CHANGES.txt</span>)</p>
</li>
<li>
<p><code>ant realclean &amp;&amp; ant jar check</code> (rebuild to make sure code
compiles)</p>
</li>
<li>
<p><code>git commit --amend</code> (Notice this will squash the trunk applied
patch into the forward merge commit)</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">On any branch</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git push origin cassandra-4.0 cassandra-4.1 cassandra-5.0 trunk --atomic -n</code>
(dryrun check)</p>
</li>
<li>
<p><code>git push origin cassandra-4.0 cassandra-4.1 cassandra-5.0 trunk --atomic</code></p>
</li>
</ol>
</div>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="git-branch-based-contribution"><a class="anchor" href="#git-branch-based-contribution"></a>Git branch based Contribution</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Same scenario, but a branch-based contribution:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">On cassandra-4.0</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git cherry-pick &lt;sha-of-4.0-commit&gt;</code> (any problem b/c of
CHANGES.txt not merging anymore, fix it in place)</p>
</li>
<li>
<p><code>ant realclean &amp;&amp; ant jar</code> (rebuild to make sure code
compiles)</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">On cassandra-4.1</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git merge cassandra-4.0 -s ours --log</code></p>
</li>
<li>
<p><code>git format-patch -1 &lt;sha-of-4.1-commit&gt;</code> (alternative to
format-patch and apply is <span class="title-ref">cherry-pick -n</span>)</p>
</li>
<li>
<p><code>git apply -3 &lt;sha-of-4.1-commit&gt;.patch</code> (any issue with
CHANGES.txt : fix and <span class="title-ref">git add CHANGES.txt</span>)</p>
</li>
<li>
<p><code>ant realclean &amp;&amp; ant jar</code> (rebuild to make sure code
compiles)</p>
</li>
<li>
<p><code>git commit --amend</code> (Notice this will squash the 4.1 applied
patch into the forward merge commit)</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">On cassandra-5.0</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git merge cassandra-4.1 -s ours --log</code></p>
</li>
<li>
<p><code>git format-patch -1 &lt;sha-of-5.0-commit&gt;</code> (alternative to
format-patch and apply is <span class="title-ref">cherry-pick -n</span>)</p>
</li>
<li>
<p><code>git apply -3 &lt;sha-of-5.0-commit&gt;.patch</code> (any issue with
CHANGES.txt : fix and <span class="title-ref">git add CHANGES.txt</span>)</p>
</li>
<li>
<p><code>ant realclean &amp;&amp; ant jar check</code> (rebuild to make sure code
compiles)</p>
</li>
<li>
<p><code>git commit --amend</code> (Notice this will squash the 5.0 applied
patch into the forward merge commit)</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">On trunk</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git merge cassandra-5.0 -s ours --log</code></p>
</li>
<li>
<p><code>git format-patch -1 &lt;sha-of-trunk-commit&gt;</code> (alternative to
format-patch and apply is <span class="title-ref">cherry-pick -n</span>)</p>
</li>
<li>
<p><code>git apply -3 &lt;sha-of-trunk-commit&gt;.patch</code> (any issue with
CHANGES.txt : fix and <span class="title-ref">git add CHANGES.txt</span>)</p>
</li>
<li>
<p><code>ant realclean &amp;&amp; ant jar check</code> (rebuild to make sure code
compiles)</p>
</li>
<li>
<p><code>git commit --amend</code> (Notice this will squash the trunk applied
patch into the forward merge commit)</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">On any branch</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git push origin cassandra-4.0 cassandra-4.1 cassandra-5.0 trunk --atomic -n</code>
(dryrun check)</p>
</li>
<li>
<p><code>git push origin cassandra-4.0 cassandra-4.1 cassandra-5.0 trunk --atomic</code></p>
</li>
</ol>
</div>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="contributions-only-for-release-branches"><a class="anchor" href="#contributions-only-for-release-branches"></a>Contributions only for release branches</h2>
<div class="sectionbody">
<div class="paragraph">
<p>If the patch is for an older branch, and doesn&#8217;t impact later branches
(such as trunk), we still need to merge up.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">On cassandra-4.0</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git cherry-pick &lt;sha-of-4.0-commit&gt;</code> (any problem b/c of
CHANGES.txt not merging anymore, fix it in place)</p>
</li>
<li>
<p><code>ant realclean &amp;&amp; ant jar</code> (rebuild to make sure code
compiles)</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">On cassandra-4.1</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git merge cassandra-4.0 -s ours --log</code></p>
</li>
<li>
<p><code>ant realclean &amp;&amp; ant jar</code> (rebuild to make sure code
compiles)</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">On cassandra-5.0</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git merge cassandra-4.1 -s ours --log</code></p>
</li>
<li>
<p><code>ant realclean &amp;&amp; ant jar check</code> (rebuild to make sure code
compiles)</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">On trunk</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git merge cassandra-4.1 -s ours --log</code></p>
</li>
<li>
<p><code>ant realclean &amp;&amp; ant jar check</code> (rebuild to make sure code
compiles)</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">On any branch</dt>
<dd>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git push origin cassandra-4.0 cassandra-4.1 trunk --atomic -n</code>
(dryrun check)</p>
</li>
<li>
<p><code>git push origin cassandra-4.0 cassandra-4.1 trunk --atomic</code></p>
</li>
</ol>
</div>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="tips"><a class="anchor" href="#tips"></a>Tips</h2>
<div class="sectionbody">
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
<div class="title">Tip</div>
<div class="paragraph">
<p>A template for commit messages:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-none hljs" data-lang="none">&lt;One sentence description, usually Jira title or CHANGES.txt summary&gt;
&lt;Optional lengthier description&gt;
patch by &lt;Authors&gt;; reviewed by &lt;Reviewers&gt; for CASSANDRA-#####
Co-authored-by: Name1 &lt;email1&gt;
Co-authored-by: Name2 &lt;email2&gt;</code></pre>
</div>
</div>
</td>
</tr>
</table>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
<div class="title">Tip</div>
<div class="paragraph">
<p>Notes on git flags: <code>-3</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>
</div>
<div class="paragraph">
<p><code>--atomic</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>
</td>
</tr>
</table>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
<div class="title">Tip</div>
<div class="paragraph">
<p>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 href="https://github.com/apache/cassandra/commit/7374e9b5ab08c1f1e612bf72293ea14c959b0c3c.patch" class="bare">github.com/apache/cassandra/commit/7374e9b5ab08c1f1e612bf72293ea14c959b0c3c.patch</a></p>
</div>
</td>
</tr>
</table>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
<div class="title">Tip</div>
<div class="paragraph">
<p><code>git cherry-pick -n &lt;sha-of-X.X-commit&gt;</code> can be used in place of the
<code>git format-patch -1 &lt;sha-of-X.X-commit&gt; ; git apply -3 &lt;sha-of-X.X-commit&gt;.patch</code>
steps.</p>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
<footer class="grad grad--two flex-center pb-xlarge">
<div class="inner text-center z2 relative">
<h2 class="white py-small">Get started with Cassandra, fast.</h2>
<a id="footer-cta" href="/_/quickstart.html" class="btn btn--filled ma-medium">Quickstart Guide</a>
</div>
<div class="inner flex flex-distribute-items mt-xlarge z2 relative">
<div class="col-2">
<div id="footer-logo" class="logo logo--footer mb-medium"><img src="../../assets/img/logo-white-r.png" alt="Cassandra Logo"></div>
<p>Apache Cassandra<img src="../../assets/img/registered.svg" alt="®" style="width:18px;"> powers mission-critical deployments with improved performance and unparalleled levels of scale in the cloud.</p>
<div class="footer-social-icons">
<a href="https://twitter.com/cassandra?lang=en" target="_blank"><img src="../../assets/img/twitter-icon-circle-white.svg" alt="twitter icon" width="24"></a>
<a href="https://www.linkedin.com/company/apache-cassandra/" target="_blank"><img src="../../assets/img/LI-In-Bug.png" alt="linked-in icon" width="24"></a>
<a href="https://www.youtube.com/c/PlanetCassandra" target="_blank"><img src="../../assets/img/youtube-icon.png" alt="youtube icon" width="24"></a>
</div>
</div>
<div class="col-2 flex flex-center">
<ul class="columns-2">
<li class="mb-small"><a href="/">Home</a></li>
<li class="mb-small"><a href="/_/cassandra-basics.html">Cassandra Basics</a></li>
<li class="mb-small"><a href="/_/quickstart.html">Quickstart</a></li>
<li class="mb-small"><a href="/_/ecosystem.html">Ecosystem</a></li>
<li class="mb-small"><a href="/doc/latest/">Documentation</a></li>
<li class="mb-small"><a href="/_/community.html">Community</a></li>
<li class="mb-small"><a href="/_/case-studies.html">Case Studies</a></li>
<li class="mb-small"><a href="/_/resources.html">Resources</a></li>
<li class="mb-small"><a href="/_/blog.html">Blog</a></li>
</ul>
</div>
</div>
</footer>
<div class="lower-footer bg-white pa-medium">
<div class="flex flex-row flex-vert-center">
<div class="pr-medium"><img src="../../assets/img//feather-small.png" alt="ASF" width="20"></div>
<div class="pr-medium"><a href="http://www.apache.org/" target="_blank">Foundation</a></div>
<div class="pr-medium"><a href="https://www.apache.org/events/current-event.html" target="_blank">Events</a></div>
<div class="pr-medium"><a href="https://www.apache.org/licenses/" target="_blank">License</a></div>
<div class="pr-medium"><a href="https://www.apache.org/foundation/thanks" target="_blank">Thanks</a></div>
<div class="pr-medium"><a href="https://www.apache.org/security" target="_blank">Security</a></div>
<div class="pr-medium"><a href="https://privacy.apache.org/policies/privacy-policy-public.html" target="_blank">Privacy</a></div>
<div class="pr-medium"><a href="https://www.apache.org/foundation/sponsorship" target="_blank">Sponsorship</a></div>
</div>
<p class="my-medium">© 2009-<script>document.write(new Date().getFullYear())</script> <a href="https://apache.org" target="_blank">The Apache Software Foundation</a> under the terms of the Apache License 2.0. Apache, the Apache feather logo, Apache Cassandra, Cassandra, and the Cassandra logo, are either registered trademarks or trademarks of The Apache Software Foundation.</p>
</div>
<div id="fade" class="hidden"></div>
<div id="modal" class="hidden">
<div id="close-modal" class="cursor-pointer"><svg viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></div>
<div id="mod-content" class="vid-mod-content resp-container"></div>
</div>
<script>
jQuery(function(){
var windowW = $(window).width();
$(document)
.on('click','.mobile-nav-icon',function(){
$('.main-nav').fadeIn();
})
.on('click','.main-nav',function(){
if(windowW <= 1000){
$(this).fadeOut();
}
})
.on('click','#version-toggle',function(){
$(this).toggleClass('active');
$(this).next().fadeToggle();
})
.on('click','#mobile-docs-nav-burger', function(){
$(this).toggleClass('active');
$('.docs-nav').toggleClass('active');
});
var url = window.location.pathname;
var isQuickstart = url.includes('quickstart.html');
if(isQuickstart){
var footerCTA = document.getElementById('footer-cta');
footerCTA.innerHTML = 'Get latest updates';
footerCTA.setAttribute('href', '/_/blog.html');
}
});
</script>
</div>
</body>
<script>
jQuery(function(){
jQuery(document)
.on('click','.cassandra-cloud h3',function(){
var el = jQuery(this);
el.toggleClass('active');
el.next().slideToggle();
})
.on('click','.image-expand img', function(){
$(this).clone().appendTo('#mod-content');
$('#fade,#modal,#close-modal').fadeIn();
$('body,html').addClass('no-scroll');
})
.on('click','#fade,#close-modal', function(){
$('#fade,#modal,#close-modal').fadeOut();
$('body,html').removeClass('no-scroll');
$('#mod-content').html('');
});
});
</script>
</html>