Re: "git rm" seems to do recursive removal even without "-r"
- Date: Sat, 7 Oct 2017 15:04:02 -0400
- From: Todd Zullinger <tmz@xxxxxxxxx>
- Subject: Re: "git rm" seems to do recursive removal even without "-r"
Robert P. J. Day wrote:
was just testing variations of "git rm", and man page claims:
Allow recursive removal when a leading directory name is given.
i tested this on the "pro git" book repo, which contains a top-level
"book/" directory, and quite a number of "*.asc" files in various
subdirectories one or more levels down. i ran:
$ git rm book/\*.asc
and it certainly seemed to delete *all* "*.asc" files no matter where
they were under book/, even without the "-r" option.
am i misunderstanding something?
By shell-escaping the *, you're letting git perform the file glob.
The DISCUSSION section of git-rm(1) says "File globbing matches across
# With bash performing file globbing
$ git rm -n Documentation/*.txt | wc -l
# With git performing file globbing
$ git rm -n Documentation/\*.txt | wc -l
Whenever you find yourself on the side of the majority, it is time to
pause and reflect.
-- Mark Twain