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

Re: [PATCH] Add git-annotate - a tool for annotating files with the revision and person that created each line in the file.

From
RARyan Anderson <ryan@michonline.com>
Date
Feb 8, 2006, 21:07 UTC
Message-ID
<20060208210756.GA9490@mythryan2.michonline.com>
In-Reply-To
<7vd5hxpr2d.fsf@assigned-by-dhcp.cox.net>
On Wed, Feb 08, 2006 at 11:51:22AM -0800, Junio C Hamano wrote:
Show 24 quoted lines
> Ryan Anderson <ryan@michonline.com> writes:
> 
> > Signed-off-by: Ryan Anderson <ryan@michonline.com>
> >
> > ---
> >
> > I think this version is mostly ready to go.
> >
> > Junio, the post you pointed me at was very helpful (once I got around to
> > listening to it), but the code it links to is missing - if that's a
> > better partial implementation than this, can you ressurrect it
> > somewhere?  I'd be happy to reintegrate it together.
> 
> I still have it, but the reason why I withdrew circulating it
> was because I found that on some inputs it did not work
> correctly as intended.  Not that the algorithm was necessarily
> broken but the implementation certainly was.
> 
> Unlike yours mine reads and interprets diff output to find which
> lines are common and which lines are added, and I think the diff
> interpretation logic has various corner cases wrong.  I did
> combine-diff.c diff interpreter without looking at my
> 'git-blame', so I do not remember where I got it wrong,
> though...

I tried that approach at first, and it was much much more confusing to try to keep track of. The problem Linus found (that of a missing "all_lines_claimed()") was related to that code. This implementation is simple, though it has to have some problems with guessing at duplicated lines incorrectly.

> It's been a while since I looked at it the last time so it may
> not even work with the current git, but here it is..

I'll take a look through this in greater detail later, hopefully your approach can be applied. Diff-analyzing is apparently tricky.

-- 
Ryan Anderson
  sometimes Pug Majere
Previous: Junio C HamanoNext: Junio C Hamano
Message 17 of 19 in “Add git-annotate - a tool for annotating files with the revision and person that created each line in the file.”
  1. Add git-annotate - a tool for annotating files with the revision and person that created each line in the file.Ryan Anderson, Feb 8, 2006
  2. Peter EriksenFeb 8, 2006
  3. Johannes SchindelinFeb 8, 2006
  4. Franck Bui-HuuFeb 8, 2006
  5. Johannes SchindelinFeb 8, 2006
  6. Junio C HamanoFeb 8, 2006
  7. Ralf BaechleFeb 10, 2006
  8. Andreas EricssonFeb 10, 2006
  9. Fredrik KuivinenFeb 14, 2006
  10. Randal L. SchwartzFeb 8, 2006
  11. Andreas EricssonFeb 9, 2006
  12. Junio C HamanoFeb 9, 2006
  13. Franck Bui-HuuFeb 9, 2006
  14. Andreas EricssonFeb 9, 2006
  15. Linus TorvaldsFeb 8, 2006
  16. Junio C HamanoFeb 8, 2006
  17. Ryan AndersonFeb 8, 2006
  18. Junio C HamanoFeb 8, 2006
  19. Ryan AndersonFeb 10, 2006

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.