From: Junio C Hamano Date: Thu, 20 Feb 2020 18:32:42 GMT Subject: Re: BUG: git clean -d cannot remove files from read-only directories Message-ID: In-Reply-To: Adam Milazzo writes: > Repro steps: > 1. git init > 2. mkdir d > 3. touch d/a > 4. chmod -w d > 5. git clean -fd > > Actual result: > Git doesn't remove anything, saying "warning: failed to remove d/a". > > Expected result: > Git should remove the subdirectory 'd' along with its > contents. Note that git can remove a read-only file (touch b; > chmod -w b; git clean -f) with no problem. It is how UNIX-like filesystem works, isn't it? As long as a directory D is writable/executable, any regular file inside it can be removed regardless of the perm-bits of the file. mkdir d touch d/a chmod -w d rm d/a would not let you remove the file d/a from d/, exactly because you cannot modify d/ (it is not writable).