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

Re: [PATCH] Avoid errors from git-rev-parse in gitweb blame

From
LTLuben Tuikov <ltuikov@yahoo.com>
Date
Jun 3, 2008, 21:09 UTC
Message-ID
<655725.88869.qm@web31813.mail.mud.yahoo.com>
In-Reply-To
<200806031656.04780.jnareb@gmail.com>
--- On Tue, 6/3/08, Jakub Narebski <jnareb@gmail.com> wrote:
Show 50 quoted lines
> From: Jakub Narebski <jnareb@gmail.com>
> Subject: Re: [PATCH] Avoid errors from git-rev-parse in gitweb blame
> To: "Rafael Garcia-Suarez" <rgarciasuarez@gmail.com>
> Cc: git@vger.kernel.org, "Luben Tuikov" <ltuikov@yahoo.com>, "Sam Vilain" <sam@vilain.net>
> Date: Tuesday, June 3, 2008, 7:56 AM
> Rafael Garcia-Suarez wrote:
> > 2008/6/3 Jakub Narebski <jnareb@gmail.com>:
> >>> Shameless plug : the sources for perl 5 are
> currently being kept in a
> >>> perforce repository. There is a rough web
> interface to it at
> >>>
> http://public.activestate.com/cgi-bin/perlbrowse with
> excellent blame
> >>> log navigation features (including navigation
> against p4
> >>> integrations).
> >>
> >> By the way, what is the difference between
> '<<' links and 'br' link
> >> in the above mentioned annotate/blame interface?
> > 
> > "br" navigates to another branch from which
> this file has been
> > integrated (in p4 speak.)
> 
> Does it mark merge commits then? Or perhaps branch points? 
> What
> does "branch from which this file has been
> integrated" mean in git
> speak (in the terms of DAG of commits)?
> 
> 
> If the history of a file looks like this
> 
>        ....*---*---A---M---C...
>                       /
>            ....*---B-/               
> 
> and the line comes from "evil merge" M git-blame
> would return M as
> blamed commit.  If the line comes from one or the other
> branch, from
> commit A or B, it makes I think no difference to git-blame;
> git tries
> to be "branch agnostic" (no special meaning to
> first parent; well,
> besides rev~n notation and --first-parent walk option).  I
> guess it
> is not the case in Perforce?

The whole point of git_blame2() was to show which "previous" commit changed that line/segment and what the commit message was. This is important to me when data-mining code evolution, since often enough I'd like to recollect mine/other's intentions at the time of changing/adding the code/commit in question.

Show 18 quoted lines
> 
> [...]
> >> [...].  Will you want to use git-diff-tree
> >> to mark differences from the version we came from
> (marked by 'hp',
> >> 'hpb' and 'fp' URI parameters), or
> would you rather extend git-blame?
> > 
> > I don't know. I'll look at git-diff-tree.
> 
> What I meant here, would you plan on extending git-blame,
> or would you
> use patchset (textual) diff between revision we are at, and
> revision we
> came from.  git-diff-tree just compares two trees (and have
> to have
> patch output explicitely enabled).  Sorry for the
> confusion.

I'd rather stray away from "git-diff-xyz", since there is no context. Context is found in the commit message which changed the line/segment. (By "context" I mean the human intention, most likely encoded in the commit message.)

Thanks everyone!
   Luben
Previous: Jakub NarebskiNext: Luben Tuikov
Message 14 of 40 in “Avoid errors from git-rev-parse in gitweb blame”
  1. Avoid errors from git-rev-parse in gitweb blameRafael Garcia-Suarez, Jun 3, 2008
  2. Lea WiemannJun 3, 2008
  3. Jakub NarebskiJun 3, 2008
  4. Rafael Garcia-SuarezJun 3, 2008
  5. Jakub NarebskiJun 3, 2008
  6. Rafael Garcia-SuarezJun 3, 2008
  7. Jakub NarebskiJun 3, 2008
  8. Rafael Garcia-SuarezJun 3, 2008
  9. Jakub NarebskiJun 3, 2008
  10. Rafael Garcia-SuarezJun 3, 2008
  11. Jakub NarebskiJun 3, 2008
  12. Rafael Garcia-SuarezJun 3, 2008
  13. Jakub NarebskiJun 3, 2008
  14. Luben TuikovJun 3, 2008
  15. Luben TuikovJun 3, 2008
  16. Luben TuikovJun 3, 2008
  17. Jakub NarebskiJun 3, 2008
  18. Junio C HamanoJun 4, 2008
  19. Jakub NarebskiJun 4, 2008
  20. Junio C HamanoJun 5, 2008
  21. 1/2 git-blame: refactor code to emit "porcelain format" outputJunio C Hamano, Jun 5, 2008
  22. Jakub NarebskiJun 6, 2008
  23. 2/2 blame: show "previous" information in --porcelain/--incremental formatJunio C Hamano, Jun 5, 2008
  24. Jakub NarebskiJun 6, 2008
  25. Junio C HamanoJun 6, 2008
  26. Jakub NarebskiJun 6, 2008
  27. Jakub NarebskiJun 6, 2008
  28. Luben TuikovJun 4, 2008
  29. Lea WiemannJun 3, 2008
  30. Jakub NarebskiJun 3, 2008
  31. Lea WiemannJun 3, 2008
  32. Jakub NarebskiJun 4, 2008
  33. Lea WiemannJun 4, 2008
  34. Jakub NarebskiJun 4, 2008
  35. Lea WiemannJun 8, 2008
  36. Jakub NarebskiJun 8, 2008
  37. Luben TuikovJun 3, 2008
  38. Jakub NarebskiJun 3, 2008
  39. Luben TuikovJun 3, 2008
  40. Jakub NarebskiJun 3, 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.