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

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

From
Petr Baudis <pasky@suse.cz>
Date
May 29, 2008, 19:53 UTC
Message-ID
<20080529195314.GB18781@machine.or.cz>
In-Reply-To
<alpine.DEB.1.00.0805291344400.13507@racer.site.net>
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
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 3 of 4 in “Listing authors of each file in branch HEAD since given revision”
  1. Alexander GladyshMay 29, 2008
  2. Johannes SchindelinMay 29, 2008
  3. Petr BaudisMay 29, 2008
  4. Johannes SchindelinMay 29, 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.