blob: fa89e4a5b8465b8c3a71f931446b9187fc00dd51 [file] [log] [blame]
<!doctype html>
<!--[if lt IE 7]><html lang="en-US" class="no-js lt-ie9 lt-ie8 lt-ie7"><![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html lang="en-US" class="no-js lt-ie9 lt-ie8"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html lang="en-US" class="no-js lt-ie9"><![endif]-->
<!--[if gt IE 8]><!-->
<html lang="en-US" class="no-js">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Contribute - Apache Spot</title>
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="apple-touch-icon" href="../library/images/apple-touch-icon.png">
<link rel="icon" href="../favicon.png">
<!--[if IE]>
<link rel="shortcut icon" href="">
<meta name="msapplication-TileColor" content="#f01d4f">
<meta name="msapplication-TileImage" content="../library/images/win8-tile-icon.png">
<meta name="theme-color" content="#121212">
<link rel='dns-prefetch' href='//' />
<link rel='dns-prefetch' href='//' />
<link rel="alternate" type="application/rss+xml" title="Apache Spot &raquo; Feed" href="../feed/" />
<link rel='stylesheet' id='googleFonts-css' href='' type='text/css' media='all' />
<link rel='stylesheet' id='bones-stylesheet-css' href='../library/css/style.css' type='text/css' media='all' />
<!--[if lt IE 9]>
<link rel='stylesheet' id='bones-ie-only-css' href='' type='text/css' media='all' />
<link rel='stylesheet' id='mm-css-css' href='../library/css/meanmenu.css' type='text/css' media='all' />
<script type='text/javascript' src='../library/js/libs/modernizr.custom.min.js'></script>
<script src=""></script>
<script type='text/javascript' src='../library/js/jquery-migrate.min.js'></script>
<script type='text/javascript' src='../library/js/jquery.meanmenu.js'></script>
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
ga('create', 'UA-87470508-1', 'auto');
ga('send', 'pageview');
<body class="page">
<div id="container">
<div class="social-sidebar">
<a href=""><span class="icon-envelope"></span></a>
<a href="" target="_blank"><span class="icon-twitter"></a>
<header class="header">
<div id="inner-header" class="wrap cf">
<p id="logo" class="h1" itemscope itemtype="">
<a href="" rel="nofollow"><img src="../library/images/logo.png" alt="Apache Spot" /></a>
<ul id="menu-main-menu" class="nav top-nav cf">
<li id="menu-item-129" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-129">
<a target="_blank" href="">Get Started</a>
<li id="menu-item-5" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5">
<a target="_blank" href="">GitHub</a>
<li id="menu-item-130" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-130 active">
<a href="../contribute">Contribute</a>
<li id="menu-item-106" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-106">
<a href="../doc">Documentation</a>
<li class="menu-item menu-item-has-children">
<a href="#">Project Components</a>
<ul class="sub-menu">
<li><a href="../project-components/open-data-models">Open Data Models</a></li>
<li><a href="../project-components/ingestion">Ingestion</a></li>
<li><a href="../project-components/machine-learning">Machine Learning</a></li>
<li><a href="../project-components/visualization">Visualization</a></li>
<li id="menu-item-13" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13">
<a href="../blog">Blog</a>
<div id="mobile-nav"></div>
<div id="content">
<div class="wrap cf"><!--if page has sidebar, add class "with-sidebar"-->
<div class="main">
<h1 class="page-title">Proposed Apache-Spot (incubating) Commit Workflow</h1>
<p><strong>NOTE: Most of this guide is based on ASF Documentation.</strong></p>
<p>This guide is meant to provide a workflow for committers of Apache Spot. The proposed workflow is for using git with apache-spot codebase.</p>
<p>Depending the nature of the change two different approaches can be used to commit to Apache Spot: <strong>Individual Push</strong> or <strong>Topic Branding</strong>.</p>
<h3 class="center" style="margin-top:35px;">Individual Push (most commonly used by the community):</h3>
<p><img src="../library/images/individual-push.png" alt="" /></p>
<li>For the Github repository at <a href="" target="_blank"></a> if you haven't already. For more information about Fork please go to: <a href="" target="_blank"></a></li>
<li>Clone your fork, create a new branch named after a Jira issue (i.e. <strong>spot-100</strong>).</li>
<li>Push commits to your local branch.</li>
<li>Test it!!!</li>
<li>Create a pull request (PR) against the upstream repo (master) of apache-spot. For more information about how to create a pull request please go to: <a href="" target="_blank"></a>.</li>
<li>Wait for the maintainers to review your PR.</li>
<h3 class="center" style="margin-top:35px;">Topic Branching (upstream)</h3>
<p>What are a topic branches?</p>
<blockquote>According to the git definition: "<em>A topic branch is a short-lived branch that you create and use for a single particular feature or related work.</em>" (<a href="" target="_blank"></a>)</blockquote>
<p>Sometimes a new major feature will have dependencies between modules or developers that can't be separated into individual pushes, when this happens, a topic branch will be created to deliver the complete functionality before the merge with the upstream (encapsulated dev enviroment).</p>
<p>In order to create a topic branch, three requirements are needed:</p>
<li>A design document must be uploaded using Jira. This design must be approved by the maintainers.</li>
<li>A voting process will be required to approve the topic branch creation, at least 3 maintainers need to approve it.</li>
<li>A commitment to delete the branch after merging it into the upstream branch must be done. The topic branch should only exist while the work is still in progress.</li>
<p>A meaningful name must be given to the branch. It is recommended to use JIRA issue created with the design document to link the branch.</p>
<p><img src="../library/images/topic-branching.png" alt="" /></p>
<p><strong>IMPORTANT: There shouldn't be a push without a Jira created previously</strong></p>
<h3>Approvals and Voting Process:</h3>
<p>For code-modification, +1 votes are in favor of the proposal, but -1 votes are <u>vetos</u> and kill the proposal dead until all vetoers withdraw their -1 votes.</p>
<p>Unless a vote has been declared as using <u>lazy consensus</u>, three +1 votes are required for a code-modification proposal to pass.</p>
<p>Whole numbers are recommended for this type of vote, as the opinion being expressed is Boolean: 'I approve/do not approve of this change.'</p>
<p><strong>Source: <a href="" target="_blank"></a></strong></p>
<h3>Useful links:</h3>
<li><a href="" target="_blank"></a></li>
<li><a href="" target="_blank"></a></li>
<li><a href="" target="_blank"></a></li>
<li><a href="" target="_blank"></a></li>
<div id="more-info">
<div class="wrap cf">
<p class="social-icons">
<a href="" class="y-btn" target="_blank">More Info</a>
<p style="margin-top:50px;"><img src="../library/images/apache-incubator.png" alt="Apache Incubator" />
<p class="disclaimer">
Apache Spot is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
<p class="disclaimer">
The contents of this website are © 2019 Apache Software Foundation under the terms of the Apache License v2. Apache Spot and its logo are trademarks of the Apache Software Foundation.
<footer class="footer" role="contentinfo" itemscope itemtype="">
<div id="inner-footer" class="wrap cf">
<p class="source-org copyright" style="text-align:center;">
&copy; 2019 Apache Spot.
<a href="#0" class="cd-top">Top</a>
<script type='text/javascript' src='../library/js/scripts.js'></script>