lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.1.00.0906241835240.7946@intel-tinevez-2-302>
Date:	Wed, 24 Jun 2009 18:40:17 +0200 (CEST)
From:	Johannes Schindelin <Johannes.Schindelin@....de>
To:	Junio C Hamano <gitster@...ox.com>
cc:	Ingo Molnar <mingo@...e.hu>,
	René Scharfe <rene.scharfe@...fire.ath.cx>,
	roel kluin <roel.kluin@...il.com>, git@...r.kernel.org,
	LKML <linux-kernel@...r.kernel.org>,
	Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH] fread does not return negative on error

Hi,

On Wed, 24 Jun 2009, Junio C Hamano wrote:

> Johannes Schindelin <Johannes.Schindelin@....de> writes:
> 
> > This here script:
> >
> > -- snip --
> > for file in abspath.c alias.c cache.h color.c color.h config.c ctype.c \
> > 	environment.c exec_cmd.c exec_cmd.h help.c help.h levenshtein.c \
> > 	levenshtein.h pager.c parse-options.c parse-options.h path.c \
> > 	quote.c quote.h run-command.c run-command.h sigchain.c sigchain.h \
> > 	strbuf.c strbuf.h string.c string.h symbol.c symbol.h usage.c \
> > 	util.h wrapper.c
> > do
> > 	echo $file
> > 	git shortlog -n -s $file | head -n 2
> > done
> 
> I have thought about suggesting this myself, and your output for many of
> the files matched my intuition, but some were grossly off, so I checked.
> 
> The above procedure counts commits, and a one liner "s/char \*/const &/"
> weighs as heavily as the patch that implemented the whole thing, for a
> file that was done in one commit almost perfectly except that it needed a
> small constness fix.  Summarizing output from "blame" for each file may
> give you a more meaningful results:
> 
>     # timestamp
>     ts='[12][0-9][0-9][0-9]-[0-9][0-9]-[0-3][0-9] ..:..:.. [-+]....'
>     # linenum
>     lno='[1-9][0-9]*'
>     git blame "$file" |
>     sed -e 's/^[^ ]*  *(\([^)]*[^ ]\)  *'"$ts  *$lno"').*/\1/' |
>     sort |
>     uniq -c |
>     sort -r -n
> 
> For example, I do not think it is fair to credit me for abspath.c more
> than Dmitry like this:
> 
> > outputs this (note that a few files you mentioned are not in git.git):
> >
> > abspath.c
> >      2	Junio C Hamano
> >      1	Dmitry Potapov
> 
> Initially Dmitry introduced this file with 5b8e6f8 (shrink git-shell by
> avoiding redundant dependencies, 2008-06-28) at 68 lines.  J6t added 36
> lines for add_path() with 10c4c88 (Allow add_path() to add non-existent
> directories to the path, 2008-07-21), I added 12 lines to add a new
> function with 90b4a71 (is_directory(): a generic helper function,
> 2008-09-09) and then added a two-liner out-of-bounds-then-die check in
> 737e31a (make_absolute_path(): check bounds when seeing an overlong
> symlink, 2008-12-17).

Okay, a script similar to what you propose shows this:

abspath.c
     67 Dmitry Potapov	
     36 Johannes Sixt	
alias.c
     49 Miklos Vajna	
     24  Jeff King	
cache.h
    305 Junio C Hamano	
    263 Linus Torvalds	
color.c
    136  Jeff King	
     29 Johannes Schindelin	
color.h
     10 Matthias Kestenholz	
     10  Jeff King	
config.c
    352 Linus Torvalds	
    284 Johannes Schindelin	
ctype.c
     15 René Scharfe	
     11 Linus Torvalds	
environment.c
     68 Linus Torvalds	
     34 Johannes Schindelin	
exec_cmd.c
     47 Michal Ostrowski	
     40 Steffen Prohaska	
exec_cmd.h
      5 Junio C Hamano	
      2 Steve Haslam	
help.c
     79 Linus Torvalds	
     73 Johannes Schindelin	
help.h
     25 Miklos Vajna	
      3 Alex Riesen	
levenshtein.c
     82 Johannes Schindelin	
      1 Samuel Tardieu	
levenshtein.h
      8 Johannes Schindelin	
pager.c
     34  Jeff King	
     25 Johannes Sixt	
parse-options.c
    386 Pierre Habouzit	
     81 René Scharfe	
parse-options.h
    151 Pierre Habouzit	
     14 René Scharfe	
path.c
    201 Junio C Hamano	
     83 Linus Torvalds	
quote.c
    189 Pierre Habouzit	
    106 Junio C Hamano	
quote.h
     31 Junio C Hamano	
     11 Christian Couder	
run-command.c
    173 Johannes Sixt	
     87 Shawn O. Pearce	
run-command.h
     46 Johannes Sixt	
     20 Shawn O. Pearce	
sigchain.c
     52  Jeff King	
sigchain.h
     11  Jeff King	
strbuf.c
    178 Johannes Schindelin	
    146 Pierre Habouzit	
strbuf.h
     93 Pierre Habouzit	
     16 Junio C Hamano	
string.c
string.h
symbol.c
symbol.h
usage.c
     31 Linus Torvalds	
     28 Petr Baudis	
util.h
wrapper.c
    220 Linus Torvalds	
     69 Junio C Hamano	

Obviously I don't like these results as much, as I do not show up as often 
anymore.

Besides, I think it is not fair to put me on top of the list of authors of 
strbuf.c.

Ciao,
Dscho

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ