Boost Testing :
Subject: Re: [Boost-testing] [EXTERNAL] Submodules not cleaned
From: Niklas Angare (li51ckf02_at_[hidden])
Date: 2014-05-14 11:12:01
"Belcourt, Kenneth" <kbelco_at_[hidden]> wrote:
>> regression.py cleans the source directory of the super-project, but not
>> the submodules.
> So is your primary complaint is with the presence of the generated files
> or the ones you intentionally changed in build?
Anything that risks producing incorrect test results, I suppose. I find it
practical to use the existing tree for diagnosing errors and trying patches.
I'm not a Boost developer so I don't typically have a source tree other than
for regression testing.
>> Adding the following command would appear to fix it:
>> git submodule foreach "(git reset --hard; git clean -fxd)"
> This approach imposes a rather large cost on users with slowish network
> connections and that's primarily why we don't do something this. With
> our recent move to git, we decided to balance the needs of our testers
> with slower network connections to github with the desire for the source
> tree to be completely clean. I think current balance is an acceptable
> compromise, dirty source tree but the correct set of files from the repo
> being tested. Did we not achieve that balance, what are your thoughts?
The suggested command doesn't use the network at all. Git caches the whole
repository in a hidden .git subfolder so it just replaces whatever needs
replacing from there. It takes 15 and 50 seconds to run respectively on two
machines I have.
After further testing I would suggest adding --quiet to remove some
unnecessary output as well as removing the unnecessary parentheses:
git submodule foreach "git reset --quiet --hard; git clean -fxd"