Please tag commits referred to by pinned and release manifests in Android builds
asac at linaro.org
Sat Jul 16 21:23:07 UTC 2011
On Tue, Jul 12, 2011 at 10:13 AM, John Rigby <john.rigby at linaro.org> wrote:
> On Tue, Jul 12, 2011 at 1:07 AM, Ricardo Salveti
> <ricardo.salveti at linaro.org> wrote:
>> On Mon, Jul 11, 2011 at 6:18 PM, Alexander Sack <asac at linaro.org> wrote:
>>> On Mon, Jul 11, 2011 at 4:11 PM, Zach Pfeffer <zach.pfeffer at linaro.org> wrote:
>>>> In-order to make reproducible builds we create pinned manifests with
>>>> each commit explicitly listed. We also use this method to create a
>>>> release. We depend on these pinned commits - if they don't exist the
>>>> "released" builds can no longer be reproduced.
>>> One amend: the commits need to exist AND need to be reachable through a head.
>>> In other words: due to how the repo tool work, tagging and then
>>> rebasing will not be good enough.
>> For me this seems to be quite fragile, as you're expecting the
>> upstream tree for a component to not rebase the tree.
>> At least when looking at what happened with u-boot-linaro, where a
>> rebase is expected by the way John is maintaining his tree, this
>> method will fail unless you're building against a tag (as I believe
>> git will respect the tag even if the tree was rebased in some way).
>> Is there other way to fix this at the tool instead of forcing the
>> component tree owner to not rebase the tree?
> If I read the prior emails correctly then the commit needs to be
> reachable by a head but not necessarily "the" head as in master so I
> believe that I can still rebase master (or whatever) as long as
> released commits are still accessible from some other head. So if
> each time a release happens a branch is created as well as a tag then
> there is no problem other than the noise of having these extra
> branches that only exist for keep tags or commits accessible. Please
> someone correct me if I am wrong.
you are on the spot; we are trying to fix repo upstream so you don't
need a head (just a tag); until then keeping commits reachable through
a head would be great!
More information about the linaro-dev