[bitbake-devel] [PATCH] fetch2: Shorten long srcrevs
Bruce Ashfield
bruce.ashfield at windriver.com
Sun May 19 16:02:26 UTC 2013
On 13-05-19 6:21 AM, Richard Purdie wrote:
> The long srcrevs are mainly used or the workdir construction as well as
> the package version. The long entries are hashes generated by the git fetcher
> and other scms using a similar revision mechanism.
>
> We need these to change when the package changes however collisions are
> unlikely to happen within the domains we care about. The long revisions
> have generated negative user feedback due to the use in path and file
> names.
>
> This patch therefore truncates the revisions to 10 characters maximum.
>
> This should be safe in the contexts where these revisions are used as
> the chances of spatially close collisions is very low (distant
> collisions are not a major issue in the way we use these).
I for one like the change, the split of PN/<hashes> was a nice
improvement and this will make life a little bit easier again.
10 should definitely be enough to avoid collisions, I've rarely had
to go above 7 or 8 characters in my kernel hashes, and 10 will make
collisions that much harder to find.
As Martin asked, I assume we continue to specify 40 character hashes
in our recipes, which is fine with me since it makes the recipe
completely accurate.
Cheers,
Bruce
>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> ---
> CC'd various people who I believe might have feelings about this. The
> patch depends on the sortable_revisions patch I just sent out.
>
> diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
> index f8f8244..402329d 100644
> --- a/bitbake/lib/bb/fetch2/__init__.py
> +++ b/bitbake/lib/bb/fetch2/__init__.py
> @@ -617,6 +617,8 @@ def get_srcrev(d):
>
> if len(scms) == 1 and len(urldata[scms[0]].names) == 1:
> autoinc, rev = urldata[scms[0]].method.sortable_revision(scms[0], urldata[scms[0]], d, urldata[scms[0]].names[0])
> + if len(rev) > 10:
> + rev = rev[:10]
> if autoinc:
> return "AUTOINC+" + rev
> return rev
> @@ -633,6 +635,8 @@ def get_srcrev(d):
> ud = urldata[scm]
> for name in ud.names:
> autoinc, rev = ud.method.sortable_revision(scm, ud, d, name)
> + if len(rev) > 10:
> + rev = rev[:10]
> if autoinc and not seenautoinc:
> rev = "AUTOINC+" + rev
> seenautoinc
>
>
More information about the bitbake-devel
mailing list