From: Jakub Narebski <jnareb@gmail.com>
To: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Cc: git@vger.kernel.org, Petr Baudis <pasky@ucw.cz>
Subject: Re: [PATCH] gitweb: ref markers link to named shortlogs
Date: Thu, 21 Aug 2008 23:32:05 +0200 [thread overview]
Message-ID: <200808212332.07095.jnareb@gmail.com> (raw)
In-Reply-To: <1219341860-4913-1-git-send-email-giuseppe.bilotta@gmail.com>
On Thu, 21 Aug 2008, Giuseppe Bilotta wrote:
> This patch turns ref markers for tags and heads into links to
> appropriate views for the ref name. Appropriate changes are made in the
> CSS to prevent ref markers to be annoyingly blue and underlined.
>
> For all git ref types it's assumed that the preferred view is named like
> the ref type itself. For commits, we map the view to shortlog.
NAK.
It is a good idea, but not so good solution.
> --- a/gitweb/gitweb.css
> +++ b/gitweb/gitweb.css
> +span.refs span a {
> + text-decoration: none;
> + color: inherit;
> +}
Possible improvement:
We would probably want to make this link discoverable, by adding
underline on :hover, like for other "hidden links" in gitweb (for
example in commitdiff view).
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index 90cd99b..a12ce87 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -1093,10 +1093,14 @@ sub format_log_line_html {
> sub format_ref_marker {
> my ($refs, $id) = @_;
> my $markers = '';
> + my %view = (
> + "commit" => "shortlog",
> + );
>
> if (defined $refs->{$id}) {
> foreach my $ref (@{$refs->{$id}}) {
> my ($type, $name) = qw();
> + my $git_type = git_get_type($ref);
> # e.g. tags/v2.6.11 or heads/next
> if ($ref =~ m!^(.*?)s?/(.*)$!) {
> $type = $1;
git_get_type calls 'git cat-file -t', so for each ref shown you make
*additional call* to git command (additional fork). Not good, especially
that you can get information if a ref is a tag (indirect reference)
or not one can get from within git_get_references; which in turn
uses "git show-refs --dereference" and used to use either
"git peek-remote ." or ".git/info/refs" file. If there is <name>^{},
then <name> is indirect reference: is a tag.
As we display ref markers only for log-like views, marker can be tag
or can be "lightweight reference" and be only a commit (in theory
we could show ref markers also for tree and blob items, but it is not
important now).
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2008-08-21 21:32 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-21 18:04 [PATCH] gitweb: ref markers link to named shortlogs Giuseppe Bilotta
2008-08-21 21:32 ` Jakub Narebski [this message]
2008-08-22 7:21 ` Giuseppe Bilotta
2008-08-22 8:49 ` Jakub Narebski
[not found] ` <cb7bb73a0808220231w37d2341eic56cabb595399f68@mail.gmail.com>
2008-08-22 10:56 ` Jakub Narebski
2008-08-22 12:34 ` Giuseppe Bilotta
2008-08-22 12:39 ` [PATCH v4] " Giuseppe Bilotta
2008-08-22 13:01 ` Jakub Narebski
2008-08-22 13:20 ` Giuseppe Bilotta
2008-08-22 13:42 ` Jakub Narebski
2008-08-22 14:03 ` Giuseppe Bilotta
2008-08-22 13:29 ` [PATCH v5] " Giuseppe Bilotta
2008-08-24 23:53 ` Jakub Narebski
2008-08-25 2:05 ` Miklos Vajna
2008-08-25 2:44 ` Jakub Narebski
2008-08-25 4:11 ` Junio C Hamano
2008-08-25 18:42 ` Jakub Narebski
2008-08-25 19:48 ` Junio C Hamano
2008-08-26 12:16 ` [PATCH v6] " Giuseppe Bilotta
2008-08-26 13:09 ` [PATCH v7] " Giuseppe Bilotta
2008-08-22 8:03 ` [PATCHv3] " Giuseppe Bilotta
2008-08-24 19:30 ` [PATCH] " Lea Wiemann
2008-08-24 19:41 ` Giuseppe Bilotta
2008-08-24 20:37 ` Jakub Narebski
2008-08-25 23:28 ` Giuseppe Bilotta
2008-08-26 8:15 ` Jakub Narebski
2008-08-26 10:58 ` Giuseppe Bilotta
2008-08-26 11:49 ` Jakub Narebski
2008-08-26 12:29 ` Giuseppe Bilotta
2008-08-27 18:36 ` Giuseppe Bilotta
2008-08-28 1:43 ` Lea Wiemann
2008-08-28 6:26 ` Giuseppe Bilotta
2008-08-28 6:48 ` Jakub Narebski
-- strict thread matches above, loose matches on Subject: below --
2008-08-02 15:39 Giuseppe Bilotta
2008-08-03 12:03 ` Petr Baudis
2008-08-03 13:14 ` Giuseppe Bilotta
2008-08-03 13:20 ` Petr Baudis
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=200808212332.07095.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
--cc=giuseppe.bilotta@gmail.com \
--cc=pasky@ucw.cz \
/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.