{"thread":{"id":"88","subject":"git-viz tool for visualising commit trees","startedAt":"2005-04-17T19:48:18Z","lastAt":"2005-04-21T22:06:18Z","messageCount":17,"participants":["Petr Baudis","Ingo Molnar","Olivier Andrieu","Remi Vanicat","Vincent Hanquez"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"529","messageId":"20050417194818.GG1461@pasky.ji.cz","threadId":"88","inReplyTo":null,"subject":"git-viz tool for visualising commit trees","fromName":"Petr Baudis","fromEmail":"pasky@ucw.cz","sentAt":"2005-04-17T19:48:18Z","receivedAt":"2005-04-17T19:48:18Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"  Hi,\n\n  just FYI, Olivier Andrieu was kind enough to port his monotone-viz\ntool to git (http://oandrieu.nerim.net/monotone-viz/ - use the one from\nthe monotone repository). The tool visualizes the history flow nicely;\nsee\n\n\thttp://rover.dkm.cz/~pasky/gitviz1.png\n\thttp://rover.dkm.cz/~pasky/gitviz2.png\n\thttp://rover.dkm.cz/~pasky/gitviz3.png\n\thttp://rover.dkm.cz/~pasky/gitviz4.png\n\thttp://rover.dkm.cz/~pasky/gitviz5.png\n\thttp://rover.dkm.cz/~pasky/gitviz6.png\n\thttp://rover.dkm.cz/~pasky/gitviz7.png\n\nfor some screenshots.\n\n  Kind regards,\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nC++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor\n"},{"id":"967","messageId":"20050420100824.GB25477@elte.hu","threadId":"88","inReplyTo":"20050417194818.GG1461@pasky.ji.cz","subject":"Re: git-viz tool for visualising commit trees","fromName":"Ingo Molnar","fromEmail":"mingo@elte.hu","sentAt":"2005-04-20T10:08:24Z","receivedAt":"2005-04-20T10:08:24Z","isPatch":false,"sender":{"key":"mingo@elte.hu","avatar":null},"body":"\n* Petr Baudis <pasky@ucw.cz> wrote:\n\n>   Hi,\n> \n>   just FYI, Olivier Andrieu was kind enough to port his monotone-viz \n> tool to git (http://oandrieu.nerim.net/monotone-viz/ - use the one \n> from the monotone repository). The tool visualizes the history flow \n> nicely; see\n> \n> \thttp://rover.dkm.cz/~pasky/gitviz1.png\n> \thttp://rover.dkm.cz/~pasky/gitviz2.png\n> \thttp://rover.dkm.cz/~pasky/gitviz3.png\n> \thttp://rover.dkm.cz/~pasky/gitviz4.png\n> \thttp://rover.dkm.cz/~pasky/gitviz5.png\n> \thttp://rover.dkm.cz/~pasky/gitviz6.png\n> \thttp://rover.dkm.cz/~pasky/gitviz7.png\n> \n> for some screenshots.\n\nreally nice stuff! Any plans to include it in git-pasky, via 'git gui' \noption or so? Also, which particular version has this included - the \nfreshest tarball on the monotone-viz download site doesnt seem to \ninclude it.\n\n\tIngo\n"},{"id":"1020","messageId":"20050420194517.GA19112@pasky.ji.cz","threadId":"88","inReplyTo":"20050420100824.GB25477@elte.hu","subject":"Re: git-viz tool for visualising commit trees","fromName":"Petr Baudis","fromEmail":"pasky@ucw.cz","sentAt":"2005-04-20T19:45:17Z","receivedAt":"2005-04-20T19:45:17Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Wed, Apr 20, 2005 at 12:08:24PM CEST, I got a letter\nwhere Ingo Molnar <mingo@elte.hu> told me that...\n> * Petr Baudis <pasky@ucw.cz> wrote:\n> >   just FYI, Olivier Andrieu was kind enough to port his monotone-viz \n> > tool to git (http://oandrieu.nerim.net/monotone-viz/ - use the one \n> > from the monotone repository). The tool visualizes the history flow \n> > nicely; see\n> > for some screenshots.\n> \n> really nice stuff! Any plans to include it in git-pasky, via 'git gui' \n> option or so? Also, which particular version has this included - the \n> freshest tarball on the monotone-viz download site doesnt seem to \n> include it.\n\nAFAIK you need Monotone and grab it from the monotone repository.\n\ngit gui sounds interesting, but perhaps in longer horizon, and perhaps\nnot as an integral part of git-pasky. I don't know ocaml and it's rather\nlarge thing.\n\nPoint'n'drag merges, anyone? ;-))\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nC++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor\n"},{"id":"1022","messageId":"20050420.220044.74738862.oandrieu@nerim.net","threadId":"88","inReplyTo":"20050420100824.GB25477@elte.hu","subject":"Re: git-viz tool for visualising commit trees","fromName":"Olivier Andrieu","fromEmail":"oandrieu@nerim.net","sentAt":"2005-04-20T20:00:44Z","receivedAt":"2005-04-20T20:00:44Z","isPatch":false,"sender":{"key":"oandrieu@nerim.net","avatar":null},"body":" > Ingo Molnar <mingo@elte.hu> [Wed, 20 Apr 2005]:\n > \n > * Petr Baudis <pasky@ucw.cz> wrote:\n > \n > >   Hi,\n > > \n > >   just FYI, Olivier Andrieu was kind enough to port his monotone-viz \n > > tool to git (http://oandrieu.nerim.net/monotone-viz/ - use the one \n > > from the monotone repository). The tool visualizes the history flow \n > > nicely; see\n > > \n > > \thttp://rover.dkm.cz/~pasky/gitviz1.png\n > > \thttp://rover.dkm.cz/~pasky/gitviz2.png\n > > \thttp://rover.dkm.cz/~pasky/gitviz3.png\n > > \thttp://rover.dkm.cz/~pasky/gitviz4.png\n > > \thttp://rover.dkm.cz/~pasky/gitviz5.png\n > > \thttp://rover.dkm.cz/~pasky/gitviz6.png\n > > \thttp://rover.dkm.cz/~pasky/gitviz7.png\n > > \n > > for some screenshots.\n > \n > really nice stuff! Any plans to include it in git-pasky, via 'git gui' \n > option or so? Also, which particular version has this included - the \n > freshest tarball on the monotone-viz download site doesnt seem to \n > include it.\n\nI'll post a tarball soon. You can also get it from the monotone\nrepository, but I wouldn't recommend it unless you want to try\nmonotone as well : that involves a rather large download.\n\n-- \n   Olivier\n"},{"id":"1078","messageId":"20050421.034227.104037433.oandrieu@nerim.net","threadId":"88","inReplyTo":"20050420100824.GB25477@elte.hu","subject":"Re: git-viz tool for visualising commit trees","fromName":"Olivier Andrieu","fromEmail":"oandrieu@nerim.net","sentAt":"2005-04-21T01:42:27Z","receivedAt":"2005-04-21T01:42:27Z","isPatch":false,"sender":{"key":"oandrieu@nerim.net","avatar":null},"body":" > Ingo Molnar <mingo@elte.hu> [Wed, 20 Apr 2005]:\n > \n > * Petr Baudis <pasky@ucw.cz> wrote:\n > \n > >   Hi,\n > > \n > >   just FYI, Olivier Andrieu was kind enough to port his monotone-viz \n > > tool to git (http://oandrieu.nerim.net/monotone-viz/ - use the one \n > > from the monotone repository). The tool visualizes the history flow \n > > nicely; see\n > > \n > > \thttp://rover.dkm.cz/~pasky/gitviz1.png\n > > \thttp://rover.dkm.cz/~pasky/gitviz2.png\n > > \thttp://rover.dkm.cz/~pasky/gitviz3.png\n > > \thttp://rover.dkm.cz/~pasky/gitviz4.png\n > > \thttp://rover.dkm.cz/~pasky/gitviz5.png\n > > \thttp://rover.dkm.cz/~pasky/gitviz6.png\n > > \thttp://rover.dkm.cz/~pasky/gitviz7.png\n > > \n > > for some screenshots.\n > \n > really nice stuff! Any plans to include it in git-pasky, via 'git gui' \n > option or so? Also, which particular version has this included - the \n > freshest tarball on the monotone-viz download site doesnt seem to \n > include it.\n\nThere, here's a tarball :\n  http://oandrieu.nerim.net/monotone-viz/git-viz-0.1.tar.gz\n\nand a binary, compiled on Fedora Core 3 :\n  http://oandrieu.nerim.net/monotone-viz/git-viz.exe\n  http://oandrieu.nerim.net/monotone-viz/README.git-viz\n\nPlease, bear in mind that this is really a hack. Since monotone and\ngit has very similar concepts, I merely replaced the code that was\naccessing monotone's database (sqlite) by some code using git\ntools. But the UI still has references to monotone all over the place,\na couple of things won't work, etc.\n\n-- \n   Olivier\n"},{"id":"1110","messageId":"20050421092120.GA20626@elte.hu","threadId":"88","inReplyTo":"20050421.034227.104037433.oandrieu@nerim.net","subject":"Re: git-viz tool for visualising commit trees","fromName":"Ingo Molnar","fromEmail":"mingo@elte.hu","sentAt":"2005-04-21T09:21:20Z","receivedAt":"2005-04-21T09:21:20Z","isPatch":false,"sender":{"key":"mingo@elte.hu","avatar":null},"body":"\n* Olivier Andrieu <oandrieu@nerim.net> wrote:\n\n> There, here's a tarball :\n>   http://oandrieu.nerim.net/monotone-viz/git-viz-0.1.tar.gz\n\ni'm trying to build it under Fedora Core 4 (devel), and there are two \nproblems:\n\n - the build scripts seem to assume that \".\" is in PATH (or that the \n   needed viz_style.ml/etc. scripts are in the PATH).\n\nadding \".\" to the PATH worked around this issue, a number of files built \nfine, but then it hit the next problem:\n\n ocamlopt.opt  -I /usr/lib/ocaml/lablgtk2 -I glib -I crypto -pp  -c viz_style.ml\n sh: - : invalid option\n Usage:  sh [GNU long option] [option] ...\n         sh [GNU long option] [option] script-file ...\n GNU long options:\n [...]\n Preprocessor error\n make: *** [viz_style.cmx] Error 2\n\ni've straced the build, and the bug comes from ocamlopt.opt executing:\n\n  sh -c \"-c 'viz_style.ml'\"\n\nwhich confuses the shell.\n\ni've got ocaml-3.08.3-1, lablgtk-2.4.0-2 installed.\n\n\tIngo\n"},{"id":"1116","messageId":"8764ygo181.dlv@vanicat.homelinux.org","threadId":"88","inReplyTo":"20050421092120.GA20626@elte.hu","subject":"Re: git-viz tool for visualising commit trees","fromName":"Remi Vanicat","fromEmail":"remi.vanicat@laposte.net","sentAt":"2005-04-21T10:47:42Z","receivedAt":"2005-04-21T10:47:42Z","isPatch":false,"sender":{"key":"remi.vanicat@laposte.net","avatar":null},"body":"Ingo Molnar <mingo@elte.hu> writes:\n\n> * Olivier Andrieu <oandrieu@nerim.net> wrote:\n>\n>> There, here's a tarball :\n>>   http://oandrieu.nerim.net/monotone-viz/git-viz-0.1.tar.gz\n>\n> i'm trying to build it under Fedora Core 4 (devel), and there are two \n> problems:\n>\n>  - the build scripts seem to assume that \".\" is in PATH (or that the \n>    needed viz_style.ml/etc. scripts are in the PATH).\n>\n> adding \".\" to the PATH worked around this issue, a number of files built \n> fine, but then it hit the next problem:\n>\n>  ocamlopt.opt  -I /usr/lib/ocaml/lablgtk2 -I glib -I crypto -pp  -c  viz_style.ml\n\nThere should be the command name of the preprocessor after the -pp\noption. ocamlopt assume that it should use a preprocessor whose name\nis -c, and fail. The problem must be in the configure script or the\nmakefile. A kick hack may be to launch make with the option\nCAMLP4O=camlp4o (well, as it work here, I'm not sure of the exact\nproblem). \n\n-- \nRémi Vanicat\n\n"},{"id":"1117","messageId":"20050421.133136.78712855.oandrieu@nerim.net","threadId":"88","inReplyTo":"20050421092120.GA20626@elte.hu","subject":"Re: git-viz tool for visualising commit trees","fromName":"Olivier Andrieu","fromEmail":"oandrieu@nerim.net","sentAt":"2005-04-21T11:31:36Z","receivedAt":"2005-04-21T11:31:36Z","isPatch":false,"sender":{"key":"oandrieu@nerim.net","avatar":null},"body":" > Ingo Molnar [Thu, 21 Apr 2005]:\n > \n > * Olivier Andrieu <oandrieu@nerim.net> wrote:\n > \n > > There, here's a tarball :\n > >   http://oandrieu.nerim.net/monotone-viz/git-viz-0.1.tar.gz\n > \n > i'm trying to build it under Fedora Core 4 (devel), and there are two \n > problems:\n > \n >  - the build scripts seem to assume that \".\" is in PATH (or that the \n >    needed viz_style.ml/etc. scripts are in the PATH).\n\nI'm not sure what's wrong here. It works fine for me when I run make\nin the source directory and I don't have \".\" in PATH.\n\n > adding \".\" to the PATH worked around this issue, a number of files built \n > fine, but then it hit the next problem:\n > \n >  ocamlopt.opt  -I /usr/lib/ocaml/lablgtk2 -I glib -I crypto -pp  -c viz_style.ml\n >  sh: - : invalid option\n >  Usage:  sh [GNU long option] [option] ...\n >          sh [GNU long option] [option] script-file ...\n >  GNU long options:\n >  [...]\n >  Preprocessor error\n >  make: *** [viz_style.cmx] Error 2\n\nThat's probably because the configure script didn't find\ncamlp4. Camlp4 is a preprocessor for ocaml, it's needed for compiling\nthis file (viz_style.ml). Camlp4 is built with the ocaml compilers but\nsome package it separately. Try to find and install some ocaml-camlp4\n(or camlp4) package and then re-run configure.\n\nThe configure script should signal an error when it doesn't find\ncamlp4, I'll change that.\n\n-- \n   Olivier\n"},{"id":"1125","messageId":"20050421130242.GA5817@elte.hu","threadId":"88","inReplyTo":"20050421.133136.78712855.oandrieu@nerim.net","subject":"Re: git-viz tool for visualising commit trees","fromName":"Ingo Molnar","fromEmail":"mingo@elte.hu","sentAt":"2005-04-21T13:02:42Z","receivedAt":"2005-04-21T13:02:42Z","isPatch":false,"sender":{"key":"mingo@elte.hu","avatar":null},"body":"\n* Olivier Andrieu <oandrieu@nerim.net> wrote:\n\n>  >  Preprocessor error\n>  >  make: *** [viz_style.cmx] Error 2\n> \n> That's probably because the configure script didn't find camlp4. \n> Camlp4 is a preprocessor for ocaml, it's needed for compiling this \n> file (viz_style.ml). Camlp4 is built with the ocaml compilers but some \n> package it separately. Try to find and install some ocaml-camlp4 (or \n> camlp4) package and then re-run configure.\n\nah, ok. I installed camlp4-3.08.3-1, and this also solved the other \nbuild problem as well that looked like to be a PATH problem.\n\nwhen i run git-viz in a git-controlled directory, it seems to start up \nfine, but i get an error message: \"Could not execute dot\". Closing that \nwindow gives me the ability to do an 'Open', but git-viz does not seem \nto recognize any of my GIT repositories as such. (perhaps there's some \nGIT version dependency? I've got Linus' latest & greatest installed.)\n \n> The configure script should signal an error when it doesn't find \n> camlp4, I'll change that.\n\nfyi, it also didnt check for ocaml and lablgtk.\n\n\tIngo\n"},{"id":"1126","messageId":"20050421131556.GA30472@snarc.org","threadId":"88","inReplyTo":"20050421130242.GA5817@elte.hu","subject":"Re: git-viz tool for visualising commit trees","fromName":"Vincent Hanquez","fromEmail":"tab@snarc.org","sentAt":"2005-04-21T13:15:56Z","receivedAt":"2005-04-21T13:15:56Z","isPatch":false,"sender":{"key":"tab@snarc.org","avatar":"https://gravatar.com/avatar/f639df78e7af804fd54c86e32a2b7b1853d3765ba8e66f878e24c933efc30a2a?d=mp&s=160"},"body":"On Thu, Apr 21, 2005 at 03:02:42PM +0200, Ingo Molnar wrote:\n> when i run git-viz in a git-controlled directory, it seems to start up \n> fine, but i get an error message: \"Could not execute dot\". Closing that \n> window gives me the ability to do an 'Open', but git-viz does not seem \n> to recognize any of my GIT repositories as such. (perhaps there's some \n> GIT version dependency? I've got Linus' latest & greatest installed.)\n\nHey Ingo,\n\nyou probably don't have graphviz (dot is one of graphviz executable).\nI have no idea if that is related to the later though.\n-- \nVincent Hanquez\n"},{"id":"1129","messageId":"20050421.155519.112619323.oandrieu@nerim.net","threadId":"88","inReplyTo":"20050421130242.GA5817@elte.hu","subject":"Re: git-viz tool for visualising commit trees","fromName":"Olivier Andrieu","fromEmail":"oandrieu@nerim.net","sentAt":"2005-04-21T13:55:19Z","receivedAt":"2005-04-21T13:55:19Z","isPatch":false,"sender":{"key":"oandrieu@nerim.net","avatar":null},"body":" > Ingo Molnar [Thu, 21 Apr 2005]:\n > \n > * Olivier Andrieu <oandrieu@nerim.net> wrote:\n > \n > >  >  Preprocessor error\n > >  >  make: *** [viz_style.cmx] Error 2\n > > \n > > That's probably because the configure script didn't find camlp4. \n > > Camlp4 is a preprocessor for ocaml, it's needed for compiling this \n > > file (viz_style.ml). Camlp4 is built with the ocaml compilers but some \n > > package it separately. Try to find and install some ocaml-camlp4 (or \n > > camlp4) package and then re-run configure.\n > \n > ah, ok. I installed camlp4-3.08.3-1, and this also solved the other \n > build problem as well that looked like to be a PATH problem.\n > \n > when i run git-viz in a git-controlled directory, it seems to start up \n > fine, but i get an error message: \"Could not execute dot\". Closing that \n > window gives me the ability to do an 'Open', but git-viz does not seem \n > to recognize any of my GIT repositories as such. (perhaps there's some \n > GIT version dependency? I've got Linus' latest & greatest\n > installed.)\n\nYes, git-viz uses the `dot' program from the graphviz package (it's in\nFedora Extra too I believe).\n\n > > The configure script should signal an error when it doesn't find \n > > camlp4, I'll change that.\n > \n > fyi, it also didnt check for ocaml and lablgtk.\n\ner, what's weird. Here's what I get :\n\n,----\n| $ tar zxf git-viz-0.1.tar.gz\n| $ cd git-viz-0.1\n| $ ./configure\n| checking for ocamlc... ocamlc\n| OCaml version is 3.08.2\n| OCaml library path is /usr/lib/ocaml\n| checking for ocamlopt... ocamlopt\n`----\n\n-- \n   Olivier\n"},{"id":"1133","messageId":"20050421143840.GA14059@elte.hu","threadId":"88","inReplyTo":"20050421.155519.112619323.oandrieu@nerim.net","subject":"Re: git-viz tool for visualising commit trees","fromName":"Ingo Molnar","fromEmail":"mingo@elte.hu","sentAt":"2005-04-21T14:38:40Z","receivedAt":"2005-04-21T14:38:40Z","isPatch":false,"sender":{"key":"mingo@elte.hu","avatar":null},"body":"\n* Olivier Andrieu <oandrieu@nerim.net> wrote:\n\n> Yes, git-viz uses the `dot' program from the graphviz package (it's in \n> Fedora Extra too I believe).\n\nah - that resolved all issues and i'm now running git-viz without any \nproblems.\n\nI just checked how the kernel repository looks like with it, and i'm \nimpressed! The GUI is top-notch, and the whole graph output and \nnavigation is very mature visually. Kudos!\n\na couple of suggestions that are in the 'taste' category:\n\n- isnt left-to-right layout the more natural thing instead of top-down \n  (as it aligns with the reading direction)? It's selectable in the \n  preferences, but you might want to make it default. OTOH, top-down\n  creates a more compressed view of the graph.\n\n- there doesnt seem to be any performance difference between non-colored \n  and colored rendering - so you might as well want to make 'color by \n  author' (or color by branch) the default coloring, instead of \n  uncolored?\n\n- naming the boxes by key is quite meaningless. It would be more \n  informative to see the author's email shortcuts in the boxes. Also, it \n  would be nice to see some simple graphical feedback about the size and \n  scope of a changeset, without having to zoom on it.\n\ni guess you know it, and i'm definitely not complaining about prototype \ncode, but rendering is quite slow: drawing the 340 changesets in the \ncurrent kernel repository takes 15 seconds on a 2 GHz P4. Drawing the \nfull kernel history (63,000 changesets) would take more than 45 minutes \non this box.\n\nthe current rate of kernel development is ~2000 changesets per month, so \ndrawing the kernel history will get 3 seconds slower every day - it will \nexceed 1 minute in 20 days, so this will become a pressing issue quite \nsoon i suspect.\n\n\tIngo\n"},{"id":"1134","messageId":"20050421144554.GA15032@elte.hu","threadId":"88","inReplyTo":"20050421143840.GA14059@elte.hu","subject":"Re: git-viz tool for visualising commit trees","fromName":"Ingo Molnar","fromEmail":"mingo@elte.hu","sentAt":"2005-04-21T14:45:54Z","receivedAt":"2005-04-21T14:45:54Z","isPatch":false,"sender":{"key":"mingo@elte.hu","avatar":null},"body":"\nanother thing, when i 'zoom out' of the graph far away (so that the \nwhole graph becomes visible on the screen), i'm getting lots of such \nerror messages:\n\n *** attempt to put segment in horiz list twice\n *** attempt to put segment in horiz list twice\n *** attempt to put segment in horiz list twice\n *** attempt to put segment in horiz list twice\n *** attempt to put segment in horiz list twice\n\nthis doesnt seem to impact anything though.\n\n\tIngo\n"},{"id":"1135","messageId":"20050421144716.GA15136@elte.hu","threadId":"88","inReplyTo":"20050421144554.GA15032@elte.hu","subject":"Re: git-viz tool for visualising commit trees","fromName":"Ingo Molnar","fromEmail":"mingo@elte.hu","sentAt":"2005-04-21T14:47:16Z","receivedAt":"2005-04-21T14:47:16Z","isPatch":false,"sender":{"key":"mingo@elte.hu","avatar":null},"body":"\nis the 'diff with ancestor' feature supposed to work at this early \nstage? (it just does nothing when i click on it. It correctly offers two \nancestors for merge points, but does nothing there either.)\n\n\tIngo\n"},{"id":"1147","messageId":"20050421164501.GK30991@pasky.ji.cz","threadId":"88","inReplyTo":"20050421144716.GA15136@elte.hu","subject":"Re: git-viz tool for visualising commit trees","fromName":"Petr Baudis","fromEmail":"pasky@ucw.cz","sentAt":"2005-04-21T16:45:01Z","receivedAt":"2005-04-21T16:45:01Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Thu, Apr 21, 2005 at 04:47:16PM CEST, I got a letter\nwhere Ingo Molnar <mingo@elte.hu> told me that...\n> \n> is the 'diff with ancestor' feature supposed to work at this early \n> stage? (it just does nothing when i click on it. It correctly offers two \n> ancestors for merge points, but does nothing there either.)\n\nDoesn't it require git diff?\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nC++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor\n"},{"id":"1185","messageId":"20050421.221441.85407120.oandrieu@nerim.net","threadId":"88","inReplyTo":"20050421143840.GA14059@elte.hu","subject":"Re: git-viz tool for visualising commit trees","fromName":"Olivier Andrieu","fromEmail":"oandrieu@nerim.net","sentAt":"2005-04-21T20:14:41Z","receivedAt":"2005-04-21T20:14:41Z","isPatch":false,"sender":{"key":"oandrieu@nerim.net","avatar":null},"body":" > Ingo Molnar [Thu, 21 Apr 2005]:\n > I just checked how the kernel repository looks like with it, and\n > i'm impressed! The GUI is top-notch, and the whole graph output and\n > navigation is very mature visually. Kudos!\n\nThanks !\n\n > - there doesnt seem to be any performance difference between non-colored \n >   and colored rendering - so you might as well want to make 'color by \n >   author' (or color by branch) the default coloring, instead of \n >   uncolored?\n\nIt has to call `cat-file commit' for each commit id to get the author\n... it's just that's a lot of forks.\n\n > - naming the boxes by key is quite meaningless. It would be more \n >   informative to see the author's email shortcuts in the boxes. Also, it \n >   would be nice to see some simple graphical feedback about the size and \n >   scope of a changeset, without having to zoom on it.\n\nThat's interesting. What do you mean exactly by scope ?\n\n > i guess you know it, and i'm definitely not complaining about prototype \n > code, but rendering is quite slow: drawing the 340 changesets in the \n > current kernel repository takes 15 seconds on a 2 GHz P4. Drawing the \n > full kernel history (63,000 changesets) would take more than 45 minutes \n > on this box.\n > \n > the current rate of kernel development is ~2000 changesets per month, so \n > drawing the kernel history will get 3 seconds slower every day - it will \n > exceed 1 minute in 20 days, so this will become a pressing issue quite \n > soon i suspect.\n\nRight, it is slow. From what I could understand with a bit of\nprofiling, the problem is with the \"text\" canvas item for the boxes'\nlabels. I guess libgnomecanvas isn't using Pango properly or\nsomething: it lookups the font with fontconfig each time I create such\nan item. I'm not sure what I can do about this.\n\nAlso, there's a -noaa option that draws an non-antialiased canvas :\nit's noticeably faster (and uglier too).\n\n\n > Ingo Molnar [Thu, 21 Apr 2005]:\n > another thing, when i 'zoom out' of the graph far away (so that the \n > whole graph becomes visible on the screen), i'm getting lots of such \n > error messages:\n > \n >  *** attempt to put segment in horiz list twice\n\nYes, this message must come from one of the libraries (libart most\nprobably)\n\n\n > Ingo Molnar [Thu, 21 Apr 2005]:\n > is the 'diff with ancestor' feature supposed to work at this early\n > stage? (it just does nothing when i click on it. It correctly\n > offers two ancestors for merge points, but does nothing there\n > either.)\n\nIt works with Petr Baudis' git-pasky (it calls `git diff'). I don't\nknow how to do that with the canonical git.\n\nThanks for the suggestions,\n-- \n   Olivier\n"},{"id":"1203","messageId":"20050421220618.GA31657@elte.hu","threadId":"88","inReplyTo":"20050421.221441.85407120.oandrieu@nerim.net","subject":"Re: git-viz tool for visualising commit trees","fromName":"Ingo Molnar","fromEmail":"mingo@elte.hu","sentAt":"2005-04-21T22:06:18Z","receivedAt":"2005-04-21T22:06:18Z","isPatch":false,"sender":{"key":"mingo@elte.hu","avatar":null},"body":"\n* Olivier Andrieu <oandrieu@nerim.net> wrote:\n\n>  > - naming the boxes by key is quite meaningless. It would be more \n>  >   informative to see the author's email shortcuts in the boxes. Also, it \n>  >   would be nice to see some simple graphical feedback about the size and \n>  >   scope of a changeset, without having to zoom on it.\n> \n> That's interesting. What do you mean exactly by scope ?\n\nusually there are two interesting things about a patchset: how many \nlines does it change, and how many files. Patches that change lots of \nfiles (but change only a couple of lines in every file) have a 'large' \nscope.  Patches that change 1-2 files have a 'small' scope. A pure \n'number of lines changed' metric is useful too. Generally patches that \nhave either a large linecount or a large scope are more interesting.  \n\n(I'm not sure how this could be displayed - perhaps the size of the \nrectangle could vary to a certain degree? Perhaps the shape too?  \nSomething non-numeric, so that one gets immediate visual feedback.)\n\n>  > i guess you know it, and i'm definitely not complaining about prototype \n>  > code, but rendering is quite slow: drawing the 340 changesets in the \n>  > current kernel repository takes 15 seconds on a 2 GHz P4. Drawing the \n>  > full kernel history (63,000 changesets) would take more than 45 minutes \n>  > on this box.\n>  > \n>  > the current rate of kernel development is ~2000 changesets per month, so \n>  > drawing the kernel history will get 3 seconds slower every day - it will \n>  > exceed 1 minute in 20 days, so this will become a pressing issue quite \n>  > soon i suspect.\n> \n> Right, it is slow. From what I could understand with a bit of \n> profiling, the problem is with the \"text\" canvas item for the boxes' \n> labels. I guess libgnomecanvas isn't using Pango properly or \n> something: it lookups the font with fontconfig each time I create such \n> an item. I'm not sure what I can do about this.\n\nwhen the redrawing happens in the visible area then one can see how \nreally slow it is: 100-200 msec per rectangle (!).\n\n> It works with Petr Baudis' git-pasky (it calls `git diff'). I don't \n> know how to do that with the canonical git.\n\nah, ok. I guess it will start working once Petr's changes are merged \ninto Linus' tree.\n\n\tIngo\n"}]}