Re: [PATCH] find_unique_abbrev(): honor caller-supplied "len" better

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2011-03-11 (ê), 14:45 -0800, Junio C Hamano:
> Junio C Hamano <gitster@xxxxxxxxx> writes:
> 
> > So let's scrap the abbrevguard thing.  I somehow thought that I already
> > took your "make DEFAULT_ABBREV tweakable" patch, but apparently I didn't.
> > That one is the real fix to the issue of futureproofing.
> 
> In return for a free education last night, I now owe you your patch from
> October last year, resurrected from the list archive, and here it is.
> 
> With a forged sign-off from you, as I know that everything you write is
> supposed to be open source.
> 
>  - I do not think making minimum configurable is worth it, but I left it in
>    (there is no UI to tweak it anyway).
> 
>  - I somewhat tweaked "describe" and "describe --abbrev" implementation.
>    OPT__ABBREV() uses DEFAULT_ABBREV in its callback, so we need to read
>    from the configuration before calling parse_options().  As it won't
>    make any sense to call "git describe" outside repository where you
>    cannot get to your configuration, I think it is safe to add a call to
>    git_config() in this codepath. Other users of OPT__ABBREV() may need to
>    be audited.
> 
> By the way, I've already reverted the abbrevguard thing away.
> 
> -- >8 --
> From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Date: Thu, 28 Oct 2010 11:28:04 -0700
> Subject: [PATCH] Make the default abbrev length configurable
> 
> The default of 7 comes from fairly early in git development, when
> seven hex digits was a lot (it covers about 250+ million hash
> values). Back then I thought that 65k revisions was a lot (it was what
> we were about to hit in BK), and each revision tends to be about 5-10
> new objects or so, so a million objects was a big number.
> 
> These days, the kernel isn't even the largest git project, and even
> the kernel has about 220k revisions (_much_ bigger than the BK tree
> ever was) and we are approaching two million objects. At that point,
> seven hex digits is still unique for a lot of them, but when we're
> talking about just two orders of magnitude difference between number
> of objects and the hash size, there _will_ be collisions in truncated
> hash values. It's no longer even close to unrealistic - it happens all
> the time.
> 
> We should both increase the default abbrev that was unrealistically
> small, _and_ add a way for people to set their own default per-project
> in the git config file.
> 
> This is the first step to first make it configurable; the default of 7
> is not raised yet.
> 
> Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx>
> ---

Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx>

Thanks.


-- 
Regards,
Namhyung Kim


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]