{"thread":{"id":"23232","subject":"how to display a simplified graph of commits ?","startedAt":"2010-03-29T13:24:39Z","lastAt":"2010-03-29T14:01:53Z","messageCount":3,"participants":["David Madore","Santi Béjar","Johannes Sixt"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"138086","messageId":"20100329132439.GA734@aldebaran.xn--kwg.net","threadId":"23232","inReplyTo":null,"subject":"how to display a simplified graph of commits ?","fromName":"David Madore","fromEmail":"david+news@madore.org","sentAt":"2010-03-29T13:24:39Z","receivedAt":"2010-03-29T13:24:39Z","isPatch":false,"sender":{"key":"david+news@madore.org","avatar":null},"body":"Hi list,\n\nI'd like to know if the following is possible and, if not, I'd like to\nsuggest it as a possible useful addition to the git frontend/graphical\ntools: display a simplified graph of \"interesting\" commits showing the\nrelationship between a specified set of commits.\n\nIn other words, I have a set of revisions that I'm interested in, and\nI'd like to graphically display the relationships (merges, branches)\nbetween them, omitting the cruft of intervening irrelevant commits.\n\nA possible mathematical definition of what I'd like would be this:\ngiven a finite set S of commits, consider the subgraph G (of the full\ncommit graph) consisting of the union of all possible paths leading\nfrom a latest-common-ancestor of any subset of S to an\nearliest-common-descendant; define a commit to be \"interesting\" (wrt\nS) when it has more than one ancestor or more than one child _in the\nsubraph G_ (i.e., it is either a branch or a merge point in the\nsubgraph), or, of course, when it itself in S; I'd like to display the\nsubgraph G by displaying all its interesting commits and the sequences\nof edges between them (but not all the intermediate commits).\n\n(The above, of course, is just one example of a rigorous definition of\nwhat an \"interesting\" commit might be.  There may be others, and\nobviously I don't care about using exactly that one.)\n\nThe point is that I want to understand the code flow among branches\ncontaining certain revisions in a git tree, and who merged what--and\nthere are too many intermediate commits to make anything useful of the\nstandard display of gitk.  Restricting a view to a certain subset of\nthe files helps a lot, but it is still not sufficient as it is neither\ntrue that every commit I'm interested in touches this or that subset\nof the files, nor the converse.\n\nIs there another way I can restrict the set of commits to display,\nwith any kind of graphical tool like gitk?\n\n-- \n     David A. Madore\n   ( http://www.madore.org/~david/ )\n"},{"id":"138088","messageId":"adf1fd3d1003290657u64b4ef2fid8a6d94672085860@mail.gmail.com","threadId":"23232","inReplyTo":"20100329132439.GA734@aldebaran.xn--kwg.net","subject":"Re: how to display a simplified graph of commits ?","fromName":"Santi Béjar","fromEmail":"santi@agolina.net","sentAt":"2010-03-29T13:57:22Z","receivedAt":"2010-03-29T13:57:22Z","isPatch":false,"sender":{"key":"santi@agolina.net","avatar":null},"body":"On Mon, Mar 29, 2010 at 3:24 PM, David Madore <david+news@madore.org> wrote:\n\n[...]\n\n>\n> Is there another way I can restrict the set of commits to display,\n> with any kind of graphical tool like gitk?\n\nYou can use gitk --simplify-by-decoration. It only shows the commits\nwith tags, plus some commits to make a meaningful graph. But it does\nnot work with a generic list of commits, the list of interesting\ncommits is always those with tags.\n\nHTH,\nSanti\n"},{"id":"138089","messageId":"4BB0B2D1.507@viscovery.net","threadId":"23232","inReplyTo":"20100329132439.GA734@aldebaran.xn--kwg.net","subject":"Re: how to display a simplified graph of commits ?","fromName":"Johannes Sixt","fromEmail":"j.sixt@viscovery.net","sentAt":"2010-03-29T14:01:53Z","receivedAt":"2010-03-29T14:01:53Z","isPatch":false,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 3/29/2010 15:24, schrieb David Madore:\n> I'd like to know if the following is possible and, if not, I'd like to\n> suggest it as a possible useful addition to the git frontend/graphical\n> tools: display a simplified graph of \"interesting\" commits showing the\n> relationship between a specified set of commits.\n\ngit log --graph --simplify-by-decoration\n\nYou have to tag the interesting commits to show up in this chart.\n\n-- Hannes\n"}]}