git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: "git rm" seems to do recursive removal even without "-r"

From
Todd Zullinger <tmz@pobox.com>
Date
Oct 7, 2017, 19:04 UTC
Message-ID
<20171007190402.GH3382@zaya.teonanacatl.net>
In-Reply-To
<alpine.LFD.2.21.1710071436140.14843@localhost.localdomain>
Robert P. J. Day wrote:
Show 16 quoted lines
>
>  was just testing variations of "git rm", and man page claims:
>
>  -r 
>     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 directory boundaries."

# With bash performing file globbing $ git rm -n Documentation/*.txt | wc -l 199

# With git performing file globbing $ git rm -n Documentation/\*.txt | wc -l 578

-- 
Todd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Whenever you find yourself on the side of the majority, it is time to
pause and reflect.
    -- Mark Twain
Previous: Robert P. J. DayNext: Robert P. J. Day
Message 2 of 29 in “"git rm" seems to do recursive removal even without "-r"”
  1. Robert P. J. DayOct 7, 2017
  2. Todd ZullingerOct 7, 2017
  3. Robert P. J. DayOct 7, 2017
  4. Jeff KingOct 7, 2017
  5. Robert P. J. DayOct 7, 2017
  6. Jeff KingOct 7, 2017
  7. Robert P. J. DayOct 7, 2017
  8. Theodore Ts'oOct 7, 2017
  9. Robert P. J. DayOct 7, 2017
  10. Paul SmithOct 7, 2017
  11. Robert P. J. DayOct 7, 2017
  12. Junio C HamanoOct 8, 2017
  13. Robert P. J. DayOct 8, 2017
  14. Kevin DaudtOct 8, 2017
  15. Robert P. J. DayOct 8, 2017
  16. Martin ÅgrenOct 8, 2017
  17. René ScharfeOct 8, 2017
  18. Robert P. J. DayOct 8, 2017
  19. Heiko VoigtOct 10, 2017
  20. Robert P. J. DayOct 11, 2017
  21. Paul SmithOct 8, 2017
  22. Theodore Ts'oOct 8, 2017
  23. Robert P. J. DayOct 8, 2017
  24. Theodore Ts'oOct 8, 2017
  25. Jeff KingOct 9, 2017
  26. Robert P. J. DayOct 10, 2017
  27. Junio C HamanoOct 10, 2017
  28. Paul SmithOct 10, 2017
  29. Robert P. J. DayOct 10, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.