Re: GSoC 2010: "Integrated Web Client for git" proposal

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]