Jan Hudec <bulb@xxxxxx> writes: > On Tue, Feb 17, 2009 at 10:16:17 -0300, Samuel Lucas Vaz de Mello wrote: >> Hi, >> >> Is there any way to git blame (or annotate) a diff between two commits? >> >> I'm looking for something that produce something like this: >> >> /** >> 85a02065 (samuel 2009-01-02) - * \brief Define a participacao da porta estatica/dinamica >> 85a02065 (samuel 2009-01-02) - * \param unit indice da unidade >> e106303a (arthur 2009-01-17) - * \param extraparam extra parameter >> 85a02065 (samuel 2009-01-02) - * \param port indice da porta >> 50e22e7d (fabian 2009-01-09) - * \param deleted param to be deleted >> 85a02065 (samuel 2009-01-02) + * \brief Sets port membership on a static / dynamic >> 85a02065 (samuel 2009-01-02) + * \param unit unit index >> 85a02065 (samuel 2009-01-02) + * \param port port index >> e106303a (arthur 2009-01-17) + * \param another another index >> * \return 0 if Ok; -1 in error >> */ >> >> This would be useful for code reviews. I can use a diff containing all changes committed to a branch, for example, in the last 10 days to review. Doing this instead of reviewing individual commit patches save us from waste time analyzing code that has already been changed/fixed. >> >> Using a git-blame in the resulting file give me the commits for the lines added, but not for the deleted ones. >> >> Any suggestion on how to do this? > > What about doing a diff of the blames? It should do the same thing (except > the +/- would be at the begining of the lines). Well, not exactly, because if > there was a change, that was reverted again, blames would change, so it would > appear here, but that's probably rare enough to ignore (if you don't even > want to see it rather than not). I don't think that would do it. Suppose I have the following history (in a one-line file) : revision: R1 -> R2 -> R3 -> R4 -> R5 -> R6 content: A -> B -> B -> C -> D -> E If I do a blame at revision R3, I'll get R2 B Then, at revision R6, I'd get R6 E so the diff will be - R2 B + R6 E while the original poster actually wanted - R3 B + R6 E In the first case, the annotation for - lines tell where the removed line had been introduced before, while the second case tells up to which revision the line has been existing (or, it could show the revision which removed it, R4 here). -- Matthieu -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html