git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: demerphq <demerphq@gmail.com>
Cc: "J.H." <warthog19@eaglescrag.net>,
	Mark A Rada <marada@uwaterloo.ca>,
	git@vger.kernel.org, Petr Baudis <pasky@suse.cz>
Subject: Re: [PATCHv5] Add Gitweb support for XZ compressed snapshots
Date: Mon, 3 Aug 2009 01:25:51 +0200	[thread overview]
Message-ID: <200908030125.53534.jnareb@gmail.com> (raw)
In-Reply-To: <9b18b3110908010313x38991dffx3e4a2f2a5c5fff9f@mail.gmail.com>

On Sat, 1 Aug 2009, demerphq wrote:
> 2009/8/1 Jakub Narebski <jnareb@gmail.com>:
>> demerphq <demerphq@gmail.com> writes:
>>
>>> FWIW the perl project ripped out all the snapshot generation logic
>>> from gitweb, and replaced it with a tool that generates snapshots
>>> correctly for our requirements (if the build process needs additional
>>> files /currently/ git-archive does not support adding them), this
>>> includes a disk level cache for the snapshots since creating the tar,
>>> adding the additional files, then gziping is quite slow.
>>>
>>> If its interesting to people I can post it and the other changes here,
>>> although its not a "nice" change, as I literally ripped out the
>>> existing code.
>>
>> Do you mean gitweb serving http://perl5.git.perl.org/ ?
> 
> Yes. I updated it to a relatively recent version just the other week.

By the way, if you don't mind, how do you keep your changes on top
of changing target, i.e. on top of updating baseline to recent 
versions?

> 
>> Well, at least publish this version of gitweb somewhere (snapshot or
>> better git repository), and add it to the list of gitweb forks at
>> http://git.or.cz/gitwiki/Gitweb wiki page.
> 
> Sure, we have been discussing doing that recently.
> 
> I need to cleanup how I set up the repository for it tho.

O.K.

> 
> Also probably there are one or two patches that should be pushed back
> to you. 

What do those patches consist of?
 
>> Sidenote: snapshot support appeared, as far as I know, first at fork of
>> gitweb that had been used by XMMS2, but the snapshot was generated by
>> a separate snapshot.cgi script... written in Python.  (Now they use
>> stock (if old) gitweb, I think.)
> 
> Ah, I'm not generating it with a separate cgi script, I just replaced
> the call to git-archive to be a call to my own tool.

O.K.  

By the way, this is one of the only two places where we have to
use quote_command and 3-argument form of open, instead of list for of
magic open.  It is because of pipeline, piping git-archive output
into compressor.  The other such place is git_object, to redirect error
stream to /dev/null (to discard stderr).

I thought about replacing it by list form of open somewhat (you can
find it in git mailing list archive), but it is not easy.  And IPC::Run
is IMVHO a bit of overkill, especially for "minimal dependencies"
gitweb (perhaps for Git::Web?).

> 
>> P.S. Perhaps you or other Perl Mongers would be interested in creating
>> yet another git web interface, in Perl, but contrary to (current)
>> gitweb modular and using more of CPAN modules?  For example convert
>> SVN::Web or Insurrection (or other Perl module) from Subversion (or
>> other SCM) to Git (and rename it to Git::Web, or ???).
> 
> I think that there is some interest in doing that and likely over time
> there will be more. It has come up at least a few times in our
> discussion forums. I think you could easily make a public call for
> support on places like Perlmonks to get more action tho.

Thanks in advance.

> 
> A better git api toolset for perl would make things a lot easier.
> Especially an XS one.

Well, in the beginnings of Git.pm there was XS interface (to 
git-hash-object or git-cat-file), but it was dropped because it
used -fPIC, which is not portable enough for Git (this is not present
in perl/Git.pm history in git.git repository).  Git.pm was created
by Petr 'Pasky' Baudis, author of Cogito porcelain, and creator and
admin of repo.or.cz (and also creator of first Git homepage).  
But he is not a Perl hacker (correct me if I am wrong, Pasky); both
Cogito and repo.or.cz duct tape (under name of Girocco) are written
in bash, not in Perl.  Which can be seen for example by using 
Error::Simple in Git.pm...

Also I don't think that Pasky has time for maintaining Git.pm, 
nevermind modernizing it / adding new features.

There was another attempt to make Perl interface for Git, more 
object-oriented, by Lea Wiemann during GSoC 2008 project 'gitweb caching'.
You can see results in Lea repository at repo.or.cz[1], and also in 
git.kernel.org gitweb code[2].

[1]: http://repo.or.cz/w/git/gitweb-caching.git
[2]: http://git.kernel.org/?p=git/warthog9/gitweb.git
 
>>
>> P.P.S. Could you per chance post announcement of Git User's Survey 2009
>> on http://perl5.git.perl.org, just like it is done on http://repo.or.cz
>> and http://git.kernel.org?  TIA.
> 
> Sure.

Hmmm... I don't see "Git User's Survey 2009" announcement at 
http://perl5.git.perl.org/.  Neither at Planet Perl Iron Man, nor at
Perlsphere

-- 
Jakub Narebski

Git User's Survey 2009:
http://tinyurl.com/GitSurvey2009

  reply	other threads:[~2009-08-02 23:26 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-01  0:40 [PATCHv5] Add Gitweb support for XZ compressed snapshots Mark A Rada
2009-08-01  0:47 ` J.H.
2009-08-01  8:12   ` demerphq
2009-08-01  9:08     ` Jakub Narebski
2009-08-01 10:13       ` demerphq
2009-08-02 23:25         ` Jakub Narebski [this message]
2009-08-02 23:55           ` demerphq
2009-08-03  0:27             ` Jakub Narebski
     [not found]         ` <9b18b3110908010413w51e901dfk5a6f1666e5c3197f@mail.gmail.com>
2009-08-03 17:26           ` Working on gitweb (was: [PATCHv5] Add Gitweb support for XZ compressed snapshots) Jakub Narebski
2009-08-01  8:14   ` [PATCHv5] Add Gitweb support for XZ compressed snapshots Jakub Narebski

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=200908030125.53534.jnareb@gmail.com \
    --to=jnareb@gmail.com \
    --cc=demerphq@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=marada@uwaterloo.ca \
    --cc=pasky@suse.cz \
    --cc=warthog19@eaglescrag.net \
    /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).