public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
* Feat. req.: add a flag to `git clean` to also remove ignored nested repositories
@ 2026-01-09  3:50 Simon Cheng
  2026-01-09 13:18 ` brian m. carlson
  0 siblings, 1 reply; 3+ messages in thread
From: Simon Cheng @ 2026-01-09  3:50 UTC (permalink / raw)
  To: git

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.

Thanks and regards,
Simon Cheng

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Feat. req.: add a flag to `git clean` to also remove ignored nested repositories
  2026-01-09  3:50 Feat. req.: add a flag to `git clean` to also remove ignored nested repositories Simon Cheng
@ 2026-01-09 13:18 ` brian m. carlson
  2026-01-16  5:16   ` Simon Cheng
  0 siblings, 1 reply; 3+ messages in thread
From: brian m. carlson @ 2026-01-09 13:18 UTC (permalink / raw)
  To: Simon Cheng; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 1279 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 262 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Feat. req.: add a flag to `git clean` to also remove ignored nested repositories
  2026-01-09 13:18 ` brian m. carlson
@ 2026-01-16  5:16   ` Simon Cheng
  0 siblings, 0 replies; 3+ messages in thread
From: Simon Cheng @ 2026-01-16  5:16 UTC (permalink / raw)
  To: brian m. carlson, Simon Cheng, git

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:
>
> 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-01-16  5:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-09  3:50 Feat. req.: add a flag to `git clean` to also remove ignored nested repositories Simon Cheng
2026-01-09 13:18 ` brian m. carlson
2026-01-16  5:16   ` Simon Cheng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox