Re: "git rm" seems to do recursive removal even without "-r"
- Date: Sat, 7 Oct 2017 15:43:43 -0400 (EDT)
- From: "Robert P. J. Day" <rpjday@xxxxxxxxxxxxxx>
- Subject: Re: "git rm" seems to do recursive removal even without "-r"
On Sat, 7 Oct 2017, Jeff King wrote:
> On Sat, Oct 07, 2017 at 03:32:24PM -0400, Robert P. J. Day wrote:
> > > Nothing, because there is nothing to recurse in the pathspecs you've
> > > given.
> > >
> > > Try:
> > >
> > > $ git rm drivers
> > > fatal: not removing 'drivers' recursively without -r
> > >
> > > versus
> > >
> > > $ git rm -r drivers
> > > [...removes everything under drivers/...]
> > that is not what the man page is saying ... it refers to a "leading"
> > directory name, not simply a directory name. if it should say simply
> > "when a directory name is given", then it should be changed to say
> > that.
> It's the leading directory of the files that will be removed.
> An earlier part of the manpage (under <file>) also says:
> A leading directory name (e.g. dir to remove dir/file1 and dir/file2)
> can be given to remove all files in the directory, and recursively all
> sub-directories, but this requires the -r option to be explicitly
> which perhaps makes it more clear. Later in "-r", we say:
> Allow recursive removal when a leading directory name is given.
> which I guess is the part you're reading. I think it would be equally
> correct to say "leading directory" or just "directory" there.
> Though really, you could give many such directory names, or even match
> them with a glob. So a more accurate description might be something
> Recursively remove the contents of any directories that match
> or something.
it's been a long week, so take this in the spirit in which it is
intended ... i think the "git rm" command and its man page should be
printed out, run through a paper shredder, then set on fire. i can't
remember the last time i saw such a thoroughly badly-designed,
badly-documented and non-intuitive utility.
i'm going to go watch football now and try to forget this horror.
Robert P. J. Day Ottawa, Ontario, CANADA