On Sun, Apr 18, 2010 at 07:50:17PM +0200, Jakub Narebski wrote: > So it is intended, I guess, more like git-instaweb or webmin, not like > administrative parts of Girocco (or repo.or.cz), GitHub, Gitorious or > InDefero. Probably authentication and authorization would not be needed > then, if it is to be run as web interface but locally... If the project is a success, I wanted to use it for mob branch editing on repo.or.cz. It could also be used as open-source Gist alternative. But it needs to be coded so that it does not require an actual checked out copy (which shouldn't be too much hassle). > >> 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. > > Well, there is also copy'n'paste of code as a last resort. I would prefer the do. :-) > >> 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 . > ^^^^^^^^^^-- ??? > But what? > > Yes, it is not as elegant as "require", and you have to catch errors > in "do"-ed file yourself (as described at the end of `perldoc -f do`). Oops, sorry. I meant that it should be really only last result if we try to split things and for some reason it keeps not working out. > Currently to install gitweb you have to copy *one* script, and a few > static files (2 x image, CSS, JavaScript). You can configure it using > "make gitweb" with appropriate options, you can simply edit gitweb script, > or you can leave this to the gitweb config file. I don't really think things can get *any* more complicated than "also copy over this directory recursively", do they? > Also there is a question _how_ to split gitweb into modules, > e.g. whether to follow SVN::Web example on how gitweb (Git::Web?) should > be split. But I guess any splitting would suffice; we need to provide > a way to build and install split gitweb. > > Split can be as simple as: > > Makefile, or Makefile.PL, or Build.PL > gitweb.perl > static/git-logo.png > static/git-favicon.png > static/gitweb.css > static/gitweb.js > lib/Gitweb/Utils.pm (Gitweb::Utils) > lib/Gitweb/Editor.pm (Gitweb::Editor, for GSoC2010, if it gets accepted) Exactly! I think we can do this reasonably incrementally; if something is not working out, we can move it again later. Let's not overengineer stuff. I think it would make sense to just split out something like Gitweb::Git (for Git invocations), Gitweb::CGI (for CGI parsing and HTML output toolkit) and perhaps Gitweb::Util for misc. stuff. Then, if we feel like it, maybe we can start splitting out things more, like Gitweb::CGI::Blame, but I don't think that's even neccessary for now. -- Petr "Pasky" Baudis http://pasky.or.cz/ | "Ars longa, vita brevis." -- Hippocrates -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html