From: Jakub Narebski <jnareb@gmail.com>
To: Petr Baudis <pasky@suse.cz>
Cc: Christian Couder <chriscool@tuxfamily.org>,
git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
Sverre Rabbelier <srabbelier@gmail.com>,
Shawn O Pearce <spearce@spearce.org>,
Scott Chacon <schacon@gmail.com>,
Pavan Kumar Sunkara <pavan.sss1991@gmail.com>,
Sam Vilain <sam@vilain.net>
Subject: Re: GSoC 2010: "Integrated Web Client for git" proposal
Date: Mon, 19 Apr 2010 12:43:22 +0200 [thread overview]
Message-ID: <201004191243.24209.jnareb@gmail.com> (raw)
In-Reply-To: <20100418195623.GA3563@machine.or.cz>
On Sun, Apr 18, 2010 at 21:56 +0200, Petr Baudis wrote:
> 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.
For that you would need editing file / editing contents action, but
this is explicitely excluded in current version of Pavan's proposal :-(
> But it needs to be coded so that it does not require an actual checked
> out copy (which shouldn't be too much hassle).
It would require using 'git hash-object -t blob -w --stdin' (from body
submitted via POST from textarea) plus 'git update-index --cacheinfo'.
There is however complication that you would need to do open2/open3
because git-hash-object would require bidirectional communication unless
you would use temporary file (command_bidi_pipe in Git.pm, untested).
>> 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?
Let's check what gitweb/INSTALL says currently
$ make prefix=/usr gitweb ;# as yourself
# cp gitweb/git* /var/www/cgi-bin/ ;# as root
WTF with 'gitweb/git*' glob?
Ah, later there is "Build example", which is
- To install gitweb to /var/www/cgi-bin/gitweb/ when git wrapper
is installed at /usr/local/bin/git and the repositories (projects)
we want to display are under /home/local/scm, you can do
make GITWEB_PROJECTROOT="/home/local/scm" \
GITWEB_JS="/gitweb/gitweb.js" \
GITWEB_CSS="/gitweb/gitweb.css" \
GITWEB_LOGO="/gitweb/git-logo.png" \
GITWEB_FAVICON="/gitweb/git-favicon.png" \
bindir=/usr/local/bin \
gitweb
cp -fv ~/git/gitweb/gitweb.{cgi,js,css} \
~/git/gitweb/git-{favicon,logo}.png \
/var/www/cgi-bin/gitweb/
WTF with '~/git/gitweb'... ehh, that one is mine, I guess...
So additional step would be
cp -fvR gitweb/lib /var/www/cgi-bin/ ;# as root
I hope that we could make installing gitweb as easy as
make webscriptdir=/var/www/cgi-bin/ \
gitweb-install
or in more complicated case (gitweb modules not installed in cgi-bin)
make webscriptdir=/var/www/cgi-bin/gitweb \
GITWEB_BASE="/gitweb/" \
GITWEBPERLLIB=/usr/local/lib/perl5 \
gitweb-install
or something like that (I do not know any standard for the name of build
configuration variable which tells where to install web aplication;
do you?)
>> 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.
Well, I would perhaps start simply with
gitweb.perl
lib/Gitweb.pm
We can modify file organization later; what's important is the build
infrastructure (even if it is instruction in gitweb/INSTALL).
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2010-04-19 10:43 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-15 4:30 GSoC 2010: "Integrated Web Client for git" proposal Christian Couder
2010-04-18 0:46 ` Jakub Narebski
2010-04-18 0:59 ` Petr Baudis
2010-04-18 1:24 ` Jakub Narebski
2010-04-18 2:12 ` Petr Baudis
2010-04-18 8:52 ` Pavan Kumar Sunkara
2010-04-18 21:22 ` Jakub Narebski
[not found] ` <w2pe72faaa81004182334xd6fc56d7o31420ca4af867cc2@mail.gmail.com>
2010-04-19 6:35 ` Pavan Kumar Sunkara
2010-04-19 17:00 ` Jakub Narebski
2010-04-19 17:55 ` Pavan Kumar Sunkara
2010-04-19 23:14 ` Jakub Narebski
2010-04-20 12:17 ` Pavan Kumar Sunkara
2010-04-18 22:31 ` Petr Baudis
2010-04-19 6:46 ` Pavan Kumar Sunkara
2010-04-19 6:50 ` Matthieu Moy
2010-04-19 7:23 ` Junio C Hamano
2010-04-19 7:38 ` Pavan Kumar Sunkara
2010-04-19 9:07 ` Petr Baudis
2010-04-19 12:27 ` Matthieu Moy
2010-04-19 12:57 ` Pavan Kumar Sunkara
2010-04-19 13:14 ` Matthieu Moy
2010-04-19 11:57 ` Petr Baudis
2010-04-19 18:10 ` Pavan Kumar Sunkara
2010-04-20 11:47 ` Petr Baudis
2010-04-18 17:50 ` Jakub Narebski
2010-04-18 19:56 ` Petr Baudis
2010-04-19 10:43 ` Jakub Narebski [this message]
2010-04-19 11:51 ` Petr Baudis
2010-04-19 18:03 ` Pavan Kumar Sunkara
2010-04-20 12:07 ` Petr Baudis
2010-04-20 18:14 ` Jakub Narebski
2010-04-21 20:49 ` Pavan Kumar Sunkara
2010-04-22 20:25 ` Petr Baudis
2010-04-22 21:15 ` Junio C Hamano
2010-04-23 7:10 ` Petr Baudis
2010-04-23 9:44 ` Junio C Hamano
2010-04-22 21:53 ` Pavan Kumar Sunkara
2010-04-23 5:27 ` Christian Couder
2010-04-23 5:42 ` Pavan Kumar Sunkara
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201004191243.24209.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=chriscool@tuxfamily.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=pasky@suse.cz \
--cc=pavan.sss1991@gmail.com \
--cc=sam@vilain.net \
--cc=schacon@gmail.com \
--cc=spearce@spearce.org \
--cc=srabbelier@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).