Re: Feat. req.: add a flag to `git clean` to also remove ignored nested repositories
- From
- Simon Cheng <cyqsimon@gmail.com>
- Date
- Jan 16, 2026, 05:16 UTC
- Message-ID
- <CA+itcS3S3SXWGSwFp=k=f0u+q5eEqSqKMzFwLzKHLzLOtYpH9g@mail.gmail.com>
- In-Reply-To
- <aWEAHQLzwTxCpD5Q@fruit.crustytoothpaste.net>
Ah yes that's exactly what I need, thanks a lot. Pebkac moment for me sorry.
I must say though, the discoverability of this "double -f" behaviour can be improved. Maybe the "nested repository skipped" message can include a hint? Something like this I imagine:
Skipping repository ignored-path/repo (pass a second `-f` to remove)
Wdyt?
On Fri, 9 Jan 2026 at 21:18, brian m. carlson <sandals@crustytoothpaste.net> wrote:
Show 30 quoted lines
> > On 2026-01-09 at 03:50:30, Simon Cheng wrote: > > Currently, running `git clean -dxf` on a repository that includes > > another repository under an ignored path would skip said repository: > > > > $ git clean -dxf > > Removing foo > > Skipping repository ignored-path/repo > > Removing bar > > > > This is to request the addition of a new flag to allow altering this > > behaviour, i.e. to make `git clean` remove those repositories too. > > > > For me, this feature is relevant for building `*-git` packages from > > the AUR, for example https://aur.archlinux.org/packages/paru-git. By > > default `makepkg` would clone the source repo into `./src/NAME`, which > > creates the aforementioned condition. Without such an option on `git > > clean`, cleanup after build is rather complicated. > > Does this work if you use `git clean -dxff` (that is, with a second `-f` > flag)? I do often clean up ignored repositories that way (and it's > documented to do that in the manual page), but I'm not sure if you're > maybe doing something a little different from my workflow. > > If that _doesn't_ work for you, would you mind creating a quick shell > script to demonstrate the problem that you're seeing so that we could > provide better advice? > -- > brian m. carlson (they/them) > Toronto, Ontario, CA