Discussion: How to handle HALs, SDKs and libraries

Karel Gardas karel at functional.vision
Sat Jul 15 17:22:13 UTC 2023


On 7/15/23 16:00, oss at c-mauderer.de wrote:
> We should avoid rebasing and overwriting the old branch because we have 
> to preserve a version that can be used with older RTEMS versions. So for 
> rebasing, we would have to use multiple branches. Instead of 
> rtems-6-branch, it could be a rtems-<date-of-base-revision> or something 
> similar.

Thanks for confirmation. Have the same feeling about it.

> I think that depends heavily on how the upstream project works. If the 
> upstream project uses a typical git workflow and is quite active, 
> merging is most likely the better solution because we don't get big 
> amounts of branches with that.

But this means we still merge to some rtems specific branch since master 
is used to sync with upstream, right?

> On the other hand I know that some semiconductor manufacturers tend to 
> just dump code into a repo and they don't care whether files move around 
> or change heavily. They happily mix changes with reformatting the 
> complete code. In that case you have no chance of a useful merge-commit. 
> I think in these cases it's most likely better to create a new branch on 
> every update and rebase the patches.
> 
>>
>> Anyway, still this is a branch based workflow. How would you do that 
>> workflow with just fixed commit IDs?
>>
>> I'm asking since so far commit IDs on submodules were always obtain 
>> from master branch which is what we basically fork and does not give 
>> us ability to patch with RTEMS changes...
>>
>> So I'm curious how would you do that?
> 
> I think I have put that in the wrong words. I assumed you mean that you 
> want to use some feature that always uses the latest commit of a branch 
> (also I don't know whether git even has that feature).
> 
> What I wanted to say is that if I check out a RTEMS version from two 
> months back, it should check out the revisions of the submodules that 
> have been used in RTEMS two months back too. It must not use the latest 
> HEAD of the branch from today. It's just part of having a version of the 
> code that can be reproduced later.

Right! Now crucial question: is that even supported in git? I'm asking 
since so far I've seen only:

- use fixed commit ids, but those are obtained only from master branch
or
- use branch and then this is always branch HEAD

I've not seen anything like "use fixed commit ID from branch XXX". So 
question for you as an git expert: are you absolutely sure that this 
workflow is supported by git at all? And by this I mean have you tested 
that actually? :-)

> Of course the revision from two months back has to be available in the 
> repo. It doesn't really matter whether it's on master because the code 
> just worked or whether it's a RTEMS specific branch because adaptions 
> have been necessary.

You "it doesn't really matter" worries me a little bit. I'm not sure 
this functionality is even supported hence my question above if you have 
tested it yourself.

Thanks!
Karel



More information about the devel mailing list