Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Martin Jansa <martin.jansa@gmail.com>
Cc: bitbake-devel@lists.openembedded.org,
	openembedded-core@lists.openembedded.org
Subject: Re: git fetcher sanity check for matching branch and SRCREV
Date: Wed, 11 Dec 2013 22:58:20 +0000	[thread overview]
Message-ID: <1386802700.504.12.camel@ted> (raw)
In-Reply-To: <20131211225150.GB3717@jama>

On Wed, 2013-12-11 at 23:51 +0100, Martin Jansa wrote:
> I understand and support reasons behind recently added commit
> "fetch2/git: Add sanity check to ensure we really did fetch the correct
> revisions"
> 
> but there is at least one corner case which IMHO isn't supported now, in
> meta-webos we have yajl recipe with:
> 
> # corresponds to tag 1.0.12
> SRCREV = "17b1790fb9c8abbb3c0f7e083864a6a014191d56"
> SRC_URI = "git://github.com/lloyd/${PN}"
> 
> the problem is that 17b1790fb9c8abbb3c0f7e083864a6a014191d56 exists only
> in 1.0.12 tag and not in any branch
> 
> OE @ ~/webos/projects/yajl $ git branch -a --contains
> 17b1790fb9c8abbb3c0f7e083864a6a014191d56
> OE @ ~/webos/projects/yajl $ git tag --contains
> 17b1790fb9c8abbb3c0f7e083864a6a014191d56
> 1.0.12
> 
> There is "1.x" branch which contains parent of
> 17b1790fb9c8abbb3c0f7e083864a6a014191d56 but is missing this one commit.
> 
> Unfortunately we cannot "disable" this check by explicitly setting empty
> branch or setting tag=1.0.12
> 
> I can ask yajl owner to push that one missing patch to 1.x branch, but
> there were no changes in last 11 months so I don't know how responsive
> he will be and there could be similar case in different recipes where
> the upstream could be completely gone.
> 
> As side note, should bitbake do the same check when tag=foo is
> specified?

This is an interesting corner case. I have this patch lying around which
fixes the issue where a given tag is only available in specific
branches:

http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/t2&id=d211662ca92ee084c0c4a3d343e0b1f28ab853ac

however that won't help this case. There is also an issue where the
ls-remote command can match multiple branches/tags since its unanchored:

git ls-remote X foo

refs/heads/foo
refs/heads/broken/foo
refs/tags/foo
refs/tags/broken/foo

All things considered the check is proving useful as its finding some
real issue however we have a few corner cases to iron out...

Cheers,

Richard






  reply	other threads:[~2013-12-11 22:58 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-11 22:51 git fetcher sanity check for matching branch and SRCREV Martin Jansa
2013-12-11 22:58 ` Richard Purdie [this message]
2013-12-12  0:28   ` Martin Jansa
2013-12-11 23:01 ` Nicolas Dechesne

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=1386802700.504.12.camel@ted \
    --to=richard.purdie@linuxfoundation.org \
    --cc=bitbake-devel@lists.openembedded.org \
    --cc=martin.jansa@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /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