<br><br>On Monday, April 24, 2017, Louie Lu <<a href="mailto:me@louie.lu">me@louie.lu</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div>thanks for all your reply, since roundup didn't contain JSON REST API, and I'm not sure did roundup robot have deal with "patched but still open" situation, thus I do some change to bpo-mergerate and have some result.</div><div><br></div><div>GitHub repo: <a href="https://github.com/lulouie/bpo-mergerate" target="_blank">https://github.com/lulouie/<wbr>bpo-mergerate</a></div><div>Demo site: <a href="https://bpo-mergerate.louie.lu" target="_blank">https://bpo-mergerate.louie.lu</a></div><div><br></div><div>Now bpo-mergerate using SQLite database and no more CSV file, and an update.py script was added, on my host, it will automatically update the bpo patch status hourly.</div><div>For the site, it is now using ajax and can deal with fuzzy search. </div><div><br></div><div>The merge rate calculate is now find-grained to per-file, and will automatically count the prefix merge rate, for example:</div><div><br></div><div>Searching: Lib/test</div><div>Result:</div><div>    path                                     merged  open  total    rate</div><div>    /Lib/test                                   3013  1359   4372  68.916</div><div>    Lib/test/test_ssl.py                  60      15       75      80.000</div><div>    Lib/test/test_inspect.py           56      12       68      82.353 <br></div><div><br></div><div><br></div><div>I think the site function is complete now, welcome for any suggestion. (maybe like <a href="http://speed.python.org" target="_blank">speed.python.org</a> make a timeline for the merge rate?)</div></div></blockquote><div><br></div><div>Nice work.</div><div><br></div><div>Additional per-file factors worth visualizing:</div><div><br></div><div>- change in test coverage</div><div>- change in relevant docs.rst</div><div>- build job ids (which patch on which arch)</div><div>- benchmark timings</div><div>- git log --stat</div><div><br></div><div>Gource is a pretty cool way to visualize file changes by author over time:</div><div><a href="http://gource.io">http://gource.io</a><br></div><div><br></div><div>"Evolution of CPython (gource visualization)"</div><div><a href="https://youtu.be/tZVG57xFwMk">https://youtu.be/tZVG57xFwMk</a><br></div><div><br></div><div><br></div><div>Is there something like `hg churn` for git? I haven't had need; but just found:</div><div><br></div><div>- <a href="https://www.mercurial-iscm.org/wiki/ChurnExtension">https://www.mercurial-iscm.org/wiki/ChurnExtension</a></div><div>  - </div><div><a href="https://gist.github.com/aras-p/8289222">https://gist.github.com/aras-p/8289222</a> (cheat sheet)</div><div>  Does ChurnExtension work with hg-git?</div><div><br></div><div>- <a href="https://github.com/arzzen/git-quick-stats">https://github.com/arzzen/git-quick-stats</a></div><div>  <a href="https://github.com/arzzen/git-quick-stats/blob/master/git-quick-stats">https://github.com/arzzen/git-quick-stats/blob/master/git-quick-stats</a> (bash script)</div><div><br></div><div>- <a href="https://github.com/IonicaBizau/git-stats">https://github.com/IonicaBizau/git-stats</a></div><div>  Json?</div><div><br></div><div>JSON-LD with the file path as the resource @id really would be great (and mergeable from various build artifacts):</div><div>- <a href="https://www.google.com/search?q=elasticsearch+git+log">https://www.google.com/search?q=elasticsearch+git+log</a> </div><div>- westurner/pyrpo canould write streaming JSON from `git log` but not yet `git log --stat`</div><div>- {SQLAlchemy(SQLite), } > JSON-LD reports with @id URIs for {source, docs} file paths </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Best Regards,</div><div>Louie.</div><div><div class="gmail_extra"><br><div class="gmail_quote">2017-04-24 12:08 GMT+08:00 Nick Coghlan <span dir="ltr"><<a href="javascript:_e(%7B%7D,'cvml','ncoghlan@gmail.com');" target="_blank">ncoghlan@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>On 21 April 2017 at 06:04, Wes Turner <<a href="javascript:_e(%7B%7D,'cvml','wes.turner@gmail.com');" target="_blank">wes.turner@gmail.com</a>> wrote:<br>
> Roundup has an xmlrpc API:<br>
><br>
> - <a href="https://sourceforge.net/p/roundup/code/ci/default/tree/roundup/xmlrpc.py" rel="noreferrer" target="_blank">https://sourceforge.net/p/roun<wbr>dup/code/ci/default/tree/round<wbr>up/xmlrpc.py</a><br>
> - <a href="https://sourceforge.net/p/roundup/code/ci/default/tree/test/test_xmlrpc.py" rel="noreferrer" target="_blank">https://sourceforge.net/p/roun<wbr>dup/code/ci/default/tree/test/<wbr>test_xmlrpc.py</a><br>
<br>
</span>There's also a pending patch to add a HTTPS+JSON REST API to our<br>
Roundup instance:<br>
<a href="http://psf.upfronthosting.co.za/roundup/meta/issue581" rel="noreferrer" target="_blank">http://psf.upfronthosting.co.z<wbr>a/roundup/meta/issue581</a><br>
<br>
Definite +1 for the general idea of collecting and publishing these<br>
kinds of statistics, though - I can see them being quite useful to a<br>
variety of audiences.<br>
<br>
Cheers,<br>
Nick.<br>
<br>
P.S. The upstream Roundup project is also interested in offering that<br>
capability by default: <a href="http://issues.roundup-tracker.org/issue2550734" rel="noreferrer" target="_blank">http://issues.roundup-tracker.<wbr>org/issue2550734</a><br>
<span><font color="#888888"><br>
--<br>
Nick Coghlan   |   <a href="javascript:_e(%7B%7D,'cvml','ncoghlan@gmail.com');" target="_blank">ncoghlan@gmail.com</a>   |   Brisbane, Australia<br>
</font></span></blockquote></div><br></div></div></div>
</blockquote>