You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apex.apache.org by an...@apache.org on 2015/11/12 23:43:50 UTC

incubator-apex-site git commit: from c8d5f6fcd8f2b7e0580872a6fd6591627bb7f953

Repository: incubator-apex-site
Updated Branches:
  refs/heads/asf-site 2844d142e -> 3b2c11114


from c8d5f6fcd8f2b7e0580872a6fd6591627bb7f953


Project: http://git-wip-us.apache.org/repos/asf/incubator-apex-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-apex-site/commit/3b2c1111
Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-site/tree/3b2c1111
Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-site/diff/3b2c1111

Branch: refs/heads/asf-site
Commit: 3b2c11114dc140e18cabc3620a1b83fcaa0c367d
Parents: 2844d14
Author: Andy Perlitch <an...@datatorrent.com>
Authored: Thu Nov 12 14:43:47 2015 -0800
Committer: Andy Perlitch <an...@datatorrent.com>
Committed: Thu Nov 12 14:43:47 2015 -0800

----------------------------------------------------------------------
 content/contributing.html | 40 +++++++++++++++++++++++++++++++++++++---
 1 file changed, 37 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-apex-site/blob/3b2c1111/content/contributing.html
----------------------------------------------------------------------
diff --git a/content/contributing.html b/content/contributing.html
index a486a60..9c52632 100644
--- a/content/contributing.html
+++ b/content/contributing.html
@@ -78,8 +78,10 @@
   <p>This project welcomes new contributors. If you would like to help by adding new features, enhancements or fixing bugs, here is how to do it.</p>
   <ol>
   <li>Create a <a href="https://malhar.atlassian.net/">JIRA</a> for the work you plan to do (or assign yourself to an existing JIRA ticket)</li>
-  <li>Fork the ASF github mirror (one time step):<br><a href="https://github.com/apache/incubator-apex-core/">https://github.com/apache/incubator-apex-core/</a></li>
-  <li>Create a new branch from the <a href="https://github.com/apache/incubator-apex-core/tree/devel-3">devel-3</a> branch. <strong>Name your branch with the JIRA number in it, e.g. <code>APEX-123.my-feature</code>.</strong></li>
+  <li>Fork the ASF github mirror (one time step):<br><a href="https://github.com/apache/incubator-apex-core/">https://github.com/apache/incubator-apex-core/</a>  </li>
+  <li>Clone the <strong>fork</strong> on your local workspace (one time step):<br><code>git clone https://github.com/{github_username}/incubator-apex-core.git</code></li>
+  <li>Add <a href="https://github.com/apache/incubator-apex-core">incubator apex core</a> as a remote repository (one time step):<br><code>git remote add upstream https://github.com/apache/incubator-apex-core</code></li>
+  <li>Create a new branch from the <a href="https://github.com/apache/incubator-apex-core/tree/devel-3">devel-3</a> branch. <strong>Name your branch with the JIRA number in it, e.g. <code>APEX-123.my-feature</code>.</strong><br><code>git checkout -b APEX-123.my-feature -t upstream/devel-3</code><br>Creating a local branch that tracks a remote makes pull easier (no need to specify the remote branch while pulling). A branch can be made to track a remote branch anytime, not necessarily at its creation by:<br><code>git branch -u upstream/devel-3</code></li>
   <li>When adding new files, please include the Apache v2.0 license header.<ul>
   <li>From the top level directory, run <code>mvn license:check -Dlicense.skip=false</code> to check correct header formatting.</li>
   <li>Run <code>mvn license:format -Dlicense.skip=false</code> to automatically add the header when missing.</li>
@@ -87,7 +89,39 @@
   </li>
   <li>Once your feature is complete, submit the pull request on github against <code>devel-3</code>.</li>
   <li>If you want specific people to review your pull request, use the <code>@</code> notation in Github comments to mention that user, and request that he/she reviews your changes.</li>
-  <li>After all review is complete, combine all new commits into one squashed commit, and include the Jira number in the commit message. There are several ways to squash commits, but <a href="https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Squashing-Commits">here is one explanation from git-scm.com</a>.</li>
+  <li><p>After all review is complete, combine all new commits into one squashed commit, and include the Jira number in the commit message. There are several ways to squash commits, but [here is one explanation from git-scm.com]<br>(<a href="https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Squashing-Commits">https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Squashing-Commits</a>) and a simple example is illustrated below:</p>
+  <p>If tracking upstream/devel-3 then run <code>git rebase -i</code>. Else run <code>git rebase -i upstream/devel-3</code>.<br>This command opens the text editor which lists the multiple commits:</p>
+  <pre><code>pick <span class="hljs-number">67</span>cd79b change1
+  pick <span class="hljs-number">6</span>f98905 change2
+  
+  <span class="hljs-preprocessor"># Rebase e13748b..3463fbf onto e13748b (2 command(s))</span>
+  <span class="hljs-preprocessor">#</span>
+  <span class="hljs-preprocessor"># Commands:</span>
+  <span class="hljs-preprocessor"># p, pick = use commit</span>
+  <span class="hljs-preprocessor"># r, reword = use commit, but edit the commit message</span>
+  <span class="hljs-preprocessor"># e, edit = use commit, but stop for amending</span>
+  <span class="hljs-preprocessor"># s, squash = use commit, but meld into previous commit</span>
+  <span class="hljs-preprocessor"># f, fixup = like "squash", but discard this commit's log message</span>
+  <span class="hljs-preprocessor"># x, exec = run command (the rest of the line) using shell</span>
+  <span class="hljs-preprocessor">#</span>
+  <span class="hljs-preprocessor"># These lines can be re-ordered; they are executed from top to bottom.</span>
+  </code></pre><p>Squash &#39;change2&#39; to &#39;change1&#39; and save.</p>
+  <pre><code>pick <span class="hljs-number">67</span>cd79b change1
+  squash <span class="hljs-number">6f</span>98905 change2
+  </code></pre></li>
+  <li>Till the review is complete it may happen that working feature branch may diverge from <code>devel-3</code> substantially. Therefore, it is recommended to frequently merge <code>devel-3</code> to the branch being worked on by:<ul>
+  <li>when the branch tracks upstream/devel-3<br><code>git pull</code></li>
+  <li>when the branch doesn&#39;t track upstream<br><code>git pull upstream devel-3</code></li>
+  </ul>
+  </li>
+  <li>If a pull from <code>devel-3</code> results in a conflict then resolve it and commit the merge. This results in additional merge commits in the pull request. Following steps help to ensure that the final pull request contains just one commit:<ul>
+  <li>Rename the original branch:<br><code>git branch -m APEX-123.my-feature.squash</code></li>
+  <li>Create a new branch (with the original name) from upstream/devel-3 that has latest changes:<br><code>git checkout -b APEX-123.my-feature -t upstream/devel-3</code></li>
+  <li>Squash merge the old branch which was renamed. When the new branch has the latest changes then this squash will result only in the changes that were made for the feature:<br><code>git merge --squash APEX-123.my-feature.squash</code></li>
+  <li>Commit the squash and force push it to the old feature remote branch so that the pull request is automatically updated:<br><code>git commit -m &quot;APEX-123 #comment added my-feature&quot;</code><br><code>git push origin +APEX-123.my-feature</code></li>
+  <li>Delete the extra squash branch:<br><code>git branch -D APEX-123.my-feature.squash</code></li>
+  </ul>
+  </li>
   </ol>
   <p>Thanks for contributing!</p>
   <h2 id="merging-a-pull-request-committers-">Merging a Pull Request (committers)</h2>