threads / discuss / 13718

Listing authors of each file in branch HEAD since given revision

Subject: Listing authors of each file in branch HEAD since given revision

## tl;dr

4 messages between May 29, 2008 and May 29, 2008.

replies: 3people: 3as markdown or json

Alexander Gladysh· May 29, 2008, 08:43 UTC · lore
Hi, list!

For each file in the head of my current branch I need to get a list of all people who altered it since given revision. If file was not changed, it should be not listed.

Something like:
  my/file1.ext user1 user2 user3
  my/file2.ext user1

I also need to be able to get closer view with commit names and messages for along with author names:

  my/file1.ext
    <hash> user1 commit text1
    <hash> user2 commit text2
    <hash> user3 commit text2
  my/file2.ext
    <hash> user1 commit text1

I believe there should be such tool already, or it should be simple enough to glue it from existing pieces. Please point me to the right direction.

Thanks in advance, Alexander.

Johannes Schindelin· May 29, 2008, 12:47 UTC · re: Alexander Gladysh · lore

Re: Listing authors of each file in branch HEAD since given revision

Hi,
On Thu, 29 May 2008, Alexander Gladysh wrote:
Show 8 quoted lines
> For each file in the head of my current branch I need to get a list of 
> all people who altered it since given revision. If file was not changed, 
> it should be not listed.
> 
> Something like:
> 
>   my/file1.ext user1 user2 user3
>   my/file2.ext user1
You will be able to do something like this easily from the output of
git log --pretty=format:%an --name-only HEAD

Probably just a Perl script which reads the author name, and then attaches that author name to all following file names until an empty lines occurs, recursively.

Hth, Dscho

Petr Baudis· May 29, 2008, 19:53 UTC · re: Johannes Schindelin · lore

Re: Listing authors of each file in branch HEAD since given revision

Hi!
On Thu, May 29, 2008 at 01:47:29PM +0100, Johannes Schindelin wrote:
Show 18 quoted lines
> On Thu, 29 May 2008, Alexander Gladysh wrote:
> 
> > For each file in the head of my current branch I need to get a list of 
> > all people who altered it since given revision. If file was not changed, 
> > it should be not listed.
> > 
> > Something like:
> > 
> >   my/file1.ext user1 user2 user3
> >   my/file2.ext user1
> 
> You will be able to do something like this easily from the output of
> 
> git log --pretty=format:%an --name-only HEAD
> 
> Probably just a Perl script which reads the author name, and then attaches 
> that author name to all following file names until an empty lines occurs, 
> recursively.
No rocket science:

git log --pretty=format:%an --no-merges -r --name-only HEAD~100..HEAD | perl -lne 'our %i; $_ or $a = 0 or next; ++$a == 1 and $b = $_ and next; $i{$_}{$b}++; END { print "$_: " . join(", ", keys %{$i{$_}}) for (keys %i); }'

Sorry for the obfuscation. :-)
-- 
				Petr "Pasky" Baudis
Whatever you can do, or dream you can, begin it.
Boldness has genius, power, and magic in it.	-- J. W. von Goethe
Johannes Schindelin· May 29, 2008, 22:57 UTC · re: Petr Baudis · lore

Re: Listing authors of each file in branch HEAD since given revision

Hi,
On Thu, 29 May 2008, Petr Baudis wrote:
Show 23 quoted lines
> On Thu, May 29, 2008 at 01:47:29PM +0100, Johannes Schindelin wrote:
> > On Thu, 29 May 2008, Alexander Gladysh wrote:
> > 
> > > For each file in the head of my current branch I need to get a list of 
> > > all people who altered it since given revision. If file was not changed, 
> > > it should be not listed.
> > > 
> > > Something like:
> > > 
> > >   my/file1.ext user1 user2 user3
> > >   my/file2.ext user1
> > 
> > You will be able to do something like this easily from the output of
> > 
> > git log --pretty=format:%an --name-only HEAD
> > 
> > Probably just a Perl script which reads the author name, and then attaches 
> > that author name to all following file names until an empty lines occurs, 
> > recursively.
> 
> No rocket science:
>
> [snipped]
I know, but I wanted to give Alexander room to grow ;-)

Ciao, Dscho

← back to recent threads