git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [SoC RFC] git statistics - information about commits

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Mar 23, 2008, 14:28 UTC
Message-ID
<alpine.LSU.1.00.0803231523110.4353@racer.site>
In-Reply-To
<bd6139dc0803230707w29e31d89kf65cf4ac7ad3c8@mail.gmail.com>
Hi,
On Sun, 23 Mar 2008, alturin marlinon wrote:
Show 10 quoted lines
> On Sat, Mar 22, 2008 at 8:40 PM, Junio C Hamano <gitster@pobox.com> wrote:
> >  * Figure out which blocs of lines (not necessarily the whole files) relate
> >   to each other by noticing that they are often modified in the same
> >   commit.
> 
> I've worked with directed graphs before (including writing my own
> implementation) and have written an algorithm to detect cycles in a
> graph.
> I think that this could be done by creating an undirected weighted
> graph of all files in a commit.

I think you will have to go to the line level to achieve what Junio suggested.

Show 6 quoted lines
> >  * Who are early birds and who are late night owls?  Who are day-job
> >   contributors and who are weekenders?
> 
> Sounds like a 'fun feature', but how about timezones?
> I'm not sure how commit times are recorded, in UTC, if so, does it
> also record their timezone?

Timezones are recorded as epoch (seconds since Jan 1, 1970) and timezone. So yes, you have that, _provided_ you trust the users to set up that thing correctly.

I, for one, do not change the timezone on my laptop, just because I happen to be travelling through the air at high altitude...

Show 11 quoted lines
> >  * Identify "buggy commits" from history, without testing.  Zeroth order
> >   approximation is that the lines it introduced were later rewritten by
> >   other later commits, but the later ones are not necessarily fixes but
> >   can be enhancements, so you would need a way to tell which ones are
> >   "fixing commits" and which ones are not.  You may want to use project
> >   specific hints to help you doing this:
> 
> A feature like this would fit well with the other "buggy
> commit/maintainer detection" but would require a lot of customization.
> However, considering git already comes with a good customization
> system it should still be feasible.

Yes. And it would be really interesting for me. Until it shows that I am the biggest offender, of course.

Show 14 quoted lines
> >   * For the integrator, can you spot a pattern like "what he accepts
> >     during weekdays tend to be buggier than what he applies during
> >     weekends"?
> 
> That would be interesting data, I think a nice graph could be made
> easily, showing a column for weekdays (or one for each day) and a
> column for weekends (or one for each day). Each column could then
> represent the amount of buggy commits / day, or perhaps the ration
> buggy/enhancements. This histogram could then go back several weeks to
> give a better picture.
> Perhaps a line style graph with two lines could be made, one for the
> weekends and one for the weekdays, or seven lines, one for each day.
> That way it would be easy to track if the integrator is getting better
> at his job, or that he is perhaps having a bad/good period lately.

I think the bigger problem is not visualising it, but finding what is buggy, and what not.

Show 6 quoted lines
> The question now though, is which of these features are feasible to do 
> in one GSoC project? That is, which one should be done first, as I want 
> to finishing this feature even if I can't finish it all in three months. 
> Should this be something that is decided in the application already, or 
> should I list all the features and then later on decide (with the aid of 
> the community) which ones to implement first.

I think it can be vague about the order in which things will be implemented. And the features which you think might be too complicated should be marked as such: "possible extension (which might not be finished within this project): <blabla>".

Ciao, Dscho

Previous: alturin marlinonNext: alturin marlinon
Message 7 of 12 in “[SoC RFC] git statistics - information about commits”
  1. alturin marlinonMar 21, 2008
  2. Junio C HamanoMar 21, 2008
  3. Martin LanghoffMar 21, 2008
  4. Johannes SchindelinMar 21, 2008
  5. Junio C HamanoMar 22, 2008
  6. alturin marlinonMar 23, 2008
  7. Johannes SchindelinMar 23, 2008
  8. alturin marlinonMar 23, 2008
  9. Johannes SchindelinMar 23, 2008
  10. Junio C HamanoMar 23, 2008
  11. alturin marlinonMar 23, 2008
  12. Jakub NarebskiMar 21, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.