{"thread":{"id":"26640","subject":"In-depth git blame?","startedAt":"2011-03-02T20:43:42Z","lastAt":"2011-03-08T06:48:08Z","messageCount":8,"participants":["Jez","Jeff King","Peter Baumann","Jonas Fonseca"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"162667","messageId":"AANLkTi=694NiUMzcHkNZ09sotcoN+=wPMnxnom5_ex+f@mail.gmail.com","threadId":"26640","inReplyTo":null,"subject":"In-depth git blame?","fromName":"Jez","fromEmail":"jezreel@gmail.com","sentAt":"2011-03-02T20:43:42Z","receivedAt":"2011-03-02T20:43:42Z","isPatch":false,"sender":{"key":"jezreel@gmail.com","avatar":null},"body":"Hi all,\n\nGit-blame is useful, but sometimes I want to know the series of\ncommits that have affected a line -- not just the most recent one. Is\nthere a way to do this?\n\nRegards,\nJez\n"},{"id":"162671","messageId":"20110302211545.GD20400@sigill.intra.peff.net","threadId":"26640","inReplyTo":"AANLkTi=694NiUMzcHkNZ09sotcoN+=wPMnxnom5_ex+f@mail.gmail.com","subject":"Re: In-depth git blame?","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2011-03-02T21:15:45Z","receivedAt":"2011-03-02T21:15:45Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Mar 02, 2011 at 03:43:42PM -0500, Jez wrote:\n\n> Git-blame is useful, but sometimes I want to know the series of\n> commits that have affected a line -- not just the most recent one. Is\n> there a way to do this?\n\nIf you use \"git gui blame\" or \"tig blame\", both have a \"blame from\nparent commit\" feature. This restarts the blame using the content as it\nwas just before the answer you just got, so you can recursively dig.\nIt's unfortunately a somewhat manual process.\n\nThere was a GSoC project to do what you asked, where you would indicate\na set of lines and get a \"git log\"-like output of all the commits\ntouching those lines. But there were some issues with the code, and it\nnever quite made it upstream, I think. I'm not sure what the current\nstatus is. Cc'ing Thomas and Bo, who worked on it.\n\n-Peff\n"},{"id":"162676","messageId":"20110302212951.GB24660@m62s10.vlinux.de","threadId":"26640","inReplyTo":"20110302211545.GD20400@sigill.intra.peff.net","subject":"Re: In-depth git blame?","fromName":"Peter Baumann","fromEmail":"waste.manager@gmx.de","sentAt":"2011-03-02T21:29:51Z","receivedAt":"2011-03-02T21:29:51Z","isPatch":false,"sender":{"key":"waste.manager@gmx.de","avatar":null},"body":"On Wed, Mar 02, 2011 at 04:15:45PM -0500, Jeff King wrote:\n> On Wed, Mar 02, 2011 at 03:43:42PM -0500, Jez wrote:\n> \n> > Git-blame is useful, but sometimes I want to know the series of\n> > commits that have affected a line -- not just the most recent one. Is\n> > there a way to do this?\n> \n> If you use \"git gui blame\" or \"tig blame\", both have a \"blame from\n> parent commit\" feature. This restarts the blame using the content as it\n> was just before the answer you just got, so you can recursively dig.\n> It's unfortunately a somewhat manual process.\n> \n \nHm. I guess pressing 'B' will blame the parent commit in tig. \nBut I can't figure out how to navigate back to the old commit (before pressing 'B')?\nAny hints appreciated!\n\n-Peter\n"},{"id":"162677","messageId":"20110302213437.GG20400@sigill.intra.peff.net","threadId":"26640","inReplyTo":"20110302212951.GB24660@m62s10.vlinux.de","subject":"Re: In-depth git blame?","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2011-03-02T21:34:37Z","receivedAt":"2011-03-02T21:34:37Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Mar 02, 2011 at 10:29:51PM +0100, Peter Baumann wrote:\n\n> > If you use \"git gui blame\" or \"tig blame\", both have a \"blame from\n> > parent commit\" feature. This restarts the blame using the content as\n> > it was just before the answer you just got, so you can recursively\n> > dig.  It's unfortunately a somewhat manual process.\n> > \n>  \n> Hm. I guess pressing 'B' will blame the parent commit in tig.  But I\n> can't figure out how to navigate back to the old commit (before\n> pressing 'B')?  Any hints appreciated!\n\nNo, it is \",\" (comma) from the blame viewer in tig to blame starting\nfrom the parent of the blamed commit of the highlighted line.\n\nDoing \"B\" will just re-blame starting at that commit, which will of\ncourse give you the same answer (I think it is a global \"go to blame\nview\", so it is more useful when you are _not_ in the blame viewer\nalready).\n\nAnd if you are confused at any point, \"h\" should give you a\ncontext-sensitive list of keystrokes.\n\n-Peff\n"},{"id":"162680","messageId":"20110302214445.GC24660@m62s10.vlinux.de","threadId":"26640","inReplyTo":"20110302213437.GG20400@sigill.intra.peff.net","subject":"Re: In-depth git blame?","fromName":"Peter Baumann","fromEmail":"waste.manager@gmx.de","sentAt":"2011-03-02T21:44:45Z","receivedAt":"2011-03-02T21:44:45Z","isPatch":false,"sender":{"key":"waste.manager@gmx.de","avatar":null},"body":"[ Cc Jonas, because he might know more about that ]\n\nOn Wed, Mar 02, 2011 at 04:34:37PM -0500, Jeff King wrote:\n> On Wed, Mar 02, 2011 at 10:29:51PM +0100, Peter Baumann wrote:\n> \n> > > If you use \"git gui blame\" or \"tig blame\", both have a \"blame from\n> > > parent commit\" feature. This restarts the blame using the content as\n> > > it was just before the answer you just got, so you can recursively\n> > > dig.  It's unfortunately a somewhat manual process.\n> > > \n> >  \n> > Hm. I guess pressing 'B' will blame the parent commit in tig.  But I\n> > can't figure out how to navigate back to the old commit (before\n> > pressing 'B')?  Any hints appreciated!\n> \n> No, it is \",\" (comma) from the blame viewer in tig to blame starting\n> from the parent of the blamed commit of the highlighted line.\n> \nThx, I didn't know that. Your help is really appreciated!\n\n> Doing \"B\" will just re-blame starting at that commit, which will of\n> course give you the same answer (I think it is a global \"go to blame\n> view\", so it is more useful when you are _not_ in the blame viewer\n> already).\n> \n> And if you are confused at any point, \"h\" should give you a\n> context-sensitive list of keystrokes.\n> \nHm. I did look at the 'h'elp, but it wasn't mentioned there, at least\nnot in my version (tig version 0.16-9-g7630a8f) here.\n\n> -Peff\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n> \n"},{"id":"162681","messageId":"20110302215020.GD24660@m62s10.vlinux.de","threadId":"26640","inReplyTo":"20110302214445.GC24660@m62s10.vlinux.de","subject":"Re: In-depth git blame?","fromName":"Peter Baumann","fromEmail":"waste.manager@gmx.de","sentAt":"2011-03-02T21:50:20Z","receivedAt":"2011-03-02T21:50:20Z","isPatch":false,"sender":{"key":"waste.manager@gmx.de","avatar":null},"body":"On Wed, Mar 02, 2011 at 10:44:45PM +0100, Peter Baumann wrote:\n> [ Cc Jonas, because he might know more about that ]\n> \n> On Wed, Mar 02, 2011 at 04:34:37PM -0500, Jeff King wrote:\n> > On Wed, Mar 02, 2011 at 10:29:51PM +0100, Peter Baumann wrote:\n> > \n> > > > If you use \"git gui blame\" or \"tig blame\", both have a \"blame from\n> > > > parent commit\" feature. This restarts the blame using the content as\n> > > > it was just before the answer you just got, so you can recursively\n> > > > dig.  It's unfortunately a somewhat manual process.\n> > > > \n> > >  \n> > > Hm. I guess pressing 'B' will blame the parent commit in tig.  But I\n> > > can't figure out how to navigate back to the old commit (before\n> > > pressing 'B')?  Any hints appreciated!\n> > \n> > No, it is \",\" (comma) from the blame viewer in tig to blame starting\n> > from the parent of the blamed commit of the highlighted line.\n> > \n> Thx, I didn't know that. Your help is really appreciated!\n> \n> > Doing \"B\" will just re-blame starting at that commit, which will of\n> > course give you the same answer (I think it is a global \"go to blame\n> > view\", so it is more useful when you are _not_ in the blame viewer\n> > already).\n> > \n> > And if you are confused at any point, \"h\" should give you a\n> > context-sensitive list of keystrokes.\n> > \n> Hm. I did look at the 'h'elp, but it wasn't mentioned there, at least\n> not in my version (tig version 0.16-9-g7630a8f) here.\n> \n\nOk. I take it back. I was blind not having it seen in the help. Searching\nfor ',' did make me see it :-)\n\n-Peter\n"},{"id":"162946","messageId":"AANLkTimLf1gS03j4p7G3CKQWJC-b+_+T=ktaZ5xcJtZc@mail.gmail.com","threadId":"26640","inReplyTo":"20110302214445.GC24660@m62s10.vlinux.de","subject":"Re: In-depth git blame?","fromName":"Jonas Fonseca","fromEmail":"fonseca@diku.dk","sentAt":"2011-03-07T23:20:56Z","receivedAt":"2011-03-07T23:20:56Z","isPatch":false,"sender":{"key":"fonseca@diku.dk","avatar":"https://gravatar.com/avatar/f82f3ad698717c51873b020c750a92438c820a24056dc39fe4d07baa10a92264?d=mp&s=160"},"body":"On Wed, Mar 2, 2011 at 16:44, Peter Baumann <waste.manager@gmx.de> wrote:\n> [ Cc Jonas, because he might know more about that ]\n\n... although he arrives late in the discussion.\n\n> On Wed, Mar 02, 2011 at 04:34:37PM -0500, Jeff King wrote:\n>> On Wed, Mar 02, 2011 at 10:29:51PM +0100, Peter Baumann wrote:\n>>\n>> > Hm. I guess pressing 'B' will blame the parent commit in tig.  But I\n>> > can't figure out how to navigate back to the old commit (before\n>> > pressing 'B')?  Any hints appreciated!\n>>\n>> No, it is \",\" (comma) from the blame viewer in tig to blame starting\n>> from the parent of the blamed commit of the highlighted line.\n>>\n> Thx, I didn't know that. Your help is really appreciated!\n\nPressing 'B' in the blame view reloads the blame view based on the\nline/commit, which is currently selected. And as Jeff points out ','\nreloads based on the parent of the current commit.\n\nTig is very poor in terms of history (search, blame, commit) so\nthere's is no 'back' button.\n\n-- \nJonas Fonseca\n"},{"id":"162960","messageId":"20110308064808.GF24660@m62s10.vlinux.de","threadId":"26640","inReplyTo":"AANLkTimLf1gS03j4p7G3CKQWJC-b+_+T=ktaZ5xcJtZc@mail.gmail.com","subject":"Re: In-depth git blame?","fromName":"Peter Baumann","fromEmail":"waste.manager@gmx.de","sentAt":"2011-03-08T06:48:08Z","receivedAt":"2011-03-08T06:48:08Z","isPatch":false,"sender":{"key":"waste.manager@gmx.de","avatar":null},"body":"On Mon, Mar 07, 2011 at 06:20:56PM -0500, Jonas Fonseca wrote:\n> On Wed, Mar 2, 2011 at 16:44, Peter Baumann <waste.manager@gmx.de> wrote:\n> > [ Cc Jonas, because he might know more about that ]\n> \n> ... although he arrives late in the discussion.\n> \n> > On Wed, Mar 02, 2011 at 04:34:37PM -0500, Jeff King wrote:\n> >> On Wed, Mar 02, 2011 at 10:29:51PM +0100, Peter Baumann wrote:\n> >>\n> >> > Hm. I guess pressing 'B' will blame the parent commit in tig.  But I\n> >> > can't figure out how to navigate back to the old commit (before\n> >> > pressing 'B')?  Any hints appreciated!\n> >>\n> >> No, it is \",\" (comma) from the blame viewer in tig to blame starting\n> >> from the parent of the blamed commit of the highlighted line.\n> >>\n> > Thx, I didn't know that. Your help is really appreciated!\n> \n> Pressing 'B' in the blame view reloads the blame view based on the\n> line/commit, which is currently selected. And as Jeff points out ','\n> reloads based on the parent of the current commit.\n> \n> Tig is very poor in terms of history (search, blame, commit) so\n> there's is no 'back' button.\n\nAh. That explain I didn't find any. Thx.\n\n-Peter\n"}]}