Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 1 | <!DOCTYPE html> |
| 2 | <html lang="en"> |
| 3 | <head> |
| 4 | <meta charset="utf-8"> |
| 5 | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| 6 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
| 7 | <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> |
| 8 | <meta name="description" content=""> |
| 9 | <meta name="author" content=""> |
Ian Maxon | f84cb81 | 2015-12-07 15:09:45 -0800 | [diff] [blame] | 10 | <link rel="icon" href="favicon.ico"> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 11 | |
| 12 | <title>Submitting Changes</title> |
| 13 | |
| 14 | <!-- Bootstrap core CSS --> |
Ian Maxon | f84cb81 | 2015-12-07 15:09:45 -0800 | [diff] [blame] | 15 | <link href="css/bootstrap.min.css" rel="stylesheet"> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 16 | <!-- Bootstrap theme --> |
| 17 | |
| 18 | <!-- Custom styles for this template --> |
Ian Maxon | f84cb81 | 2015-12-07 15:09:45 -0800 | [diff] [blame] | 19 | <link href="css/theme.css" rel="stylesheet"> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 20 | |
| 21 | <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> |
| 22 | <!--[if lt IE 9]> |
| 23 | <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> |
| 24 | <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> |
| 25 | <![endif]--> |
| 26 | <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"> |
| 27 | </head> |
| 28 | |
| 29 | <div class="container theme-showcase" role="main"> |
Till Westmann | 00f9bf2 | 2016-03-14 13:59:27 -0700 | [diff] [blame] | 30 | <div class="masthead"> |
| 31 | <p class="lead"> |
| 32 | <a href="index.html"> |
| 33 | <img src="img/asterixdb_tm.png" style="height:75px; width:auto; vertical-align:bottom; margin-top:10px;"/> |
| 34 | </a> |
| 35 | </p> |
| 36 | </div> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 37 | |
Till Westmann | 00f9bf2 | 2016-03-14 13:59:27 -0700 | [diff] [blame] | 38 | <nav class="navbar navbar-default"> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 39 | <div class="container"> |
| 40 | <div class="navbar-header"> |
| 41 | <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse"> |
| 42 | <span class="sr-only">Toggle navigation</span> |
| 43 | <span class="icon-bar"></span> |
| 44 | <span class="icon-bar"></span> |
| 45 | <span class="icon-bar"></span> |
| 46 | </button> |
Ian Maxon | f84cb81 | 2015-12-07 15:09:45 -0800 | [diff] [blame] | 47 | <a class="navbar-brand" href="index.html">Overview</a> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 48 | </div> |
| 49 | <div class="navbar-collapse collapse"> |
| 50 | <ul class="nav navbar-nav"> |
Ian Maxon | f84cb81 | 2015-12-07 15:09:45 -0800 | [diff] [blame] | 51 | <li><a href="download.html">Download</a></li> |
Ian Maxon | a9643c8 | 2015-09-01 11:15:57 -1000 | [diff] [blame] | 52 | <li class="dropdown"> |
| 53 | <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Documentation<span class="caret"></span></a> |
| 54 | <ul class="dropdown-menu" role="menu"> |
| 55 | <li class="dropdown-header">Stable release</li> |
Till Westmann | e617e52 | 2016-02-29 12:42:51 -0800 | [diff] [blame] | 56 | <li><a href="docs/0.8.8-incubating/index.html">Documentation for 0.8.8-incubating<i class="fa fa-external-link fa-sm"></i></a></li> |
Ian Maxon | a9643c8 | 2015-09-01 11:15:57 -1000 | [diff] [blame] | 57 | <li class="divider"></li> |
| 58 | <li class="dropdown-header">Snapshot release</li> |
Ian Maxon | a1d4909 | 2016-03-25 13:24:08 -0700 | [diff] [blame] | 59 | <li><a href="https://ci.apache.org/projects/asterixdb/index.html">Documentation for 0.8.9-SNAPSHOT <i class="fa fa-external-link fa-sm"></i></a></li> |
Ian Maxon | a9643c8 | 2015-09-01 11:15:57 -1000 | [diff] [blame] | 60 | </ul> |
| 61 | </li> |
Ian Maxon | f84cb81 | 2015-12-07 15:09:45 -0800 | [diff] [blame] | 62 | <li><a href="about.html">About</a></li> |
Till Westmann | 2a32102 | 2016-04-08 08:18:14 -0700 | [diff] [blame] | 63 | <li class="dropdown"> |
| 64 | <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Community<span class="caret"></span></a> |
| 65 | <ul class="dropdown-menu" role="menu"> |
| 66 | <li><a href="community.html">Mailing Lists</a></li> |
| 67 | <li><a href="community.html#irc">IRC</a></li> |
| 68 | <li><a href="community.html#asterixdb-team">Team</a></li> |
| 69 | <li><a href="https://issues.apache.org/jira/browse/ASTERIXDB">Issue Tracker</a></li> |
| 70 | </ul> |
| 71 | </li> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 72 | <li class="dropdown"> |
| 73 | <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Contributing <span class="caret"></span></a> |
| 74 | <ul class="dropdown-menu" role="menu"> |
| 75 | <li class="dropdown-header">For New Contributors</li> |
Ian Maxon | f84cb81 | 2015-12-07 15:09:45 -0800 | [diff] [blame] | 76 | <li><a href="dev-setup.html">Development Setup</a></li> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 77 | <li class="divider"></li> |
| 78 | <li class="dropdown-header">For Committers</li> |
Ian Maxon | f84cb81 | 2015-12-07 15:09:45 -0800 | [diff] [blame] | 79 | <li><a href="pushing.html">Pushing changes</a></li> |
| 80 | <li><a href="site.html">Editing this site</a></li> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 81 | </ul> |
| 82 | </li> |
| 83 | </ul> |
Till Westmann | 00f9bf2 | 2016-03-14 13:59:27 -0700 | [diff] [blame] | 84 | <ul class="nav navbar-nav navbar-right"> |
| 85 | <li class="dropdown"> |
| 86 | <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false" |
| 87 | style="padding-right: 30px"> |
| 88 | <img src="img/feather.png" style="height:20px"/>Apache Software Foundation<span class="caret"/> |
| 89 | </a> |
| 90 | <ul class="dropdown-menu dropdown-menu-right" role="menu"> |
| 91 | <li><a href="http://www.apache.org/"><b>ASF Homepage</b></a></li> |
| 92 | <li><a href="http://www.apache.org/licenses/">License</a></li> |
| 93 | <li><a href="http://www.apache.org/foundation/sponsorship.html">Donate</a></li> |
| 94 | <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> |
| 95 | <li><a href="http://www.apache.org/security/">Security</a></li> |
| 96 | </ul> |
| 97 | </li> |
| 98 | </ul> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 99 | </div><!--/.nav-collapse --> |
| 100 | </div> |
| 101 | </nav> |
| 102 | |
| 103 | |
Till Westmann | 00f9bf2 | 2016-03-14 13:59:27 -0700 | [diff] [blame] | 104 | <div class="row"> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 105 | <div class="col-md-8 col-centered"> |
| 106 | <h2>Submitting Changes</h2> |
| 107 | <ul id="markdown-toc"> |
| 108 | <li><a href="#submitting-patches-in-gerrit" id="markdown-toc-submitting-patches-in-gerrit">Submitting patches in Gerrit</a></li> |
| 109 | <li><a href="#pushing-merged-patches-from-gerrit-to-asf-git" id="markdown-toc-pushing-merged-patches-from-gerrit-to-asf-git">Pushing merged patches from Gerrit to ASF git</a></li> |
| 110 | </ul> |
| 111 | |
| 112 | <hr /> |
| 113 | |
| 114 | <h3 id="submitting-patches-in-gerrit">Submitting patches in Gerrit</h3> |
| 115 | |
| 116 | <p>Once a patch set is <code>+2 Code Review</code> in Gerrit, as well as <code>+1 Verified</code>, it can be submitted by a committer. |
| 117 | In the simplest case, this simply means for someone who is authorized (any Apache committer) to click the ‘Submit Patchset …’ button in the Gerrit web interface. However there is one case right now where care must be exercised in submitting a patch.</p> |
| 118 | |
| 119 | <h4 id="patches-which-span-hyracks-and-asterixdb">Patches which span Hyracks and AsterixDB</h4> |
| 120 | |
| 121 | <p>These patches require special care to submit. Any AsterixDB patch that requires a topic in Gerrit to verify is of this type. In general this is the process:</p> |
| 122 | |
| 123 | <ol> |
| 124 | <li>Ensure that both patches are based on the current HEAD of master (there should be no ‘Rebase Change’ button). This will require reviewers to re-apply their +2, because it changes the content of the patch.</li> |
| 125 | <li>Submit the Hyracks patch.</li> |
| 126 | <li>If all went well, submit the AsterixDB patch.</li> |
| 127 | </ol> |
| 128 | |
| 129 | <p><strong>IMPORTANT</strong>: Do <em>not</em> attempt to merge a patch that needs changes in Hyracks and AsterixDB while it needs rebasing. If the patch to Hyracks succeeds with a clean rebase, but the AsterixDB change requires a manual merge, you will leave master in a broken state!</p> |
| 130 | |
| 131 | <h3 id="pushing-merged-patches-from-gerrit-to-asf-git">Pushing merged patches from Gerrit to ASF git</h3> |
| 132 | |
| 133 | <p>Once a change is submitted and merged in Gerrit, the job is only partially done. The patch is committed in Gerrit’s local repository, but it is not present in the ASF git repository. This step must be done manually, preferably by the author of the patch (if they are a committer), or by one of the reviewers (if the patch is authored by a non-committer). This is simply a matter of fetching Gerrit’s master branch, and then pushing those changes to the ASF git repo. The git-asf script automates and simplifies this process.</p> |
| 134 | |
| 135 | <h4 id="prerequisites">Prerequisites</h4> |
| 136 | |
| 137 | <p>Before we begin, some prerequisites/notes:</p> |
| 138 | |
| 139 | <ul> |
| 140 | <li> |
| 141 | <p>You should have git-gerrit and git-asf installed (available <a href="http://github.com/ceejatec/git-gerrit">here</a>) and set up properly.</p> |
| 142 | </li> |
| 143 | <li> |
| 144 | <p>We need the SHA1 hash of the commit we want to push to ASF. This is visible in the Gerrit Web UI as a comment when a change is merged (“Change has been successfully cherry-picked as …”).</p> |
| 145 | </li> |
| 146 | <li> |
| 147 | <p>You should have the credentials for pushing to the ASF repository set up in a .netrc file or stored in git. See <a href="https://git-wip-us.apache.org/#committers-getting-started">here</a> for more details on setting up git with your Apache credentials.</p> |
| 148 | </li> |
| 149 | </ul> |
| 150 | |
| 151 | <h4 id="pushing-the-changes">Pushing the change(s)</h4> |
| 152 | |
| 153 | <p>Once the above is fulfilled, we can begin. Let <code>$SHA1</code> be the actual SHA1 hash of the commit we want to transmit from Gerrit to the ASF repo.</p> |
| 154 | |
| 155 | <ol> |
| 156 | <li><code>git asf commit $SHA1</code></li> |
| 157 | </ol> |
| 158 | |
| 159 | <p>That’s all there is to it! If the patch spanned both Hyracks and AsterixDB, be sure to perform this process in both repositories.</p> |
| 160 | |
| 161 | |
| 162 | </div> |
| 163 | </div> |
| 164 | |
| 165 | |
Till Westmann | 00f9bf2 | 2016-03-14 13:59:27 -0700 | [diff] [blame] | 166 | <hr/> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 167 | |
Till Westmann | 00f9bf2 | 2016-03-14 13:59:27 -0700 | [diff] [blame] | 168 | <footer> |
| 169 | <div class="row"> |
Till Westmann | 00f9bf2 | 2016-03-14 13:59:27 -0700 | [diff] [blame] | 170 | <div class="col-md-9 col-centered text-center"> |
| 171 | <p/> |
| 172 | <p>© Copyright 2016 The Apache Software foundation. All Rights Reserved. </p> |
| 173 | <p>Apache AsterixDB, the Apache AsterixDB logo, Apache, and the Apache feather logo are trademarks of the |
| 174 | Apache Software Foundation</p> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 175 | </div> |
Till Westmann | 00f9bf2 | 2016-03-14 13:59:27 -0700 | [diff] [blame] | 176 | </div> |
| 177 | </footer> |
| 178 | </div> <!-- /container --> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 179 | |
| 180 | <!-- Bootstrap core JavaScript |
| 181 | ================================================== --> |
| 182 | <!-- Placed at the end of the document so the pages load faster --> |
| 183 | <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> |
Ian Maxon | f84cb81 | 2015-12-07 15:09:45 -0800 | [diff] [blame] | 184 | <script src="js/bootstrap.min.js"></script> |
Ian Maxon | 3dffc85 | 2015-07-13 20:17:09 -0700 | [diff] [blame] | 185 | </body> |
| 186 | </html> |