Re: GSoC 2010: "Integrated Web Client for git" proposal
From: Petr Baudis <hidden>
Date: 2016-06-15 22:48:40
On Sun, Apr 18, 2010 at 03:24:53AM +0200, Jakub Narebski wrote:
On Sun, Apr 18, Petr Baudis wrote:quoted
On Sun, Apr 18, 2010 at 02:46:16AM +0200, Jakub Narebski wrote:quoted
quoted
Or is it meant as web analogue of git-gui: a committool, with ability to create new commits, perhaps to edit files (and add them, delete them, move them around), a bit like ikiwiki with Git backend, or other Git based wikis and blogs?Yes. Though it is probably supposed to be real Git frontend with Git semantics, not something more abstract with Git under the hood.Hmmm... doesn't look so easy. What to do about simultaneous access (what webmin does?), and working directory (what ikiwiki does?)?
I would expect it to work the same as if you work in single working copy from multiple shells. If multiple people want to collaborate, each should have their own clone to begin with.
Well, you can always add some of "Web Client" functionality directly to gitweb (for example dispatch must be, I think, in gitweb).
But I don't think you can reasonably separate a major portion of web client that would not depend on gitweb functions like href(), format*() etc. all over the map.
Or you can (ab)use "do $gitwebgui_pm;" instead of "require $gitwebgui_pm;", like in http://repo.or.cz/w/git/jnareb-git.git/commitdiff/261b99e3#patch3 (second chunk).
This already occured to me, yes. It's tempting to have this as the emergency way out, shall other things fail. But .
OTOH we can always make gitweb "use Git;" and move some of its routines, to it after generalization (e.g. config management using single run of "git config -l -z", unquoting paths, parsing commit/tag/ls-tree/difftree etc., date parsing and conversion).
Yes, but not things like href(), git_header_html() and other absolutely essential routines.
quoted
quoted
3. Split Gitweb, add "Web Client" as one of modules. Might be best from the purity point of view, but is practical only if it is integrated in gitweb. That would require getting gitweb maintainer out of GSoC. Also I am not sure how feaible this approach would be.Would it be really required to get gitweb maintainer out of GSoC in order to go this way? Why?Well, at least someone who would be able to manage integrating split gitweb. I think that splitting gitweb, and doing it well, is quite outside this GSoC 2010 proposal: it would be too much.
This was my hesitation at the beginning, but I'm not really sure if it's really so hard, _if_ we resist the temptation to snowball unrelated cleanups on top of it. Conceptually, it isn't really hard to do, is it? The only tricky thing would be making sure instaweb still works and installation is still easy, but I don't see anything really difficult in this area either...? -- Petr "Pasky" Baudis http://pasky.or.cz/ | "Ars longa, vita brevis." -- Hippocrates