You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by bu...@apache.org on 2014/06/09 04:01:54 UTC

svn commit: r911917 - in /websites/staging/mahout/trunk/content: ./ developers/github.html

Author: buildbot
Date: Mon Jun  9 02:01:54 2014
New Revision: 911917

Log:
Staging update by buildbot for mahout

Modified:
    websites/staging/mahout/trunk/content/   (props changed)
    websites/staging/mahout/trunk/content/developers/github.html

Propchange: websites/staging/mahout/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Jun  9 02:01:54 2014
@@ -1 +1 @@
-1600736
+1601299

Modified: websites/staging/mahout/trunk/content/developers/github.html
==============================================================================
--- websites/staging/mahout/trunk/content/developers/github.html (original)
+++ websites/staging/mahout/trunk/content/developers/github.html Mon Jun  9 02:01:54 2014
@@ -256,27 +256,40 @@ pushing it to https://git-wip-us.apache.
 </pre></div>
 
 
-<p>Now if you want to experiment with a branch do the following:</p>
+<p>To check your remote setup</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">remote</span> <span class="o">-</span><span class="n">v</span>
+</pre></div>
+
+
+<p>you should see something like this:</p>
+<div class="codehilite"><pre><span class="n">origin</span>    <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="p">.</span><span class="n">com</span><span class="o">/</span><span class="n">your</span><span class="o">-</span><span class="n">github</span><span class="o">-</span><span class="n">id</span><span class="o">/</span><span class="n">mahout</span><span class="p">.</span><span class="n">git</span> <span class="p">(</span><span class="n">fetch</span><span class="p">)</span>
+<span class="n">origin</span>    <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="p">.</span><span class="n">com</span><span class="o">/</span><span class="n">your</span><span class="o">-</span><span class="n">github</span><span class="o">-</span><span class="n">id</span><span class="o">/</span><span class="n">mahout</span><span class="p">.</span><span class="n">git</span> <span class="p">(</span><span class="n">push</span><span class="p">)</span>
+<span class="n">apache</span>    <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">git</span><span class="o">-</span><span class="n">wip</span><span class="o">-</span><span class="n">us</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">asf</span><span class="o">/</span><span class="n">mahout</span><span class="p">.</span><span class="n">git</span> <span class="p">(</span><span class="n">fetch</span><span class="p">)</span>
+<span class="n">apache</span>    <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">git</span><span class="o">-</span><span class="n">wip</span><span class="o">-</span><span class="n">us</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">asf</span><span class="o">/</span><span class="n">mahout</span><span class="p">.</span><span class="n">git</span> <span class="p">(</span><span class="n">push</span><span class="p">)</span>
+</pre></div>
+
+
+<p>Now if you want to experiment with a branch everything, by default, points to your github account because 'origin' is default. You can work as normal using only github until you are ready to merge with the apache remote. Some conventions will integrate with Apache Jira ticket numbers.</p>
 <div class="codehilite"><pre><span class="n">git</span> <span class="n">checkout</span> <span class="o">-</span><span class="n">b</span> <span class="n">mahout</span><span class="o">-</span><span class="n">xxxx</span> #<span class="n">xxxx</span> <span class="n">typically</span> <span class="n">is</span> <span class="n">a</span> <span class="n">Jira</span> <span class="n">ticket</span> <span class="n">number</span>
 #<span class="n">do</span> <span class="n">some</span> <span class="n">work</span> <span class="n">on</span> <span class="n">the</span> <span class="n">branch</span>
 <span class="n">git</span> <span class="n">commit</span> <span class="o">-</span><span class="n">a</span> <span class="o">-</span><span class="n">m</span> &quot;<span class="n">MAHOUT</span><span class="o">-</span><span class="n">XXXX</span> <span class="n">doing</span> <span class="n">some</span> <span class="n">work</span>&quot;
-<span class="n">git</span> <span class="n">push</span> <span class="n">origin</span> <span class="n">mahout</span><span class="o">-</span><span class="n">xxxx</span> #<span class="n">notice</span> <span class="n">pushing</span> <span class="n">to</span> <span class="s">&#39;origin&#39;</span> <span class="n">not</span> <span class="s">&#39;apache&#39;</span>
+<span class="n">git</span> <span class="n">push</span> <span class="n">origin</span> <span class="n">mahout</span><span class="o">-</span><span class="n">xxxx</span> # <span class="n">notice</span> <span class="n">pushing</span> <span class="n">to</span> <span class="s">&#39;origin&#39;</span> <span class="n">not</span> <span class="s">&#39;apache&#39;</span>
 </pre></div>
 
 
-<p>Once you are ready to commit to the apache master you can push them directly <strong>if they are very small changes</strong>. Do the following:</p>
-<div class="codehilite"><pre><span class="n">git</span> <span class="n">checkout</span> <span class="n">master</span>
+<p>Once you are ready to commit to the apache master you can push them directly:</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">checkout</span> <span class="n">master</span> 
+<span class="n">git</span> <span class="n">pull</span> <span class="n">apache</span> <span class="n">master</span> # <span class="n">may</span> <span class="n">have</span> <span class="n">to</span> <span class="nb">fix</span> <span class="n">merge</span> <span class="n">conflicts</span>
 <span class="n">git</span> <span class="n">merge</span> <span class="n">mahout</span><span class="o">-</span><span class="n">xxxx</span>
 # <span class="n">check</span> <span class="n">build</span> <span class="n">and</span> <span class="n">tests</span>
-<span class="n">git</span> <span class="n">push</span> <span class="n">apache</span> <span class="n">master</span> #<span class="n">this</span> <span class="n">pushes</span> <span class="n">all</span> <span class="n">changes</span> <span class="n">you</span> <span class="n">just</span> <span class="n">merged</span>
+<span class="n">git</span> <span class="n">push</span> <span class="n">apache</span> <span class="n">master</span> #<span class="n">this</span> <span class="n">pushes</span> <span class="n">all</span> <span class="n">changes</span> <span class="n">you</span> <span class="n">just</span> <span class="n">merged</span> <span class="n">to</span> <span class="n">the</span> <span class="n">apache</span> <span class="n">git</span> <span class="n">remote</span> <span class="n">repo</span>
 </pre></div>
 
 
-<p>For most non-trivial work it's best to use a PR so go to your github account, pick the branch you want to push and create a pull request. Github will ask for the "base fork:" this should be github's apache/mahout , and the "base:" should be "master". This will create a pull request for review on gtihub. Once the review is complete proceed to merging below.</p>
-<h2 id="prs-for-collaboration">PR's For Collaboration</h2>
-<p>Creating a PR is also useful when you want to collaborate on something. Even though the PR will never be merged with the master branch it is perfectly acceptable to submit one so another committer can grab it and contribute or comment. Just make sure to note that it is not meant for merging. Typically you will merge your own PRs so this won't be a problem. Another way to do this would be to create a branch on the main 
-Apache git remote but this will soon clutter the repo with lots of temporary branches that might be better handled through the PR mechanism.</p>
-<h2 id="merging-a-pr-and-closing-it-for-committers">Merging a PR and closing it (for committers)</h2>
+<p>Since PRs reference a specific user's branch they may be used by committers to collaborate with others or 
+to get reviews before pushing to apache. Creating a PR only establishes a place to review, you will have to 
+merge your branch as above to get it into apache/master.</p>
+<h2 id="merging-a-contributors-pr-and-closing-it-for-committers">Merging a contributor's PR and closing it (for committers)</h2>
 <p>Start with reading [<a href="https://help.github.com/articles/merging-a-pull-request#merging-locally">2</a>] (merging locally). </p>
 <p>Remember that pull requests are equivalent to a remote github branch with potentially a multitude of commits. 
 In this case it is recommended to squash remote commit history to have one commit per issue, rather 
@@ -290,24 +303,10 @@ same time, it is recommended to use <str
 
 
 <p>Squash pull ensures all PR history is squashed into single commit, and allows committer to use his/her own
-message. Read git help for merge or pull for more information about <code>--squash</code> option.</p>
-<p>In this example we assume that the contributor's or committer's Github handle is "cuser" and the PR branch name is "cbranch" there. </p>
-<p>We also assume that <em>apache</em> remote is configured as stated above. To check do the following</p>
-<div class="codehilite"><pre><span class="n">git</span> <span class="n">remote</span> <span class="o">-</span><span class="n">v</span>
-</pre></div>
-
-
-<p>you should see something like this:</p>
-<div class="codehilite"><pre><span class="n">origin</span>    <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="p">.</span><span class="n">com</span><span class="o">/</span><span class="n">cuser</span><span class="o">/</span><span class="n">mahout</span><span class="p">.</span><span class="n">git</span> <span class="p">(</span><span class="n">fetch</span><span class="p">)</span>
-<span class="n">origin</span>    <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="p">.</span><span class="n">com</span><span class="o">/</span><span class="n">cuser</span><span class="o">/</span><span class="n">mahout</span><span class="p">.</span><span class="n">git</span> <span class="p">(</span><span class="n">push</span><span class="p">)</span>
-<span class="n">apache</span>    <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">git</span><span class="o">-</span><span class="n">wip</span><span class="o">-</span><span class="n">us</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">asf</span><span class="o">/</span><span class="n">mahout</span><span class="p">.</span><span class="n">git</span> <span class="p">(</span><span class="n">fetch</span><span class="p">)</span>
-<span class="n">apache</span>    <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">git</span><span class="o">-</span><span class="n">wip</span><span class="o">-</span><span class="n">us</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">asf</span><span class="o">/</span><span class="n">mahout</span><span class="p">.</span><span class="n">git</span> <span class="p">(</span><span class="n">push</span><span class="p">)</span>
-</pre></div>
-
-
-<p>Next, resolve conflicts, if any, or ask a contributor to rebase on top of master, if PR went out of sync.</p>
-<p>Also run regular patch checks and change CHANGELOG.</p>
-<p>Suppose everything is fine, you now can commit the squashed request along the lines</p>
+message. Read git help for merge or pull for more information about <code>--squash</code> option. In this example we assume that the contributor's Github handle is "cuser" and the PR branch name is "cbranch". 
+Next, resolve conflicts, if any, or ask a contributor to rebase on top of master, if PR went out of sync.</p>
+<p>Remember to run regular patch checks, build with tests enabled, and change CHANGELOG.</p>
+<p>If everything is fine, you now can commit the squashed request along the lines</p>
 <div class="codehilite"><pre><span class="n">git</span> <span class="n">commit</span> <span class="o">-</span><span class="n">a</span> <span class="o">-</span><span class="n">m</span> &quot;<span class="n">MAHOUT</span><span class="o">-</span><span class="n">YYYY</span> <span class="n">description</span> <span class="p">(</span><span class="n">cuser</span> <span class="n">via</span> <span class="n">your</span><span class="o">-</span><span class="n">apache</span><span class="o">-</span><span class="n">id</span><span class="p">)</span> <span class="n">closes</span> <span class="n">apache</span><span class="o">/</span><span class="n">mahout</span>#<span class="n">ZZ</span>&quot;
 </pre></div>