Subject: Re: [PATCH] instaweb: use minified gitweb.js if available

From: Mark Rada <[email-masked]>
Date: Fri, 19 Mar 2010 10:07:53 -0400

On 10-03-19 3:36 AM, Johannes Sixt wrote:
> Mark Rada schrieb:
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -1551,12 +1551,12 @@ gitweb:
>>  	$(QUIET_SUBDIR0)gitweb $(QUIET_SUBDIR1) all
>>   ifdef JSMIN
>> -OTHER_PROGRAMS += gitweb/gitweb.cgi   gitweb/gitweb.min.js
>> -gitweb/gitweb.cgi: gitweb/gitweb.perl gitweb/gitweb.min.js
>> +GITWEB_JS=gitweb/gitweb.min.js
>>  else
>> -OTHER_PROGRAMS += gitweb/gitweb.cgi
>> -gitweb/gitweb.cgi: gitweb/gitweb.perl
>> +GITWEB_JS=gitweb/gitweb.js
>>  endif
>> +OTHER_PROGRAMS += gitweb/gitweb.cgi $(GITWEB_JS)
>> +gitweb/gitweb.cgi: gitweb/gitweb.perl $(GITWEB_PROGRAMS)
>>  	$(QUIET_SUBDIR0)gitweb $(QUIET_SUBDIR1) $(patsubst gitweb/%,%,$@)
>>   ifdef JSMIN
>> @@ -1574,12 +1574,13 @@ git-instaweb: git-instaweb.sh gitweb/gitweb.cgi gitweb/gitweb.css gitweb/gitweb.
>>  	    -e '/@@GITWEB_CGI@@/d' \
>>  	    -e '/@@GITWEB_CSS@@/r gitweb/gitweb.css' \
>>  	    -e '/@@GITWEB_CSS@@/d' \
>> -	    -e '/@@GITWEB_JS@@/r gitweb/gitweb.js' \
>> +	    -e '/@@GITWEB_JS@@/r $(GITWEB_JS)' \
>>  	    -e '/@@GITWEB_JS@@/d' \
>>  	    -e 's|@@PERL@@|$(PERL_PATH_SQ)|g' \
>>  	    $@.sh > $@+ && \
>>  	chmod +x $@+ && \
>> -	mv $@+ $@
>> +	mv $@+ $@ && \
>> +	sed -i '' -e 's/min\.js/js/' $@
> 
> sed -i is not portable. But do you need it at all? Can't you add this
> change to the -e list above?

Hmm, the reason I made the change in a separate command was that
the only place that min.js needed to be modified was in gitweb.cgi
and only after it has been copied into git-instaweb.

We want to leave the actual gitweb.cgi as using gitweb.min.js, but
the way instaweb creates the gitweb directory makes it create a
gitweb.js no matter what (this is a bug if you create a minified
gitweb.js because gitweb.cgi will look for a non-existant
gitweb.min.js).

I figured that the smallest solution was to just edit the copied
gitweb.cgi to use gitweb.js again, but since it is not portable I
will have to either have messier code to do the same thing or
make git-instaweb change the name of gitweb.js only in the case
that we are using a minified gitweb.js.

Since I see no advantage or disadvantage to either, I'll flip a
coin to decide this later on when I have some time.

>> --- a/git-instaweb.sh
>> +++ b/git-instaweb.sh
>> @@ -397,6 +397,7 @@ EOFGITWEB
>>  gitweb_js () {
>>  	cat > "$1" <<\EOFGITWEB
>>  @@GITWEB_JS@@
>> +
>>  EOFGITWEB
>>  }
>>  -- 1.7.0.1.300.gd855a
> 
> This new blank line is an accident, isn't it?

Nope, this new line is here because the minifier I used cut the
extra new line from the end of gitweb.js and then the EOFGITWEB
token ended up on the same line as gitweb.js.

> -- Hannes
> 
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Mark Rada (ferrous26)
[email-masked]