From: Jakub Narebski <jnareb@gmail.com>
To: git@vger.kernel.org
Subject: Re: [PATCH 2/6] gitweb: Simplify git_diff_print
Date: Sun, 06 Aug 2006 12:22:48 +0200 [thread overview]
Message-ID: <eb4fs7$i7i$1@sea.gmane.org> (raw)
In-Reply-To: 7v8xm2b4g3.fsf@assigned-by-dhcp.cox.net
Junio C Hamano wrote:
> Jakub Narebski <jnareb@gmail.com> writes:
>
>> Copy to temporaty file more directly, not using temporary variable @file.
>> Use list form of open for diff invocation (we cannot use git-diff because
>> first it doesn't support -L/--label option, and we cannot generate diff
>> between /dev/null and blob given by it's sha1 identifier).
>>
>> Use "local $/ = undef;" for (temporary) slurp mode.
>>
>> Signed-off-by: Jakub Narebski <jnareb@gmail.com>
>
> I think this part of the gitweb code predates the git-diff
> support by the core level. If I recall correctly, back then we
> did not even have "git-diff-{tree,files,index}" when this part
> was written.
>
> I think you could use "git-diff $from $to" instead of using
> temporary files and running /usr/bin/diff on it with today's
> git. Which is a big win from both security and ease of
> administration point of view. Not having to write anything into
> temporary file from gitweb.cgi means you do not have to worry
> about stray gitweb process leaving temporary files dangling
> behind, for example.
If I remember gitweb code correctly, diff to /dev/null is called
_only_ in commitdiff, where we can use git-diff -p to generate patch
directly, instead of generating difftree and calling diff on entries.
Still it would be nice if git-diff could diff between blob and arbitrary
file on filesystem (including /dev/null), and acquired -L/--label option.
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
next prev parent reply other threads:[~2006-08-06 10:22 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-06 0:06 [PATCH 0/6] gitweb: Further refactoring Jakub Narebski
2006-08-06 0:08 ` [PATCH 1/6] gitweb: Refactor untabifying - converting tabs to spaces Jakub Narebski
2006-08-06 8:31 ` Matthias Lederhofer
2006-08-06 0:11 ` [PATCH 2/6] gitweb: Simplify git_diff_print Jakub Narebski
2006-08-06 9:26 ` Junio C Hamano
2006-08-06 10:22 ` Jakub Narebski [this message]
2006-08-06 0:13 ` [PATCH 3/6] gitweb: Remove unused parse_date invocation from git_shortlog_body Jakub Narebski
2006-08-06 0:13 ` [PATCH 4/6] gitweb: Make blob diff -p1 like commit diff Jakub Narebski
2006-08-06 0:14 ` [PATCH 5/6] gitweb: Refactor printing shortened title in git_shortlog_body and git_tags_body Jakub Narebski
2006-08-06 0:17 ` [PATCH 6/6] gitweb: Refactor git_history_body Jakub Narebski
2006-08-06 10:01 ` [PATCH 0/6] gitweb: Further refactoring Junio C Hamano
2006-08-06 10:52 ` 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='eb4fs7$i7i$1@sea.gmane.org' \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
/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).