git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Jakub Narebski <jnareb@gmail.com>
Date
Apr 18, 2010, 00:46 UTC
Message-ID
<201004180246.18263.jnareb@gmail.com>
In-Reply-To
<201004150630.44300.chriscool@tuxfamily.org>
Dnia czwartek 15. kwietnia 2010 06:30, Christian Couder napisał:
Show 6 quoted lines
> Hi!
> 
> Pavan Kumar Sunkara sent an email on the git mailing list a few days ago about 
> his GSoC proposal:
> 
> http://thread.gmane.org/gmane.comp.version-control.git/144658/

I would really prefer if Pavan just *wrote* the text of his "Integrated Web Client for git" proposal for GSoC 2010 in email, instead of providing link to it; link that requires signing-in.

  This proposal aims at creating a multi-purpose HTML based GUI client
  for git. This client intends in reducing the work needed to be done
  by a developer while working on a git repository. This is not another
  gitweb or gitorious but it also contains their functionalities as
  submodules.
 
  The project goal is to try and implement a integrated multi-purpose
  HTML based GUI client for git. It contains two parts which are
  crucial while working on a git repository, Read and Write.
    * Read means browse through the code and repository
    * Write means working on the code and repository
  Also, in the future others will be able to develop more functionalities
  for this client with the help of the framework like structure of this
  project.

It is not entirely sure what this "Web Client" is meant to do. Is it mainly meant as web interface to managing repositories (webmin for git), something that GitHub, Gitorious, InDefero, Girocco all include? This could mean web interface to configuring gitosis / gitolite. 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? Or is it something else?

Show 12 quoted lines
> His proposal is based on the project he already started:
> 
> http://github.com/pkumar/gittor
> 
> There have been discussions about it on the GSoC web app and in some private 
> emails.
> 
> Possible GSoC mentors for this proposal don't want yet another web interface, 
> they want an existing interface to be improved on. As the obvious choice is to 
> improve gitweb, the current result from the discussions is that the proposal 
> should be changed so that the integrated web client is developed in Perl into 
> or alongside gitweb.

It could be a waste to duplicate functionality that is already present in gitweb, at least for GSoC (having yet another web interface for git, this time in Python, could be a good thing... if the web interface would be developed further).

As to integrating "Web Client for Git" with gitweb, there exists at least a few possible ways to do this:

1. Keep "Web Client" separate for gitweb, and make use of gitweb 
   hooks/plugin system like $feature{'actions'}.  This might require
   adding new "hooks" to gitweb.
   The advantage is that "Web Client" can be written in any language,
   not necessary Perl.  The disadvantage that if it is written in Perl,
   some code might be duplicated.  It might be hard to write generic
   hooks - the "Web Client" could be not as well integrated with gitweb.
2. Write "Web Client" as a Perl module, like 'gitweb/cache.pm' in the
   http://repo.or.cz/w/git/jnareb-git.git/log/refs/heads/gitweb/cache-kernel-pu
   and 'require' this file as needed, guarded by global variable or
   %feature.
   The advantage is possible tighter integration.  I am not sure about
   being able to use code from gitweb in "Web Client".  It also requires
   using Perl, and might require using some contortions if the problem
   would be naturally split into multiple modules: there can be multiple
   modules, but it could be better to have them in one file.
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.
Show 8 quoted lines
> 
> Pavan agreed to rewrite his proposal according to that and Petr and myself 
> volunteered to co-mentor him.
> 
> It was suggested that improving Gitalist 
> (http://wiki.catalystframework.org/wiki/gitalist) would be a better choice. 
> But this was rejected because Gitalist is too much different from gitweb so it 
> could not replace it for many people now using gitweb.

True, I don't think that e.g. git.kernel.org or repo.or.cz could install Catalyst and Git::PurePerl and use Gitalist instead of gitweb...

P.S. If I remember correctly Gitalist was based out of last gitweb version
     before it got bundled with git.  I wonder if they caught up to the
     modern gitweb features (snapshots, Atom/RSS feeds, basic submodule
     support, handling images, incremental blame, grep and pickaxe search,
     etc.).
-- 
Jakub Narebski
Poland
Previous: Christian CouderNext: Petr Baudis
Message 2 of 39 in “GSoC 2010: "Integrated Web Client for git" proposal”
  1. Christian CouderApr 15, 2010
  2. Jakub NarebskiApr 18, 2010
  3. Petr BaudisApr 18, 2010
  4. Jakub NarebskiApr 18, 2010
  5. Petr BaudisApr 18, 2010
  6. Pavan Kumar SunkaraApr 18, 2010
  7. Jakub NarebskiApr 18, 2010
  8. Petr BaudisApr 18, 2010
  9. Pavan Kumar SunkaraApr 19, 2010
  10. Matthieu MoyApr 19, 2010
  11. Junio C HamanoApr 19, 2010
  12. Pavan Kumar SunkaraApr 19, 2010
  13. Petr BaudisApr 19, 2010
  14. Matthieu MoyApr 19, 2010
  15. Pavan Kumar SunkaraApr 19, 2010
  16. Matthieu MoyApr 19, 2010
  17. Petr BaudisApr 19, 2010
  18. Pavan Kumar SunkaraApr 19, 2010
  19. Petr BaudisApr 20, 2010
  20. Jakub NarebskiApr 18, 2010
  21. Petr BaudisApr 18, 2010
  22. Jakub NarebskiApr 19, 2010
  23. Petr BaudisApr 19, 2010
  24. Pavan Kumar SunkaraApr 19, 2010
  25. Petr BaudisApr 20, 2010
  26. Jakub NarebskiApr 20, 2010
  27. Pavan Kumar SunkaraApr 21, 2010
  28. Petr BaudisApr 22, 2010
  29. Junio C HamanoApr 22, 2010
  30. Petr BaudisApr 23, 2010
  31. Junio C HamanoApr 23, 2010
  32. Pavan Kumar SunkaraApr 22, 2010
  33. Christian CouderApr 23, 2010
  34. Pavan Kumar SunkaraApr 23, 2010
  35. Pavan Kumar SunkaraApr 19, 2010
  36. Jakub NarebskiApr 19, 2010
  37. Pavan Kumar SunkaraApr 19, 2010
  38. Jakub NarebskiApr 19, 2010
  39. Pavan Kumar SunkaraApr 20, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.