Subject: Re: What's cooking in git.git (topics)

From: Jakub Narebski <[email-masked]>
Date: Sun, 17 Feb 2008 05:52:45 -0800 (PST)

Junio C Hamano <[email-masked]> writes:

> ----------------------------------------------------------------
> [New Topics]
> 
> * lt/dirstat (Tue Feb 12 17:06:58 2008 -0800) 2 commits
>  - diff: make --dirstat binary-file safe
>  + Add "--dirstat" for some directory statistics
> 
> The first one already in 'next' is the latest toy Linus showed
> off in his 2.6.25-rc2 announcement.  The other one on top is a
> rework to make it work more sensibly with a tree with binary
> contents.

Is this new one bytecount based rather than lines-changed based also
for text files?
 
> * js/run-command (Sat Feb 16 18:36:39 2008 +0100) 2 commits
>  - start_command(), if .in/.out > 0, closes file descriptors, not the
>    callers
>  - start_command(), .in/.out/.err = -1: Callers must close the file
>    descriptor

...and request for API documentation...
 
> * db/checkout (Sat Feb 16 17:17:09 2008 -0800) 12 commits
 
> Checkout rewritten in C.

Nice.
 
> ----------------------------------------------------------------
> [On Hold]
> 
> * br/gitweb (Fri Feb 8 14:38:04 2008 -0200) 1 commit
>  + gitweb: Use the config file to set repository owner's name.
> 
> On hold per Jakub's reluctance.

It was tested by the author (Bruno Ribas) that it doesn't affect
performance, although IMHO for a bit superficial test (1000 identical
repositories, gitweb run as a script, dd or git-for-each-ref as an
additional load).  I'd like to heard from larger gitweb deployments
how it works with a webserver (ApacheBench or similar), with a real
set of repositories, and perhaps in real load conditions... of course
on test gitweb, not on live one.

I also wonder if it would make sense to make it a feature,
i.e. instead of

+       if (!defined $owner){
+               $owner = git_get_project_config('owner');
+       }
        if (!defined $owner) {

have

+       if (!defined $owner){
+               $owner = gitweb_check_feature('owner');
+       }
        if (!defined $owner) {

with the 'owner' feature set as below:

+	'owner' => {
+		'sub' => \&feature_repo_owner,
+		'override' => 1,
+		'default' => [undef]},

and some implementation of feature_repo_owner.  This way it would be
possible to turn off checking for gitweb.owner in repo config from
withing gitweb config.  But this migh be an overingeneering...

I'd like to wait for a bit for comments, and if there wouldn't be any
negative ones, merge it in... and wait who screams ;-)
 
> * nd/dashless (Wed Nov 28 23:21:57 2007 +0700) 1 commit
>  - Move all dashed-form commands to libexecdir
>
> Scheduled for 1.6.0.  I am not sure if we should merge this to
> 'next' before 1.5.5.  Most active people will be on 'next' and
> if we have this there, the resulting 1.5.5 release might end up
> having issues that come from differences this one introduces.

What about making separate libexecdir and moving _helper_ scripts
(*--*) there first?

-- 
Jakub Narebski
Poland
ShadeHawk on #git