Hi Josh On Tue, Oct 10, 2023, at 16:10, Josh Triplett wrote: > > [snip] > > While I'd love for it to default to that and require an extra option to > clean away precious files, I'd expect that that would break people's > workflows and finger memory. If someone expects `git clean -x -d -f` to > clean away everything, including `.config`, and then it leaves some > files in place, that seems likely to cause problems. (Leaving aside that > it might break scripted workflows.) > > It seems safer to keep the existing behavior for existing options, and > add a new option for "remove everything except precious files". What's a scenario where it breaks? I'm guessing: 1. Someone clones a project 2. That project has precious files marked via `.gitattributes` 3. They later do a `clean` 4. The precious files are left alone even though they expected them to be deleted; they don't check what `clean` did (it deletes everything untracked (they expect) so nothing to check) 5. This hurts them somehow It seems that the only files that should be deleted with expediency are secrets. But then why or how would: 1. The project mark such files as precious 2. The user introduces these files (they are precious hence they were not part of the clone) 3. They are never deleted This sounds unlikely to me. And if it was some kind of malignant vector then all would be vulnerable to it (not just legacy scripts/legacy hands). What am I missing? -- Kristoffer