From: Heiko Voigt <hvoigt@hvoigt.net>
To: Simon Richter <Simon.Richter@hogyros.de>
Cc: git@vger.kernel.org
Subject: Re: Cleaning projects with submodules
Date: Mon, 27 Apr 2015 14:47:29 +0200 [thread overview]
Message-ID: <20150427124729.GA5399@sandbox-ub1410> (raw)
In-Reply-To: <553C08D9.9000907@hogyros.de>
Hi,
On Sat, Apr 25, 2015 at 11:36:25PM +0200, Simon Richter wrote:
> I'm trying to set up a continuous integration build for Boost, which
> uses massive amounts of submodules, and keep running into problems when
> running "git clean" in the toplevel project.
>
> When I switch to a version where a submodule has been removed (e.g. an
> earlier version), "git clean -dx" will not remove the submodule's
> directory, because it has its own .git directory. Using a single -f
> flag, the process fails (because directories containing .git directories
> are no longer skipped), and using -ff removes all submodules (which is
> overkill).
>
> Is there a good way to clean a project, leaving valid submodules in
> place (these are then switched to the new tip and cleaned in separate
> commands) while removing submodules that are no longer referenced?
Unfortunately there is no really nice way for that yet. Safely removing
submodule ist still under development.
Here is a snippet that I used on a CI server for this purpose:
git status --porcelain | grep "^?? " | sed -e 's/^?? //' | \
while read i; do
rm -rf "$i"
done
It does a little more, since it unconditionally removes all untracked files
that are not ignored.
Cheers Heiko
prev parent reply other threads:[~2015-04-27 12:54 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-25 21:36 Cleaning projects with submodules Simon Richter
2015-04-27 12:47 ` Heiko Voigt [this message]
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=20150427124729.GA5399@sandbox-ub1410 \
--to=hvoigt@hvoigt.net \
--cc=Simon.Richter@hogyros.de \
--cc=git@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).