From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: Michael J Gruber <git@drmicha.warpmail.net>,
Michal Hocko <mhocko@suse.cz>,
git@vger.kernel.org
Subject: Re: git describe --contains doesn't work properly for a commit
Date: Wed, 04 Mar 2015 12:41:57 -0800 [thread overview]
Message-ID: <xmqq7fuw8pgq.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <20150304180529.GA28074@peff.net> (Jeff King's message of "Wed, 4 Mar 2015 13:05:29 -0500")
Jeff King <peff@peff.net> writes:
> On Wed, Mar 04, 2015 at 04:06:17PM +0100, Michael J Gruber wrote:
>
>> Complexity: Was that due to replace refs? Other than that, it seemed to
>> be simple: max(parent generation numbers)+1.
>
> Calculating them is simple. Caching and storage is the bigger question.
Yes, also having to handle the ones whose generation numbers haven't
been computed yet adds to the complexity.
This one, and $gmane/264101, are a few instances of this known issue
raised here recently. I have been wondering if we can do something
along the following (these are not alternatives) as a cheaper
workaround:
(1) Introduce '--skewed-timestamps[=(allow|warn|reject)' to all
commands that create new commit objects. If the committer
timestamp being used is older than any of the parent commits,
"warn" or "reject" depending on the setting.
Make 'reject' the default for commands that are purely local
(i.e. recording your own progress by cherry-picking,
committing, rebasing, reverting, etc.) and 'warn' the default
for commands that merge other peoples' history that you may
lack the power to rewind and correct (e.g. 'pull' and 'merge'
from remote tracking refs).
(2) Compute a bitmap whose timestamps are suspect when we pack to
mark commits. When revision.c:limit_list() tries to see if
there still are interesting commits, an UNINTERESTING commit
marked as such shouldn't be counted as "not interesting because
it is old enough". Use the same hint in the walker used in
"describe --contains".
next prev parent reply other threads:[~2015-03-04 20:42 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-26 13:35 git describe --contains doesn't work properly for a commit Michal Hocko
2015-02-26 14:23 ` Michal Hocko
2015-03-04 10:54 ` Jeff King
2015-03-04 15:06 ` Michael J Gruber
2015-03-04 18:05 ` Jeff King
2015-03-04 20:41 ` Junio C Hamano [this message]
2015-03-04 22:05 ` Mike Hommey
2015-03-05 5:12 ` Jeff King
2015-03-05 6:00 ` 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=xmqq7fuw8pgq.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=git@drmicha.warpmail.net \
--cc=git@vger.kernel.org \
--cc=mhocko@suse.cz \
--cc=peff@peff.net \
/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