{"thread":{"id":"31321","subject":"git-log combining different detail levels","startedAt":"2012-08-22T19:25:06Z","lastAt":"2012-08-22T20:04:44Z","messageCount":2,"participants":["Maaartin-1","Jeff King"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"197651","messageId":"50353212.7060109@seznam.cz","threadId":"31321","inReplyTo":null,"subject":"git-log combining different detail levels","fromName":"Maaartin-1","fromEmail":"grajcar1@seznam.cz","sentAt":"2012-08-22T19:25:06Z","receivedAt":"2012-08-22T19:25:06Z","isPatch":false,"sender":{"key":"grajcar1@seznam.cz","avatar":null},"body":"Quite often I need to see some changes in more detail and others only briefly, so I get some idea about the context. For example I'd like something like merging the outputs of\n\ngit log -p -S Bandersnatch\nand\ngit log --name-status --oneline\n\ntogether, so I know better what happened.\n\nA simpler (and maybe more important) example is merging\n\ngit log -p some/dir\nand\ngit log --name-status\n\nso I could see all the changes, and the chosen ones with all details.\n\nIs this somehow possible?\n\nRegards, Maaartin.\n"},{"id":"197655","messageId":"20120822200444.GA27462@sigill.intra.peff.net","threadId":"31321","inReplyTo":"50353212.7060109@seznam.cz","subject":"Re: git-log combining different detail levels","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-08-22T20:04:44Z","receivedAt":"2012-08-22T20:04:44Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Aug 22, 2012 at 09:25:06PM +0200, Maaartin-1 wrote:\n\n> Quite often I need to see some changes in more detail and others only\n> briefly, so I get some idea about the context. For example I'd like\n> something like merging the outputs of\n> \n> git log -p -S Bandersnatch\n> and\n> git log --name-status --oneline\n> \n> together, so I know better what happened.\n> \n> A simpler (and maybe more important) example is merging\n> \n> git log -p some/dir\n> and\n> git log --name-status\n> \n> so I could see all the changes, and the chosen ones with all details.\n\nNo, I don't think this is possible. We have \"--full-diff\", which\ndisconnects the path-limiting from the diff generation, so that:\n\n  git log --full-diff --name-status some/dir\n\nwould choose only commits for some/dir, but show the full diff of each\ncommit.\n\nHowever, what you are asking is to disconnect the two diff options: one\nverbose option only for interesting parts of the diff, and then a\nmore sparse option for the rest. I'm pretty sure the diff machinery does\nnot currently understand such an option.\n\nIt would not be impossible to implement, I think, but I suspect it would\ninvolve refactoring the format selection in the diff code quite a bit.\nIn the meantime, one thing you can do is generate the full diff output\nand then post-process it to collapse the uninteresting bits.  I haven't\ntried, but you can probably do something like this using \"folds\" in your\neditor (e.g., shrink all of the diff content for a file to a single\nline, but then expand it on demand).\n\n-Peff\n"}]}