"John 'Warthog9' Hawley" <warthog9@xxxxxxxxxxxxxx> writes: > This is mostly a debugging tool, but it adds a small bit of information > to the footer: > > <!-- > Full URL: |http://localhost/gitweb-caching/gitweb.cgi?p=/project.git;a=summary| > URL Hash: |7a31cfb8a43f5643679eec88aa9d7981| > --> Nice idea. It helps with debugging and doesn't introduce information leakage. Note that in my rewrite there would be *three* pieces of information, not two. Namely: Full URL: |http://localhost/gitweb-caching/gitweb.cgi/project.git| Key: |http://localhost/gitweb-caching/gitweb.cgi?p=/project.git;a=summary| Key hash: |7a31cfb8a43f5643679eec88aa9d7981| > > The first bit tells you what the url that generated the page actually was, the second is > the hash used to store the file with the first two characters being used as the directory: > > <cachedir>/7a/31cfb8a43f5643679eec88aa9d7981 Isn't it <cachedir>/7a/7a31cfb8a43f5643679eec88aa9d7981 in your series? > > Also useful for greping through the existing cache and finding files with unique paths that > you may want to explicitly flush. Though probably better 'cache_admin' page would be ultimately best solution, see proof of concept in [RFC PATCHv6 24/24] gitweb: Add beginnings of cache administration page (proof of concept) http://thread.gmane.org/gmane.comp.version-control.git/163052/focus=163051 http://repo.or.cz/w/git/jnareb-git.git/commitdiff/aa9fd77ff206eae8838fdde626d2afea563f9f75 > > Signed-off-by: John 'Warthog9' Hawley <warthog9@xxxxxxxxxxxxxx> > --- > gitweb/gitweb.perl | 7 +++++++ > gitweb/lib/cache.pl | 4 ++-- > 2 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl > index e8c028b..7f8292e 100755 > --- a/gitweb/gitweb.perl > +++ b/gitweb/gitweb.perl > @@ -303,6 +303,9 @@ our $fullhashpath = *STDOUT; > our $fullhashbinpath = *STDOUT; > our $fullhashbinpathfinal = *STDOUT; > > +our $full_url; > +our $urlhash; > + > # configuration for 'highlight' (http://www.andre-simon.de/) > # match by basename > our %highlight_basename = ( > @@ -3663,6 +3666,10 @@ sub git_footer_html { > > print "<div class=\"page_footer\">\n"; > print "<div class=\"cachetime\">Cache Last Updated: ". gmtime( time ) ." GMT</div>\n"; > + print "<!--\n". > + " Full URL: |$full_url|\n". > + " URL Hash: |$urlhash|\n". > + "-->\n" if ($cache_enable); Don't you need to esc_html on it? $full_url can contain ' -->', and what you would do then? > if (defined $project) { > my $descr = git_get_project_description($project); > if (defined $descr) { > diff --git a/gitweb/lib/cache.pl b/gitweb/lib/cache.pl > index fafc028..63dbe9e 100644 > --- a/gitweb/lib/cache.pl > +++ b/gitweb/lib/cache.pl > @@ -30,8 +30,8 @@ sub cache_fetch { > print "Cache directory created successfully\n"; > } > > - our $full_url = "$my_url?". $ENV{'QUERY_STRING'}; Note that $my_url is $cgi->url(), which does not include path_info. > - our $urlhash = md5_hex($full_url); > + $full_url = "$my_url?". $ENV{'QUERY_STRING'}; > + $urlhash = md5_hex($full_url); > our $fullhashdir = "$cachedir/". substr( $urlhash, 0, 2) ."/"; > > eval { mkpath( $fullhashdir, 0, 0777 ) }; > -- > 1.7.2.3 Looks quite nice. -- Jakub Narebski Poland ShadeHawk on #git -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html