Boost logo

Boost Testing :

Subject: [Boost-testing] Submodules not cleaned
From: Niklas Angare (li51ckf02_at_[hidden])
Date: 2014-05-10 11:39:17

I just submitted, as follows: cleans the source directory of the super-project, but not the
submodules. The "git status" command it runs just after cleaning shows this
for me:

On branch develop
Your branch is up-to-date with 'origin/develop'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
        modified:   libs/interprocess (modified content)
        modified:   libs/numeric/odeint (untracked content)
        modified:   tools/build (modified content, untracked content)
no changes added to commit (use "git add" and/or "git commit -a")
The changes in libs/interprocess were caused by my patch_boost script. The 
changes in libs/numeric/odeint were generated files. The changes in 
tools/build were generated files plus manual changes I made to test 
something between runs.
Adding the following command would appear to fix it:
git submodule foreach "(git reset --hard; git clean -fxd)"
While researching this I stumbled upon the fact that orphaned submodule 
directories aren't removed by git clean unless you pass it -ffxd (see the 
help for the -d option). However this will remove submodules that are 
present in another branch but not the current one, which may or may not be a 
good idea.
Niklas Angare 

Boost-testing list run by mbergal at