{"thread":{"id":"28473","subject":"\"git log --simplify-by-decoration\" but including branch & merge points","startedAt":"2011-09-23T21:20:11Z","lastAt":"2011-09-24T10:01:17Z","messageCount":2,"participants":["David Röthlisberger","Zbigniew Jędrzejewski-Szmek"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"176100","messageId":"EEB5CA46-D4FB-4B59-BDAF-36AE9BCC1D1E@rothlis.net","threadId":"28473","inReplyTo":null,"subject":"\"git log --simplify-by-decoration\" but including branch & merge points","fromName":"David Röthlisberger","fromEmail":"david@rothlis.net","sentAt":"2011-09-23T21:20:11Z","receivedAt":"2011-09-23T21:20:11Z","isPatch":false,"sender":{"key":"david@rothlis.net","avatar":null},"body":"Hi,\n\nI'd like something like \"git log --simplify-by-decoration\" that also includes the commit that a branch was branched *from*. I find this useful to understanding the relationships between branches.\n\nFor example, for the following repository with 2 branches \"master\" and \"branch\":\n\n    git log --graph --all --pretty=\"format:%d %s\"\n    *  (branch) b\n    *  a\n    | *  (master) 4\n    | *  3\n    |/  \n    *  2\n    *  1\n\nI would like a way to hide commits \"a\" and \"3\" (like --simplify-by-decoration) but to *include* commit \"2\" (unlike --simplify-by-decoration) because it shows me the crucial information of *when* \"branch\" and \"master\" started to diverge. Ideally I would also like to see merge commits.\n\nIn summary: \n* Show any commit referred to by some branch or tag (as with --simplify-by-decoration),\n* or with more than one parent (merges), \n* or with more than one child, as long as at least 2 children are reachable from the commits you've specified (this is to include branch-points of any branches you are interested in, but to exclude branches you don't care about. It's probably impossible to get this criteria absolutely perfect, but better to include some additional commits than to exclude ones I want to see).\n\nI don't think this is currently possible. What would be the best way to achieve it? Maybe a new flag to git-log, to be used together with --simplify-by-decoration? I am willing to work on a patch for this if people agree that it would be useful and likely to be accepted.\n\nIn general, when providing several commit-limiting and history-simplification parameters to git-log, should they be ANDed or ORed together? For example \"git log --merges --simplify-by-decoration\" doesn't seem to provide any useful output; would it makes sense to change this to mean \"show anything that simplify-by-decoration would show, but also show merge commits\"?\n\nThanks,\nDavid Röthlisberger.\n"},{"id":"176122","messageId":"4E7DAA6D.6060202@in.waw.pl","threadId":"28473","inReplyTo":"EEB5CA46-D4FB-4B59-BDAF-36AE9BCC1D1E@rothlis.net","subject":"Re: \"git log --simplify-by-decoration\" but including branch & merge points","fromName":"Zbigniew Jędrzejewski-Szmek","fromEmail":"zbyszek@in.waw.pl","sentAt":"2011-09-24T10:01:17Z","receivedAt":"2011-09-24T10:01:17Z","isPatch":false,"sender":{"key":"zbyszek@in.waw.pl","avatar":"https://avatars.githubusercontent.com/u/349618?v=4"},"body":"See https://github.com/esc/git-big-picture. I think it's graphical only, \nbut might be a good starting point.\n\nBest,\nZbyszek\n"}]}