From: Jakub Narebski <jnareb@gmail.com>
To: Martin Koegler <mkoegler@auto.tuwien.ac.at>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] gitweb: support filename prefix in git_patchset_body
Date: Mon, 26 Mar 2007 18:12:18 +0100 [thread overview]
Message-ID: <200703261912.18549.jnareb@gmail.com> (raw)
In-Reply-To: <11748548622060-git-send-email-mkoegler@auto.tuwien.ac.at>
On Sun, Mar 25, 2007, Martin Koegler wrote:
> git_treediff supports comparing subdirectories. As the output of
> git-difftree is missing the path to the compared directories,
> the links in the output would be wrong.
>
> The patch adds two new parameters to add the missing path prefix.
Wouldn't it be better to concatenate the two "path prefix" patches
together? They are about the same thing.
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index 4c371b2..4195b1a 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -2372,7 +2372,7 @@ sub git_difftree_body {
> }
>
> sub git_patchset_body {
> - my ($fd, $difftree, $hash, $hash_parent) = @_;
> + my ($fd, $difftree, $hash, $hash_parent, $file_name, $file_parent) = @_;
>
> my $patch_idx = 0;
> my $patch_line;
I'd rather use $from_prefix, $to_prefix here, or $basedif_name,
$basedir_parent, or $dir_name, $dir_parent (my preference is to
$from_prefix, $to_prefix variables).
> @@ -2380,6 +2380,9 @@ sub git_patchset_body {
> my $diffinfo;
> my (%from, %to);
>
> + $file_name = (!defined $file_name)?"":($file_name."/");
> + $file_parent = (!defined $file_parent)?"":($file_parent."/");
> +
> print "<div class=\"patchset\">\n";
>
> # skip to first patch
Minor nit: I'd rather write
+ $from_prefix = !defined $from_prefix ? '' : $from_prefix.'/';
+ $to_prefix = !defined $to_prefix ? '' : $to_prefix . '/';
+ $to_prefix ||= $from_prefix; # to allow to pass common prefix once
+
or something like that, or just modify $from{'file'} and $to{'file'}
$from{'file'} = (!defined $from_prefix ? '' : $from_prefix.'/') . $from{'file'};
$to{'file'} = (!defined $to_prefix ? '' : $to_prefix . '/') . $to{'file'};
just after setting $from{'file'} and $to{'file'}, although the second
solution would additionally add prefix to the shown patch body itself.
> @@ -2439,14 +2442,14 @@ sub git_patchset_body {
> if ($diffinfo->{'status'} ne "A") { # not new (added) file
> $from{'href'} = href(action=>"blob", hash_base=>$hash_parent,
> hash=>$diffinfo->{'from_id'},
> - file_name=>$from{'file'});
> + file_name=>$file_parent.$from{'file'});
> } else {
> delete $from{'href'};
> }
> if ($diffinfo->{'status'} ne "D") { # not deleted file
> $to{'href'} = href(action=>"blob", hash_base=>$hash,
> hash=>$diffinfo->{'to_id'},
> - file_name=>$to{'file'});
> + file_name=>$file_name.$to{'file'});
> } else {
> delete $to{'href'};
> }
Another solution would be to not add additional parameters to
git_difftree_body and git_patchset_body subroutines (although it is nice
touch towards completeness), but modify %diffinfo in the caller, but this
would change also patch contents (in from-file / to-file diff header, etc.)
which might not be a good thing.
I'm not sure if we should not add information somewhere that paths are
prefixed/shortened, but this might be left for later patch.
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2007-03-26 17:11 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-25 20:34 [PATCH] gitweb: show no difference message Martin Koegler
2007-03-25 20:34 ` [PATCH] gitweb: Support comparing blobs with different names Martin Koegler
2007-03-25 20:34 ` [PATCH] gitweb: link base commit (hpb) to blobdiff output Martin Koegler
2007-03-25 20:34 ` [PATCH] gitweb: support filename prefix in git_patchset_body Martin Koegler
2007-03-25 20:34 ` [PATCH] gitweb: support filename prefix in git_difftree_body Martin Koegler
2007-03-25 20:34 ` [PATCH] gitweb: Add treediff Martin Koegler
2007-03-26 17:12 ` Jakub Narebski
2007-03-26 21:05 ` Martin Koegler
2007-03-27 1:15 ` Jakub Narebski
2007-03-26 17:12 ` Jakub Narebski [this message]
2007-03-26 20:55 ` [PATCH] gitweb: support filename prefix in git_patchset_body Martin Koegler
2007-03-27 1:07 ` Jakub Narebski
2007-03-26 17:12 ` [PATCH] gitweb: Support comparing blobs (files) with different names Jakub Narebski
2007-03-26 20:41 ` Martin Koegler
2007-03-27 0:56 ` Jakub Narebski
2007-03-27 19:56 ` Martin Koegler
2007-03-27 23:58 ` Jakub Narebski
2007-03-28 21:03 ` Martin Koegler
2007-03-30 8:48 ` Jakub Narebski
2007-03-30 23:55 ` Jakub Narebski
2007-03-31 9:18 ` Martin Koegler
2007-03-31 16:16 ` Jakub Narebski
[not found] ` <7vmz1t6oe2.fsf@assigned-by-dhcp.cox.net>
2007-04-03 14:57 ` Jakub Narebski
2007-04-04 21:27 ` Jakub Narebski
2007-04-05 10:38 ` Junio C Hamano
2007-03-31 14:52 ` [PATCH] gitweb: Fix bug in "blobdiff" view for split (e.g. file to symlink) patches Jakub Narebski
2007-03-26 17:11 ` [PATCH] gitweb: show no difference message Jakub Narebski
2007-03-26 21:01 ` 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=200703261912.18549.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
--cc=mkoegler@auto.tuwien.ac.at \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.