{"thread":{"id":"33380","subject":"RFC: Very useful script to SVG graph the git commits from a file orientated view","startedAt":"2013-04-04T12:36:36Z","lastAt":"2013-04-08T10:49:55Z","messageCount":4,"participants":["John Tapsell","Jeremy Rosen"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"213095","messageId":"CAHQ6N+qLbrBKWhq8OGKco+JxiiLVOQvW09j3rLeZw265POZuMw@mail.gmail.com","threadId":"33380","inReplyTo":null,"subject":"RFC: Very useful script to SVG graph the git commits from a file orientated view","fromName":"John Tapsell","fromEmail":"johnflux@gmail.com","sentAt":"2013-04-04T12:36:36Z","receivedAt":"2013-04-04T12:36:36Z","isPatch":false,"sender":{"key":"johnflux@gmail.com","avatar":"https://gravatar.com/avatar/25f70d4c0f96396b84a2e34bcd9bdc233462c7b4be29b5fdca8266fc53f30b0c?d=mp&s=160"},"body":"Hi,\n  I made this script to help me see the logical connections between\ncommits.  It produces a .svg graph showing the commits that affected a\nfile.\n\nFor example, say you have the commits:\n\ncommit1 - modify hello.c\ncommit2 - modify goodbye.c\ncommit3 - modify hello.c and goodbye.c\n\nIt will draw a graph showing the first two commits as siblings, and\ncommit3 as a child of commit1 and commit2.\n\nI have found this very useful when squashing and rebasing development\nbranches that have got a lot of \"fix typo\" and \"fix\"  type commit\nmessages.  From the graph you can quickly see which commit they were\nfixing (the parent, in the graph).\n\nHere is an example output, running it on kwin for the last 100 commits:\n\n$ graph_git.pl --nofiles -100\n\nhttp://imagebin.org/252754\n\nAnd again with files for the last 10 commits:\n\n$ graph_git.pl -10\n\nhttp://imagebin.org/252756\n\n(Note that it has tooltips)\n\nJohnFlux\n"},{"id":"213096","messageId":"759444160.1179815.1365079617652.JavaMail.root@openwide.fr","threadId":"33380","inReplyTo":"CAHQ6N+qLbrBKWhq8OGKco+JxiiLVOQvW09j3rLeZw265POZuMw@mail.gmail.com","subject":"Re: RFC: Very useful script to SVG graph the git commits from a file orientated view","fromName":"Jeremy Rosen","fromEmail":"jeremy.rosen@openwide.fr","sentAt":"2013-04-04T12:46:57Z","receivedAt":"2013-04-04T12:46:57Z","isPatch":false,"sender":{"key":"jeremy.rosen@openwide.fr","avatar":null},"body":"very usefull indeed, where can I find it ? I have a big rebase/merge/reorganise work that is comming soon and that is going to be tremendously usefull...\n\n    Cordialement\n\n    Jérémy Rosen\n\nfight key loggers : write some perl using vim\n\n----- Mail original -----\n> Hi,\n>   I made this script to help me see the logical connections between\n> commits.  It produces a .svg graph showing the commits that affected\n> a\n> file.\n> \n> For example, say you have the commits:\n> \n> commit1 - modify hello.c\n> commit2 - modify goodbye.c\n> commit3 - modify hello.c and goodbye.c\n> \n> It will draw a graph showing the first two commits as siblings, and\n> commit3 as a child of commit1 and commit2.\n> \n> I have found this very useful when squashing and rebasing development\n> branches that have got a lot of \"fix typo\" and \"fix\"  type commit\n> messages.  From the graph you can quickly see which commit they were\n> fixing (the parent, in the graph).\n> \n> Here is an example output, running it on kwin for the last 100\n> commits:\n> \n> $ graph_git.pl --nofiles -100\n> \n> http://imagebin.org/252754\n> \n> And again with files for the last 10 commits:\n> \n> $ graph_git.pl -10\n> \n> http://imagebin.org/252756\n> \n> (Note that it has tooltips)\n> \n> JohnFlux\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":"213097","messageId":"CAHQ6N+r7RpV3n+Mb3GEyJim7-bwML_OUmveLZjWcRWp_HF-rNQ@mail.gmail.com","threadId":"33380","inReplyTo":"759444160.1179815.1365079617652.JavaMail.root@openwide.fr","subject":"Re: RFC: Very useful script to SVG graph the git commits from a file orientated view","fromName":"John Tapsell","fromEmail":"johnflux@gmail.com","sentAt":"2013-04-04T12:50:37Z","receivedAt":"2013-04-04T12:50:37Z","isPatch":false,"sender":{"key":"johnflux@gmail.com","avatar":"https://gravatar.com/avatar/25f70d4c0f96396b84a2e34bcd9bdc233462c7b4be29b5fdca8266fc53f30b0c?d=mp&s=160"},"body":"Opps, somehow I forgot to actually attach it.\n\nIt's now attached\n"},{"id":"213508","messageId":"1230283897.1259692.1365418195898.JavaMail.root@openwide.fr","threadId":"33380","inReplyTo":"CAHQ6N+r7RpV3n+Mb3GEyJim7-bwML_OUmveLZjWcRWp_HF-rNQ@mail.gmail.com","subject":"Re: RFC: Very useful script to SVG graph the git commits from a file orientated view","fromName":"Jeremy Rosen","fromEmail":"jeremy.rosen@openwide.fr","sentAt":"2013-04-08T10:49:55Z","receivedAt":"2013-04-08T10:49:55Z","isPatch":false,"sender":{"key":"jeremy.rosen@openwide.fr","avatar":null},"body":"so, I started using it this WE for my big rebase \n\nI had aproximately 130 non-merge commits in my branch, a feature branch in which I had regularly merged master, but I needed to rebase everything and then reorganise most commits to make the whole thing reviewable\n\n* merge bug-fix with the commit that introduced the bug\n* change sloppy commit messages\n* separate sloppy commit into multiple commits\n\nI did my initial rebase and I am now doing repetitive \"git rebase -i\" to get everything going\n\nyour script is very usefull to me because it allows me to easily see the overall layout of things and figure what commit are \"suspect\" (touching files from different areas that have no reasons to be touched at the same time)\n\nit also allows me to easily find commits that are highly connected to other ones and are the most likely to be problematic when reordering commits. Overall that script is awesome.\n\ncouple of ideas to refine things\n\n* The tooltips are very handy, but it would be nice if the tooltip would activate on the whole commit ellipsis, not just the text inside the ellipsis\n* I would love to have tooltips on the arrows too. when trying to follow what arrow is what file it makes things really handi\n\nIt would be nice if there were a way to filter only some files in the output... there probably is with the git-log like syntax but i'm not a master of that... hints would be welcome\n\nis there a public repo for this script so I can point other people to it ?\n\n\n    Cordialement\n\n    Jérémy Rosen\n\nfight key loggers : write some perl using vim\n\n----- Mail original -----\n> Opps, somehow I forgot to actually attach it.\n> \n> It's now attached\n> \n"}]}