git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
To: Jakub Narebski <jnareb@gmail.com>
Cc: Deskin Miller <deskinm@gmail.com>,
	git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCHv2 5/6] gitweb: last-modified time should be commiter, not  author
Date: Thu, 12 Feb 2009 10:52:06 +0100	[thread overview]
Message-ID: <cb7bb73a0902120152h7b3e0ac6w379bd9319712ea2b@mail.gmail.com> (raw)
In-Reply-To: <200902121007.29867.jnareb@gmail.com>

On Thu, Feb 12, 2009 at 10:07 AM, Jakub Narebski <jnareb@gmail.com> wrote:
> On Wed, 11 Feb 2009, Giuseppe Bilotta wrote:
>> On Wed, Feb 11, 2009 at 10:18 AM, Jakub Narebski <jnareb@gmail.com> wrote:

>>> Assuming that you have reflog enabled (yes, it is default now)...
>>> So you would have to provide fallback in the case there is no reflog.
>>>
>>> BTW. "git reflog" is porcelain; it would be better to parse reflog
>>> directly, I think.
>>
>> Does disabling reflog remove old reflogs? IOW, can I check if reflog
>> is enabled just by opening the reflog file and assuming reflog isn't
>> enabled if it's not there? Falling back to the commit date would still
>> work decently.
>
> You can disable reflog by setting core.logAllRefUpdates to false...
> which of course do not remove reflog.  But checking for this config
> variable in gitweb shouldn't be too hard, although you would need
> to somehow change assumption that we are interested only in ^gitweb\.
> section of config.
>
> There is other side of this issue: reflog is expired, so you can
> have empty reflog if branch was updated long time ago.

I'm thinking that what I could do (that should always work as
expected) is to consider as 'last modified' the most recent date
between the commit date and the reflog date (if the reflog is found).
This basically implements an 'automatic' fallback for
disabled/obsolete/expired reflog to commit date. (Of course, assuming
the last commit doesn't suffer from a ridicously long clockskew in the
future.)

>> Since we're only interested in the last reflog date, what we can do is
>> to read the last line and get the unix time which is held two places
>> before the tab separating the metadata from the log message. Correct?
>
> Almost correct.  Some tools (old StGit for example) didn't provide
> reflog message, and with empty message they forgot to append TAB
> separator.  So you would have to provide for legacy
>
>  <old sha-1> <new-sha-1> <committer> <timestamp> <timezone>
>
> instead of correct (for empty reflog message)
>
>  <old sha-1> <new-sha-1> <committer> <timestamp> <timezone> TAB

That's the easy part: split at TAB, get the first array entry, split
at spaces, get the last two. But thanks for making me aware of the
possibly missing TAB

> P.S. It is a pity that due to packed refs stat-ing branch tip file
> $GIT_DIR/refs/heads/<branch> is not enough...

Yeah, that's what the other rbot developer suggested initially (then I
found out that cloning the repo was enough to NOT have branch heads).

-- 
Giuseppe "Oblomov" Bilotta

  reply	other threads:[~2009-02-12  9:53 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-26 11:50 [PATCHv2 0/6] gitweb: feed metadata enhancements Giuseppe Bilotta
2009-01-26 11:50 ` [PATCHv2 1/6] gitweb: channel image in rss feed Giuseppe Bilotta
2009-01-26 11:50   ` [PATCHv2 2/6] gitweb: feed generator metadata Giuseppe Bilotta
2009-01-26 11:50     ` [PATCHv2 3/6] gitweb: rss feed managingEditor Giuseppe Bilotta
2009-01-26 11:50       ` [PATCHv2 4/6] gitweb: rss channel date Giuseppe Bilotta
2009-01-26 11:50         ` [PATCHv2 5/6] gitweb: last-modified time should be commiter, not author Giuseppe Bilotta
2009-01-26 11:50           ` [PATCHv2 6/6] gitweb: check if-modified-since for feeds Giuseppe Bilotta
2009-02-05  2:03             ` Jakub Narebski
2009-02-06 11:19               ` Giuseppe Bilotta
2009-02-04 23:38           ` [PATCHv2 5/6] gitweb: last-modified time should be commiter, not author Jakub Narebski
2009-02-06 11:14             ` Giuseppe Bilotta
2009-02-06 21:12               ` Jakub Narebski
2009-02-06 23:00                 ` Giuseppe Bilotta
2009-02-11  3:10                   ` Deskin Miller
2009-02-11  9:02                     ` Giuseppe Bilotta
2009-02-11  9:18                       ` Jakub Narebski
2009-02-11  9:54                         ` Giuseppe Bilotta
2009-02-12  4:50                           ` Deskin Miller
2009-02-12  9:07                           ` Jakub Narebski
2009-02-12  9:52                             ` Giuseppe Bilotta [this message]
2009-02-12 10:11                               ` Jakub Narebski
2009-02-12 11:23                                 ` Giuseppe Bilotta
2009-02-04 23:24         ` [PATCHv2 4/6] gitweb: rss channel date Jakub Narebski
2009-02-06 11:10           ` Giuseppe Bilotta
2009-02-04 23:19       ` [PATCHv2 3/6] gitweb: rss feed managingEditor Jakub Narebski
2009-02-06 11:03         ` Giuseppe Bilotta
2009-02-04 23:15     ` [PATCHv2 2/6] gitweb: feed generator metadata Jakub Narebski
2009-02-06 11:01       ` Giuseppe Bilotta
2009-02-06 11:21         ` Jakub Narebski
2009-02-04 22:56   ` [PATCHv2 1/6] gitweb: channel image in rss feed Jakub Narebski
2009-02-06 10:55     ` Giuseppe Bilotta
2009-01-28 20:58 ` [PATCHv2 0/6] gitweb: feed metadata enhancements Junio C Hamano
2009-01-28 21:48   ` Jakub Narebski
2009-01-28 21:57   ` Giuseppe Bilotta
2009-01-28 22:03     ` Junio C Hamano
2009-02-06 22:42 ` Jakub Narebski
2009-02-07  0:24   ` Junio C Hamano

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=cb7bb73a0902120152h7b3e0ac6w379bd9319712ea2b@mail.gmail.com \
    --to=giuseppe.bilotta@gmail.com \
    --cc=deskinm@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jnareb@gmail.com \
    /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).