mahout-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r910179 - in /websites/staging/mahout/trunk/content: ./ developers/github.html
Date Wed, 28 May 2014 00:05:14 GMT
Author: buildbot
Date: Wed May 28 00:05:14 2014
New Revision: 910179

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 Wed May 28 00:05:14 2014
@@ -1 +1 @@
-1597892
+1597905

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 Wed May 28 00:05:14 2014
@@ -242,56 +242,67 @@
   <div id="content-wrap" class="clearfix">
    <div id="main">
     <h1 id="handling-github-prs">Handling Github PRs</h1>
+<p>When we don't want to use Github's PR collaboration tools, we always can just commit
a patch directly by 
+pushing it to https://git-wip-us.apache.org/repos/asf/mahout.git.</p>
+<p>Otherwise, here's recommended procedure to resolve external github pull requests
to apache/Mahout repository.</p>
 <h2 id="how-to-create-a-pr-for-contributers">How to create a PR (for contributers)</h2>
-<p>Read [<a href="https://help.github.com/articles/creating-a-pull-request">1</a>].
</p>
+<p>Create pull requests: [<a href="https://help.github.com/articles/creating-a-pull-request">1</a>].
</p>
 <p>Pull requests are made to apache/mahout repository on Github. </p>
 <h2 id="merging-a-pr-and-closing-it-for-committers">Merging a PR and closing it (for
committers)</h2>
-<p>Remember that pull requests are equivalent to a remote branch with potentially a
multitude of commits. 
+<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 
 than merging in a multitude of contributer's commits. In order to do that, as well as close
the PR at the 
 same time, it is recommended to use <strong>squash commits</strong>.</p>
-<p>Read [<a href="https://help.github.com/articles/merging-a-pull-request#merging-locally">2</a>]
(merging locally). Merging pull requests are equivalent to merging contributor's branch:</p>
+<p>Merging pull requests are equivalent to merging contributor's branch:</p>
 <div class="codehilite"><pre><span class="n">git</span> <span
class="n">checkout</span> <span class="n">master</span>      # <span
class="k">switch</span> <span class="n">to</span> <span class="n">local</span>
<span class="n">master</span> <span class="n">branch</span>
 <span class="n">git</span> <span class="n">pull</span> <span class="n">apache</span>
<span class="n">master</span>   # <span class="n">fast</span><span
class="o">-</span><span class="n">forward</span> <span class="n">to</span>
<span class="n">current</span> <span class="n">remote</span> <span
class="n">HEAD</span>
 <span class="n">git</span> <span class="n">pull</span> <span class="o">--</span><span
class="n">squash</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="n">cbranch</span>
 # <span class="n">merge</span> <span class="n">to</span> <span
class="n">master</span>
 </pre></div>
 
 
-<p>In this example we assume that contributor Github handle is "cuser" and the PR branch
name is "cbranch" there. We also 
-assume that <em>apache</em> remote is configured as </p>
+<p>In this example we assume that contributor 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 </p>
 <div class="codehilite"><pre><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>Squash pull ensures all PR history is squashed into single commit. Also, it is not
yet committed, even if 
-fast forward is possible, so you get chance to change things before committing.</p>
-<p>At this point resolve conflicts, if any, or ask contributor to rebase on top of
master, if PR went out of sync.</p>
+<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>Next, resolve conflicts, if any, or ask 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 </p>
-<div class="codehilite"><pre><span class="n">git</span> <span
class="n">commit</span> <span class="o">-</span><span class="n">a</span>
+<p>Suppose 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">ssc</span><span
class="p">)</span> <span class="o">**</span><span class="n">closes</span>
#<span class="n">ZZ</span><span class="o">**</span>&quot;
 </pre></div>
 
 
-<p>edit message to contain "MAHOUT-YYYY description <strong>closes #ZZ</strong>",
where ZZ is the pull request number. 
-Including "closes #ZZ" will close PR automatically. More information [<a href="https://help.github.com/articles/closing-issues-via-commit-messages">3</a>].</p>
-<p>push apache master</p>
-<p>(this will require credentials).</p>
-<p>Note on squashing: Since squash discards remote branch history, repeated PRs from
the same remote branch are 
-difficult for merging. The workflow implies that every new PR starts with a new rebased branch.
This is more 
-important for contributors to know, rather than for committers, because if new PR is not
mergeable, github
-would warn to begin with. Anyway, watch for dupe PRs (based on same source branches). This
is a bad practice.</p>
-<h2 id="closing-a-pr-without-committing">Closing a PR without committing</h2>
-<p>When we want to reject a PR (close without committing), just do the following commit
on master's HEAD 
+<p>where <code>ZZ</code> is the pull request number. Including "closes
#ZZ" will close PR automatically. 
+More information here [<a href="https://help.github.com/articles/closing-issues-via-commit-messages">3</a>].</p>
+<p>Next, push to git-wip-us.a.o:</p>
+<div class="codehilite"><pre><span class="n">push</span> <span
class="n">apache</span> <span class="n">master</span>
+</pre></div>
+
+
+<p>(this will require Apache handle credentials).</p>
+<div class="codehilite"><pre><span class="n">Note</span> <span
class="n">on</span> <span class="n">squashing</span><span class="p">:</span>
<span class="n">Since</span> <span class="n">squash</span> <span
class="n">discards</span> <span class="n">remote</span> <span class="n">branch</span>
<span class="n">history</span><span class="p">,</span> <span class="n">repeated</span>
<span class="n">PRs</span> <span class="n">from</span> <span class="n">the</span>
<span class="n">same</span> <span class="n">remote</span> <span
class="n">branch</span> <span class="n">are</span> 
+<span class="n">difficult</span> <span class="k">for</span> <span
class="n">merging</span><span class="p">.</span> <span class="n">The</span>
<span class="n">workflow</span> <span class="n">implies</span> <span
class="n">that</span> <span class="n">every</span> <span class="n">new</span>
<span class="n">PR</span> <span class="n">starts</span> <span class="n">with</span>
<span class="n">a</span> <span class="n">new</span> <span class="n">rebased</span>
<span class="n">branch</span><span class="p">.</span> <span class="n">This</span>
<span class="n">is</span> <span class="n">more</span> 
+<span class="n">important</span> <span class="k">for</span> <span
class="n">contributors</span> <span class="n">to</span> <span class="n">know</span><span
class="p">,</span> <span class="n">rather</span> <span class="n">than</span>
<span class="k">for</span> <span class="n">committers</span><span
class="p">,</span> <span class="n">because</span> <span class="k">if</span>
<span class="n">new</span> <span class="n">PR</span> <span class="n">is</span>
<span class="n">not</span> <span class="n">mergeable</span><span
class="p">,</span> <span class="n">github</span>
+<span class="n">would</span> <span class="n">warn</span> <span
class="n">to</span> <span class="n">begin</span> <span class="n">with</span><span
class="p">.</span> <span class="n">Anyway</span><span class="p">,</span>
<span class="n">watch</span> <span class="k">for</span> <span class="n">dupe</span>
<span class="n">PRs</span> <span class="p">(</span><span class="n">based</span>
<span class="n">on</span> <span class="n">same</span> <span class="n">source</span>
<span class="n">branches</span><span class="p">).</span> <span
class="n">This</span> <span class="n">is</span> <span class="n">a</span>
<span class="n">bad</span> <span class="n">practice</span><span
class="p">.</span>
+</pre></div>
+
+
+<h2 id="closing-a-pr-without-committing-for-committers">Closing a PR without committing
(for committers)</h2>
+<p>When we want to reject a PR (close without committing), we can just issue an empty
commit on master's HEAD 
 <em>without merging the PR</em>: </p>
 <div class="codehilite"><pre><span class="n">git</span> <span
class="n">commit</span> <span class="o">--</span><span class="n">allow</span><span
class="o">-</span><span class="n">empty</span> <span class="o">-</span><span
class="n">m</span> &quot;<span class="n">closes</span> #<span
class="n">ZZ</span> <span class="o">*</span><span class="n">Won</span><span
class="o">&#39;</span><span class="n">t</span> <span class="nb">fix</span><span
class="o">*</span>&quot;
 <span class="n">git</span> <span class="n">push</span> <span class="n">apache</span>
<span class="n">master</span>
 </pre></div>
 
 
-<p>that should close PR without merging and any code modifications in the master repository.</p>
+<p>that should close PR <code>ZZ</code> on github mirror without merging
and any code modifications in the master repository.</p>
 <h2 id="apachegithub-integration-features">Apache/github integration features</h2>
-<p>Read [<a href="https://blogs.apache.org/infra/entry/improved_integration_between_apache_and">4</a>].
Issue handles mentioned in comments and PR name should post to mailing lists and Jira.</p>
+<p>Read [<a href="https://blogs.apache.org/infra/entry/improved_integration_between_apache_and">4</a>].
Comments (and PRs?) with Mahout issue handles should post to mailing lists and Jira.</p>
    </div>
   </div>     
 </div> 



Mime
View raw message