<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/gitweb/gitweb.perl, branch v1.5.5.6</title>
<subtitle>Fork of git SCM with my patches.</subtitle>
<id>http://git.kilabit.info/git/atom?h=v1.5.5.6</id>
<link rel='self' href='http://git.kilabit.info/git/atom?h=v1.5.5.6'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/'/>
<updated>2008-12-17T06:08:28Z</updated>
<entry>
<title>GIT 1.5.5.6</title>
<updated>2008-12-17T06:08:28Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-12-17T06:08:22Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=f23ffbe890d36e277f02d4a84c2b52de3a4e3173'/>
<id>urn:sha1:f23ffbe890d36e277f02d4a84c2b52de3a4e3173</id>
<content type='text'>
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>gitweb: do not run "git diff" that is Porcelain</title>
<updated>2008-12-17T05:54:44Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-12-17T03:42:02Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=dfff4b7aa42de7e7d58caeebe2c6128449f09b76'/>
<id>urn:sha1:dfff4b7aa42de7e7d58caeebe2c6128449f09b76</id>
<content type='text'>
Jakub says that legacy-style URI to view two blob differences are never
generated since 1.4.3.  This codepath runs "git diff" Porcelain from the
gitweb, which is a no-no.  It can trigger diff.external command that is
specified in the configuration file of the repository being viewed.

This patch applies to v1.5.4 and later.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>gitweb: only display "next" links in logs if there is a next page</title>
<updated>2008-05-28T05:27:30Z</updated>
<author>
<name>Lea Wiemann</name>
<email>lewiemann@gmail.com</email>
</author>
<published>2008-05-27T23:25:42Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=1f684dc01c6a45341e8e47d8393f0ef66fdfc398'/>
<id>urn:sha1:1f684dc01c6a45341e8e47d8393f0ef66fdfc398</id>
<content type='text'>
There was a bug in the implementation of the "next" links in
format_paging_nav (for log and shortlog), which caused the next links
to always be displayed, even if there is no next page.  This fixes it.

Signed-off-by: Lea Wiemann &lt;LeWiemann@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Escape project names before creating pathinfo URLs</title>
<updated>2008-04-22T06:30:55Z</updated>
<author>
<name>martin f. krafft</name>
<email>madduck@madduck.net</email>
</author>
<published>2008-04-20T21:23:38Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=85d17a123ba59b90744e311e40f80fd8838fbdc5'/>
<id>urn:sha1:85d17a123ba59b90744e311e40f80fd8838fbdc5</id>
<content type='text'>
If a project name contains special URL characters like +, gitweb's links
break in subtle ways. The solution is to pass the project name through
esc_url() and using the return value.

Signed-off-by: martin f. krafft &lt;madduck@madduck.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Escape project name in regexp</title>
<updated>2008-04-22T06:30:11Z</updated>
<author>
<name>martin f. krafft</name>
<email>madduck@madduck.net</email>
</author>
<published>2008-04-20T21:03:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=bbd4c307fc315847c975efd4c9aa32eb0e8470fb'/>
<id>urn:sha1:bbd4c307fc315847c975efd4c9aa32eb0e8470fb</id>
<content type='text'>
The project name, when used in a regular expression, needs to be quoted
properly, so that stuff like '++' in the project name does not cause
Perl to barf.

Related info: http://bugs.debian.org/476076
This is a bug in Perl's CGI.pm, but fixing that exposed a similar bug in
gitweb.perl

Signed-off-by: martin f. krafft &lt;madduck@madduck.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>gitweb: Fix 'history' view for deleted files with history</title>
<updated>2008-04-19T05:10:38Z</updated>
<author>
<name>Jakub Narebski</name>
<email>jnareb@gmail.com</email>
</author>
<published>2008-04-13T12:12:15Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=5634cf24766f8700804ca55f5e8567c88538a5b0'/>
<id>urn:sha1:5634cf24766f8700804ca55f5e8567c88538a5b0</id>
<content type='text'>
When asked for history of a file which is not present in given branch
("HEAD", i.e. current branch, or given by transient $hash_hase ('hb')
parameter), but is present deeper in the history (meaning that "git
rev-list --full-history $hash_base -- $file_name" is not empty), and
there is no $hash ('h') parameter set for a file, gitweb would spew
multiple of "Use of uninitialized value" warnings, and some links
would be missing.  This commit fixes this bug.

This bug occurs in the rare cases when "git log -- &lt;path&gt;" is empty
and "git log --full-history -- &lt;path&gt;" is not, or to be more exact in
the cases when full-history starts later than given branch.  It can
happen if you are using handcrafted gitwb URL, or if you follow
generic 'history' link or bookmark for a file which got deleted.

Gitweb tried to get file type ('tree', or 'blob', or even 'commit')
from the commit we start searching from (where the file was not
present), and not among found commits.  This was the cause of "Use of
uninitialized value" warnings.

This commit also add tests for such situation to t9500 test.

While we are it, return HTTP error if there is _no_ history; it means
that file or directory was not found (for given branch).  Also error
out if type of item could not be found: it should not happen now, but
better be sure.

Signed-off-by: Jakub Narebski &lt;jnareb@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Revert "gitweb: Add 'status_str' to parse_difftree_raw_line output"</title>
<updated>2008-04-05T23:30:49Z</updated>
<author>
<name>Jakub Narebski</name>
<email>jnareb@gmail.com</email>
</author>
<published>2008-04-05T20:13:24Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=4ed4a347168d6714c6beca7d7702473229c9d8f1'/>
<id>urn:sha1:4ed4a347168d6714c6beca7d7702473229c9d8f1</id>
<content type='text'>
This reverts commit 6aa6f92fda47cc4ee5f599895e8a5a327fb6f9ab.

It caused is_deleted() subroutine to output warnings when dealing with
old, legacy gitweb blobdiff URLs without either 'hb' or 'hpb'
parameters.

This fixes http://bugs.debian.org/469083

Signed-off-by: Jakub Narebski &lt;jnareb@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>gitweb: Fix bug in href(..., -replay=&gt;1) when using 'pathinfo' form</title>
<updated>2008-03-12T16:43:08Z</updated>
<author>
<name>Jakub Narebski</name>
<email>jnareb@gmail.com</email>
</author>
<published>2008-02-14T08:22:30Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=7863c612f402268b5978683f44adad3a7a867613'/>
<id>urn:sha1:7863c612f402268b5978683f44adad3a7a867613</id>
<content type='text'>
URLs generated by href(..., -replay=&gt;1) (which includes 'next page'
links and alternate view links) didn't set project info correctly
when current page URL is in pathinfo form.

This resulted in broken links such like:

  http://www.example.com/w/ARRAY(0x85a5318)?a=shortlog;pg=1

if the 'pathinfo' feature was used, or

  http://www.example.com/w/?a=shortlog;pg=1

if it wasn't, instead of correct:

  http://www.example.com/w/project.git?a=shortlog;pg=1

This was caused by the fact that href() always replays params in the
arrayref form, were they multivalued or singlevalued, and the code
dealing with 'pathinfo' feature couldn't deal with $params{'project'}
being arrayref.

Setting $params{'project'} is moved before replaying params; this
ensures that 'project' parameter is processed correctly.

Noticed-by: Peter Oberndorfer &lt;kumbayo84@arcor.de&gt;
Noticed-by: Wincent Colaiuta &lt;win@wincent.com&gt;
Signed-off-by: Jakub Narebski &lt;jnareb@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>gitweb: Fix and simplify pickaxe search</title>
<updated>2008-03-05T21:38:34Z</updated>
<author>
<name>Jakub Narebski</name>
<email>jnareb@gmail.com</email>
</author>
<published>2008-03-05T08:31:55Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=c582abae46725504cee9ff91816c979989632f07'/>
<id>urn:sha1:c582abae46725504cee9ff91816c979989632f07</id>
<content type='text'>
Instead of using "git-rev-list | git-diff-tree" pipeline for pickaxe
search, use git-log with appropriate options.  Besides reducing number
of forks by one, this allows to use list form of open, which in turn
allow to not worry about quoting arguments and to avoid forking shell.

The options to git-log were chosen to reduce required changes in
pickaxe git command output parsing; gitweb still parses returned
commits one by one.

Parsing "pickaxe" output is simplified: git_search now reuses
parse_difftree_raw_line and writes affected files as they arrive using
the fact that commit name goes always before [raw] diff.

While at it long bug of pickaxe search was fixed, namely that the last
commit found by pickaxe search was never shown.

Signed-off-by: Jakub Narebski &lt;jnareb@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>gitweb: Mark first match when searching commit messages</title>
<updated>2008-03-02T23:26:31Z</updated>
<author>
<name>Jakub Narebski</name>
<email>jnareb@gmail.com</email>
</author>
<published>2008-03-02T15:57:14Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=6dfbb304be5a5e260321c5f47626582dbe2c62f0'/>
<id>urn:sha1:6dfbb304be5a5e260321c5f47626582dbe2c62f0</id>
<content type='text'>
Due to greediness of a pattern, gitweb used to mark (show) last match
in line, if there are more than one match in line. Now it shows first.
Showing all matches in a line would require further work.

Signed-off-by: Jakub Narebski &lt;jnareb@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
