It's typically a good idea to cc' me on kernel-yocto commits, but I did
happen to notice this one, so all is well.

On Tue, Oct 26, 2021 at 3:34 AM Tomasz Dziendzielski <
tomasz.dziendziel...@gmail.com> wrote:

> Introduced poky upstream commit:
> 14df6d53b6 linux-yocto: improve checkout error handling and reporting
>
> converts all remote branches to local branches.
> Our Linux repo has ~4500 remote branches:
> git branch -a | grep remotes |wc -l  -> 4575
>
>
One would argue that having that many remote branches isn't a great idea ..
but I'll stay out of that. A wise person doesn't mess with someone else's
repository structure and workflow :)



> This costs our best workstations ~20 minutes to simply do that conversion
> in do_kernel_checkout which is not needed (at least I do not see any
> benefit after testing with this patch).
>
> Since this conversion is required for some linux-yocto workflows we
> introduce variable that allows skipping this on demand.
>

Right, it definitely is required for quite a few.


>
> Signed-off-by: Tomasz Dziendzielski <tomasz.dziendziel...@gmail.com>
> Signed-off-by: Jan Brzezanski <jan.brzezan...@gmail.com>
> Signed-off-by: Ricardo Rodrigues <rrodrigue...@gmail.com>
> Signed-off-by: Szymon Czarnuch <szymek125...@gmail.com>
> Signed-off-by: Kamil Kwiek <kamil.kw...@gmail.com>
> ---
>  meta/classes/kernel-yocto.bbclass | 16 +++++++++-------
>  1 file changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/meta/classes/kernel-yocto.bbclass
> b/meta/classes/kernel-yocto.bbclass
> index 1d5a8cdf29..68fb1af821 100644
> --- a/meta/classes/kernel-yocto.bbclass
> +++ b/meta/classes/kernel-yocto.bbclass
> @@ -363,13 +363,15 @@ do_kernel_checkout() {
>                 cd ${S}
>
>                 # convert any remote branches to local tracking ones
> -               for i in `git branch -a --no-color | grep remotes | grep
> -v HEAD`; do
> -                       b=`echo $i | cut -d' ' -f2 | sed
> 's%remotes/origin/%%'`;
> -                       git show-ref --quiet --verify -- "refs/heads/$b"
> -                       if [ $? -ne 0 ]; then
> -                               git branch $b $i > /dev/null
> -                       fi
> -               done
> +               if [ "${KERNEL_SKIP_BRANCH_CONVERSION}" != "1" ]; then
>

A new variable like this would need to be documented, so an accompanying
patch to documentation would be required.

As for the variable, something like KERNEL_YOCTO_REMOTES_TO_LOCAL would be
better, and set the default to non-zero (i.e. "t" )

so it could be: if [ -n "${KERNEL_YOCTO_REMOTES_TO_LOCAL}" ]; then
...



> +                       for i in `git branch -a --no-color | grep remotes
> | grep -v HEAD`; do
> +                               b=`echo $i | cut -d' ' -f2 | sed
> 's%remotes/origin/%%'`;
> +                               git show-ref --quiet --verify --
> "refs/heads/$b"
> +                               if [ $? -ne 0 ]; then
> +                                       git branch $b $i > /dev/null
> +                               fi
> +                       done
> +               fi
>
>
Not all git versions automatically track a remote -> local, which is why
that code was initially required. To be safe this needs to at least convert
KBRANCH to a local, since it will be checked out by the code that follows.

There are other parts of the patching/merging/meta processes that need
local branches, but since this wouldn't be on by default, we don't have to
worry about converting the other possible branches to local.

Bruce



>                 # Create a working tree copy of the kernel by checking out
> a branch
>                 machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}"
> --
> 2.33.0
>
>
> 
>
>

-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#157393): 
https://lists.openembedded.org/g/openembedded-core/message/157393
Mute This Topic: https://lists.openembedded.org/mt/86597675/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to