{"thread":{"id":"2747","subject":"announce: git browser","startedAt":"2005-12-05T00:23:24Z","lastAt":"2005-12-06T20:23:35Z","messageCount":13,"participants":["Artem Khodush","Petr Baudis","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"13192","messageId":"40b2b7d90512041623g1e22fecai9470ffcb94f40a58@mail.gmail.com","threadId":"2747","inReplyTo":null,"subject":"announce: git browser","fromName":"Artem Khodush","fromEmail":"greenkaa@gmail.com","sentAt":"2005-12-05T00:23:24Z","receivedAt":"2005-12-05T00:23:24Z","isPatch":false,"sender":{"key":"greenkaa@gmail.com","avatar":null},"body":"Hello,\n\nI'd like to announce experimental web interface for git,\ncomplementary to gitweb. It visualizes commit history graph\nand shows commit diffs.\n\nSee http://straytree.com/git-browser/GitBrowser.html?r=git\n\nArtem.\n"},{"id":"13196","messageId":"20051205004238.GE22159@pasky.or.cz","threadId":"2747","inReplyTo":"40b2b7d90512041623g1e22fecai9470ffcb94f40a58@mail.gmail.com","subject":"Re: announce: git browser","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-12-05T00:42:38Z","receivedAt":"2005-12-05T00:42:38Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"  Hello,\n\nDear diary, on Mon, Dec 05, 2005 at 01:23:24AM CET, I got a letter\nwhere Artem Khodush <greenkaa@gmail.com> said that...\n> I'd like to announce experimental web interface for git,\n> complementary to gitweb. It visualizes commit history graph\n> and shows commit diffs.\n> \n> See http://straytree.com/git-browser/GitBrowser.html?r=git\n\n  quite interesting! I always dreamt (not intensively enough to go\nmyself and do it) about gitweb having gitk-like visualization, possibly\nthis might help. ;-)\n\n  Couple of initial notes:\n\n  * I would find it much nicer if you wouldn't \"squeeze\" all the day's\n(except merge) commits together, but left them separate. Possibly a\nswitch to squeeze them, but I'm really not sure if it's even useful to\nhave.\n\n  * The line graphics etc. might be more colourful and prettier. ;-)\n\n  * Then it could have a \"gitk mode\" where the time flows vertically and\nauthor+title+time is shown in each line. It turns out that this might\nnot be the prettiest, but it's really the most informative and useful\nview, IMHO.\n\n  * When I click on the little black box, the commit window disappears\nbefore I manage to click on anything inside; I would intuitively expect\nthe reverse behaviour - that this happens when I don't click on the box.\nOr that clicking on the box does not matter. *shrug* The web interface\nwith those windows popping up admitelly makes my mind somewhat\nuncomfortable, but it's hard to pin-point down why.\n\n  * Possibly, the commit information could be shown in a dedicated\nscreen area altogether. It also wouldn't obscure the view of the actual\ndiagram, and it would be more visible that it cutely highlights the\nappropriate box based on the current commit you have your cursor on.\n\n  * It looks too much like Feynman diagrams when the merge arrow\npoints slightly backwards; perhaps you could try to avoid that.\n\n  * It doesn't seem to handle the UTF8 characters properly.\n\n  Quite nice for starters, though! The diff viewer looks pretty slick,\ntoo.\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nVI has two modes: the one in which it beeps and the one in which\nit doesn't.\n"},{"id":"13198","messageId":"40b2b7d90512041720i65f63ee1pcfe32d2c0c3c357b@mail.gmail.com","threadId":"2747","inReplyTo":"20051205004238.GE22159@pasky.or.cz","subject":"Re: announce: git browser","fromName":"Artem Khodush","fromEmail":"greenkaa@gmail.com","sentAt":"2005-12-05T01:20:39Z","receivedAt":"2005-12-05T01:20:39Z","isPatch":false,"sender":{"key":"greenkaa@gmail.com","avatar":null},"body":"On 12/5/05, Petr Baudis <pasky@suse.cz> wrote:\n\n> > See http://straytree.com/git-browser/GitBrowser.html?r=git\n>\n>   quite interesting! I always dreamt (not intensively enough to go\n> myself and do it) about gitweb having gitk-like visualization, possibly\n> this might help. ;-)\n>\n>   Couple of initial notes:\n>\n>   * I would find it much nicer if you wouldn't \"squeeze\" all the day's\n> (except merge) commits together, but left them separate. Possibly a\n> switch to squeeze them, but I'm really not sure if it's even useful to\n> have.\n\nWell it's easy to do, but then, in Linus tree, a single day would not fit\non my screen :-) So 'squeezed' mode is helpful for me, at least,\n to get big picture at a glance - in git tree, for example, I can see\nthe 0.99.5 release branch to  begin and end on a single screen.\n\n\n>   * The line graphics etc. might be more colourful and prettier. ;-)\n\nAnd the question is: the colours are assigned to what:\nbranches ? authors ? committers ? repositories ?\n\n\n>   * Then it could have a \"gitk mode\" where the time flows vertically and\n> author+title+time is shown in each line. It turns out that this might\n> not be the prettiest, but it's really the most informative and useful\n> view, IMHO.\n\nBut in this view, you can have only the number-of-lines-on-the-screen\ncommits visible. And with graphics done in javascript, scrolling is\npainfully slow, at least in mozilla. And I think that implementing\nquick search in a diagram will provide much more information\nthan one can get by 'visual grep' :-). So I don't know, need to think\na bit more .\n\n>   * When I click on the little black box, the commit window disappears\n> before I manage to click on anything inside; I would intuitively expect\n> the reverse behaviour - that this happens when I don't click on the box.\n> Or that clicking on the box does not matter. *shrug* The web interface\n> with those windows popping up admitelly makes my mind somewhat\n> uncomfortable, but it's hard to pin-point down why.\n\nYep, the boxes intentionally are not clickable, I think it makes navigation\neasier, perhaps it could be made as a preference..\n\n\n>   * Possibly, the commit information could be shown in a dedicated\n> screen area altogether. It also wouldn't obscure the view of the actual\n> diagram, and it would be more visible that it cutely highlights the\n> appropriate box based on the current commit you have your cursor on.\n\nYes I also think about it. Initially the boxes were semi-transparent so\nyou could track the highlihgt under the box, it looked very nice,\nbut that was too slow to be usable on my computer, and opera\ndoes not have that 'opacity' thing..\n\n>   * It looks too much like Feynman diagrams when the merge arrow\n> points slightly backwards; perhaps you could try to avoid that.\n\nIf I find a way to do it without further complicating placement algorightm,\nmaybe..\n\n>   * It doesn't seem to handle the UTF8 characters properly\n\n\n>   Quite nice for starters, though! The diff viewer looks pretty slick,\n> too.\n\nThanks! Btw, I took the diff viewer pretty much unmodified from gitweb.\n\nArtem.\n"},{"id":"13233","messageId":"20051205232626.GH22159@pasky.or.cz","threadId":"2747","inReplyTo":"40b2b7d90512041720i65f63ee1pcfe32d2c0c3c357b@mail.gmail.com","subject":"Re: announce: git browser","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-12-05T23:26:26Z","receivedAt":"2005-12-05T23:26:26Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Mon, Dec 05, 2005 at 02:20:39AM CET, I got a letter\nwhere Artem Khodush <greenkaa@gmail.com> said that...\n> On 12/5/05, Petr Baudis <pasky@suse.cz> wrote:\n> >   * I would find it much nicer if you wouldn't \"squeeze\" all the day's\n> > (except merge) commits together, but left them separate. Possibly a\n> > switch to squeeze them, but I'm really not sure if it's even useful to\n> > have.\n> \n> Well it's easy to do, but then, in Linus tree, a single day would not fit\n> on my screen :-) So 'squeezed' mode is helpful for me, at least,\n>  to get big picture at a glance - in git tree, for example, I can see\n> the 0.99.5 release branch to  begin and end on a single screen.\n\nI see. Well, how useful the big picture is? (Or rather the part of it\nyou don't get by just looking at the current state.)\n\n> >   * The line graphics etc. might be more colourful and prettier. ;-)\n> \n> And the question is: the colours are assigned to what:\n> branches ? authors ? committers ? repositories ?\n\nBranches for easy visual distinguishing of what line is what, I guess.\nColoring based on repositories in particular would be very hard.\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nVI has two modes: the one in which it beeps and the one in which\nit doesn't.\n"},{"id":"13246","messageId":"40b2b7d90512052240t778f1c8kf182ff065687068c@mail.gmail.com","threadId":"2747","inReplyTo":"20051205232626.GH22159@pasky.or.cz","subject":"Re: announce: git browser","fromName":"Artem Khodush","fromEmail":"greenkaa@gmail.com","sentAt":"2005-12-06T06:40:32Z","receivedAt":"2005-12-06T06:40:32Z","isPatch":false,"sender":{"key":"greenkaa@gmail.com","avatar":null},"body":">\n> I see. Well, how useful the big picture is? (Or rather the part of it\n> you don't get by just looking at the current state.)\n\nYes, I see that for day-to-day development the gitk view is optimal.\nI'll see if I can do something similar, but web-based.\n\nArtem.\n"},{"id":"13247","messageId":"7voe3u67ik.fsf@assigned-by-dhcp.cox.net","threadId":"2747","inReplyTo":"40b2b7d90512052240t778f1c8kf182ff065687068c@mail.gmail.com","subject":"Re: announce: git browser","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-12-06T06:53:39Z","receivedAt":"2005-12-06T06:53:39Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Artem Khodush <greenkaa@gmail.com> writes:\n\n>> I see. Well, how useful the big picture is? (Or rather the part of it\n>> you don't get by just looking at the current state.)\n>\n> Yes, I see that for day-to-day development the gitk view is optimal.\n> I'll see if I can do something similar, but web-based.\n\nI think there are at least two web interfaces already and this\nis the third one with an interesting \"twist\".  Javascript\ndrawing is cute.\n\nThis is not to discourage yet another web based one, but I wish\nthere were an NNTP interface, that feeds each repository/branch\nas a newsgroup and each commit as if it is \"git-format-patch\"\noutput, with References: pointing at its parent commit \"articles\".\n\nA merge commit would probably become a multipart with usually 2\nattachments (but N attachments for a N-way octopus), showing\ndiff from each branch.\n"},{"id":"13250","messageId":"40b2b7d90512052331s22adb055y9f99b8cafe20c0c3@mail.gmail.com","threadId":"2747","inReplyTo":"7voe3u67ik.fsf@assigned-by-dhcp.cox.net","subject":"Re: announce: git browser","fromName":"Artem Khodush","fromEmail":"greenkaa@gmail.com","sentAt":"2005-12-06T07:31:55Z","receivedAt":"2005-12-06T07:31:55Z","isPatch":false,"sender":{"key":"greenkaa@gmail.com","avatar":null},"body":"> I think there are at least two web interfaces already\n\nThe web does not care how many web pages it has :-)\n\n> This is not to discourage yet another web based one, but I wish\n> there were an NNTP interface, that feeds each repository/branch\n> as a newsgroup and each commit as if it is \"git-format-patch\"\n> output, with References: pointing at its parent commit \"articles\".\n>\n> A merge commit would probably become a multipart with usually 2\n> attachments (but N attachments for a N-way octopus), showing\n> diff from each branch.\n\nI'll see if I can do something with Perl and Net::NNTP..\n"},{"id":"13252","messageId":"7vd5ka653t.fsf@assigned-by-dhcp.cox.net","threadId":"2747","inReplyTo":"40b2b7d90512052331s22adb055y9f99b8cafe20c0c3@mail.gmail.com","subject":"Re: announce: git browser","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-12-06T07:45:42Z","receivedAt":"2005-12-06T07:45:42Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Artem Khodush <greenkaa@gmail.com> writes:\n\n>> This is not to discourage yet another web based one, but I wish\n>> there were an NNTP interface, that feeds each repository/branch\n>> as a newsgroup and each commit as if it is \"git-format-patch\"\n>> output, with References: pointing at its parent commit \"articles\".\n>>\n>> A merge commit would probably become a multipart with usually 2\n>> attachments (but N attachments for a N-way octopus), showing\n>> diff from each branch.\n>\n> I'll see if I can do something with Perl and Net::NNTP..\n\n\"Ask and it shall be given you\" ;-)\n\nIn case it was not obvious, I was talking about an NNTP server,\nnot a client.\n\nYou would probably have to keep a mapping between sequence\nnumber and commit object name in each \"newsgroup\", which is the\nonly nontrivial part.\n"},{"id":"13257","messageId":"40b2b7d90512060013j23345bf3o2021080edcfbd9c0@mail.gmail.com","threadId":"2747","inReplyTo":"7vd5ka653t.fsf@assigned-by-dhcp.cox.net","subject":"Re: announce: git browser","fromName":"Artem Khodush","fromEmail":"greenkaa@gmail.com","sentAt":"2005-12-06T08:13:29Z","receivedAt":"2005-12-06T08:13:29Z","isPatch":false,"sender":{"key":"greenkaa@gmail.com","avatar":null},"body":">\n> In case it was not obvious, I was talking about an NNTP server,\n> not a client.\n>\n> You would probably have to keep a mapping between sequence\n> number and commit object name in each \"newsgroup\", which is the\n> only nontrivial part.\n\nAnd the reason why special NNTP server is needed is, I guess,\nthat plain NNTP server will not be able to cope with all the diffs\nstored in message database? Well, but then, the newsgroups\nwill not be distributable..\n\nOr is there any other reason?\n"},{"id":"13258","messageId":"7vpsoa4oye.fsf@assigned-by-dhcp.cox.net","threadId":"2747","inReplyTo":"40b2b7d90512060013j23345bf3o2021080edcfbd9c0@mail.gmail.com","subject":"Re: announce: git browser","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-12-06T08:19:53Z","receivedAt":"2005-12-06T08:19:53Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Artem Khodush <greenkaa@gmail.com> writes:\n\n> Or is there any other reason?\n\nJust for fun ;-).\n"},{"id":"13259","messageId":"40b2b7d90512060056i5ce75855q31b613d1b2a404dc@mail.gmail.com","threadId":"2747","inReplyTo":"7vpsoa4oye.fsf@assigned-by-dhcp.cox.net","subject":"Re: announce: git browser","fromName":"Artem Khodush","fromEmail":"greenkaa@gmail.com","sentAt":"2005-12-06T08:56:53Z","receivedAt":"2005-12-06T08:56:53Z","isPatch":false,"sender":{"key":"greenkaa@gmail.com","avatar":null},"body":">\n> > Or is there any other reason?\n>\n> Just for fun ;-).\n\nAnd then, it could be taught to apply posted patches, which could be\neven more fun.. :-)\n"},{"id":"13261","messageId":"7vfyp64mne.fsf@assigned-by-dhcp.cox.net","threadId":"2747","inReplyTo":"40b2b7d90512060056i5ce75855q31b613d1b2a404dc@mail.gmail.com","subject":"Re: announce: git browser","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-12-06T09:09:41Z","receivedAt":"2005-12-06T09:09:41Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Artem Khodush <greenkaa@gmail.com> writes:\n\n>> > Or is there any other reason?\n>>\n>> Just for fun ;-).\n>\n> And then, it could be taught to apply posted patches, which could be\n> even more fun.. :-)\n\nBy the way, by \"fun\" I do not mean \"joke\" at all.\n\nYou earlier said such newsgroups cannot be distributed, but I\nwould say why not.  They will be moderated groups and patches\nwill go to the \"moderator\" who applies the patches to the\nbranches.\n\nReading such a newsgroup would be like going through\n\"commitdiff\" link on gitweb one commit after another, but is\nmore efficient and would match the workflow of people who review\nlots of patches on mailing lists.\n"},{"id":"13277","messageId":"7v1x0q2cvs.fsf@assigned-by-dhcp.cox.net","threadId":"2747","inReplyTo":"40b2b7d90512060013j23345bf3o2021080edcfbd9c0@mail.gmail.com","subject":"Re: announce: git browser","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-12-06T20:23:35Z","receivedAt":"2005-12-06T20:23:35Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Artem Khodush <greenkaa@gmail.com> writes:\n\n> And the reason why special NNTP server is needed is, I guess,\n> that plain NNTP server will not be able to cope with all the diffs\n> stored in message database? Well, but then, the newsgroups\n> will not be distributable..\n>\n> Or is there any other reason?\n\nActually, the real reason was I was stupid (I am always stupid\nbut I was more stupid than I usually am in this case).  We could\njust inject new patches into appropriate newsgroups as they come\nalong, either from a cron job or from the post-update hook.\n"}]}