Re: [PATCH] Add git-annotate - a tool for annotating files with the revision and person that created each line in the file.
- From
- Ryan 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