From: Luca Ceresoli <luca.ceresoli@bootlin.com>
To: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Cc: yocto@lists.yoctoproject.org, Quentin Schulz <foss+yocto@0leil.net>
Subject: Re: [yocto] [PATCH yocto-autobuilder-helper] scripts: run-docs-build: make the workdir pristine between builds
Date: Tue, 4 Oct 2022 22:54:44 +0200 [thread overview]
Message-ID: <20221004225444.07132057@booty> (raw)
In-Reply-To: <38d89bc7-1317-9670-a07c-64d28c8baff9@theobroma-systems.com>
Hi Quentin,
On Tue, 4 Oct 2022 10:15:20 +0200
Quentin Schulz <quentin.schulz@theobroma-systems.com> wrote:
> Hi Luca,
>
> On 10/3/22 23:15, Luca Ceresoli wrote:
> > Hi Quentin,
> >
> > On Mon, 3 Oct 2022 19:04:01 +0200
> > "Quentin Schulz" <foss@0leil.net> wrote:
> >
> >> From: Quentin Schulz <quentin.schulz@theobroma-systems.com>
> >>
> >> It happened that the git repositories were dirty and resulted in
> >> incorrect files being used. Let's use git clean -ffdx to force a
> >> completely clean git repositories before and after checking out a branch
> >> so that nothing is left from or to another branch build
> >>
> >> Cc: Quentin Schulz <foss+yocto@0leil.net>
> >> Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
> >> ---
> >> scripts/run-docs-build | 10 +++++-----
> >> 1 file changed, 5 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/scripts/run-docs-build b/scripts/run-docs-build
> >> index c6b3965..69e3257 100755
> >> --- a/scripts/run-docs-build
> >> +++ b/scripts/run-docs-build
> >> @@ -61,6 +61,7 @@ for branch in 1.46 $(git branch --remote --contains "$first_sphinx_commit" --for
> >>
> >> echo Building bitbake $branch branch
> >> git checkout $branch
> >> + git clean -ffdx
> >> git checkout origin/master releases.rst
> >> make clean
> >> SPHINXOPTS="-j auto" make publish
> >> @@ -80,7 +81,7 @@ for branch in 1.46 $(git branch --remote --contains "$first_sphinx_commit" --for
> >> fi
> >>
> >> cp -r ./_build/final/* $outputdir/bitbake/$branch
> >> - git reset --hard
> >> + git clean -ffdx
> >
> > Sure this is correct? 'git clean -ffdx' does not revert changes to
> > tracked files, be them staged or not.
> >
>
> Nope, not sure this is correct. I misread git clean manpage, we should
> have a git reset --hard and git clean -ffdx. Now the question is when
> those are necessary because with this patch we do it twice, before and
> after the git checkout. I did this because I remember doing checkouts
> between branches of U-Boot/kernel and while the pre-checkout branch was
> not dirty, the after-checkout branch was dirty. I assume this might have
> something to do with build artifacts of the pre-checkout build that
> weren't .gitignored in the afer-checkout branch? Something that git
> clean -ffdx should tackle I think.
>
> Sooo, I guess only having git reset --hard and git clean -ffdx before a
> checkout should be enough and we don't need them both before and after
> the checkout like I did in this patch?
I think 'reset --hard' + 'clean -ffdx' only before the checkout should
be enough. However I'm not sure whether there are corner cases such as
a file that is .gitignored in commit A and versioned in commit B or
similar. Perhaps worth trying with reset+clean only before, and see
what happens. However I don't know exactly the initial problem you're
trying to fix.
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2022-10-04 20:54 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-03 17:04 [PATCH yocto-autobuilder-helper] scripts: run-docs-build: make the workdir pristine between builds Quentin Schulz
2022-10-03 17:05 ` Quentin Schulz
2022-10-03 17:11 ` [yocto] " Michael Opdenacker
2022-10-03 21:15 ` Luca Ceresoli
2022-10-03 21:15 ` Luca Ceresoli
2022-10-04 8:15 ` Quentin Schulz
2022-10-04 20:54 ` Luca Ceresoli [this message]
2022-10-05 8:55 ` Quentin Schulz
2022-10-10 14:34 ` Luca Ceresoli
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=20221004225444.07132057@booty \
--to=luca.ceresoli@bootlin.com \
--cc=foss+yocto@0leil.net \
--cc=quentin.schulz@theobroma-systems.com \
--cc=yocto@lists.yoctoproject.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