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

[PATCH 1/8] doc: rm: synchronize <pathspec> description

From
AGAlexandr Miloslavskiy via GitGitGadget <gitgitgadget@gmail.com>
Date
Jan 16, 2020, 16:09 UTC
Message-ID
<23387f83912d1f5aef17a28d466db162f50fd722.1579190965.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.530.git.1579190965.gitgitgadget@gmail.com>
From: Alexandr Miloslavskiy <alexandr.miloslavskiy@syntevo.com>

This patch continues the effort that is already applied to `git commit`, `git reset`, `git checkout` etc.

1) Changed outdated descriptions to mention pathspec instead.
2) Added reference to 'linkgit:gitglossary[7]'.
3) Removed content that merely repeated gitglossary.
4) Merged the remainder of "discussion" into `<patchspec>`.
Signed-off-by: Alexandr Miloslavskiy <alexandr.miloslavskiy@syntevo.com>
---
 Documentation/git-rm.txt | 50 +++++++++++++++++-----------------------
 1 file changed, 21 insertions(+), 29 deletions(-)
diff --git a/Documentation/git-rm.txt b/Documentation/git-rm.txt
index b5c46223c4..e02a08e5ef 100644
--- a/Documentation/git-rm.txt
+++ b/Documentation/git-rm.txt
@@ -8,16 +8,16 @@ git-rm - Remove files from the working tree and from the index
 SYNOPSIS
 --------
 [verse]
-'git rm' [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] <file>...
+'git rm' [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] <pathspec>...
 
 DESCRIPTION
 -----------
-Remove files from the index, or from the working tree and the index.
-`git rm` will not remove a file from just your working directory.
-(There is no option to remove a file only from the working tree
-and yet keep it in the index; use `/bin/rm` if you want to do that.)
-The files being removed have to be identical to the tip of the branch,
-and no updates to their contents can be staged in the index,
+Remove files matching pathspec from the index, or from the working tree
+and the index. `git rm` will not remove a file from just your working
+directory. (There is no option to remove a file only from the working
+tree and yet keep it in the index; use `/bin/rm` if you want to do
+that.) The files being removed have to be identical to the tip of the
+branch, and no updates to their contents can be staged in the index,
 though that default behavior can be overridden with the `-f` option.
 When `--cached` is given, the staged content has to
 match either the tip of the branch or the file on disk,
@@ -26,15 +26,20 @@ allowing the file to be removed from just the index.
 
 OPTIONS
 -------
-<file>...::
-	Files to remove.  Fileglobs (e.g. `*.c`) can be given to
-	remove all matching files.  If you want Git to expand
-	file glob characters, you may need to shell-escape them.
-	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 given.
+<pathspec>...::
+	Files to remove.  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 given.
++
+The command removes only the paths that are known to Git.
++
+File globbing matches across directory boundaries.  Thus, given two
+directories `d` and `d2`, there is a difference between using
+`git rm 'd*'` and `git rm 'd/*'`, as the former will also remove all
+of directory `d2`.
++
+For more details, see the 'pathspec' entry in linkgit:gitglossary[7].
 
 -f::
 --force::
@@ -69,19 +74,6 @@ OPTIONS
 	for each file removed. This option suppresses that output.
 
 
-DISCUSSION
-----------
-
-The <file> list given to the command can be exact pathnames,
-file glob patterns, or leading directory names.  The command
-removes only the paths that are known to Git.  Giving the name of
-a file that you have not told Git about does not remove that file.
-
-File globbing matches across directory boundaries.  Thus, given
-two directories `d` and `d2`, there is a difference between
-using `git rm 'd*'` and `git rm 'd/*'`, as the former will
-also remove all of directory `d2`.
-
 REMOVING FILES THAT HAVE DISAPPEARED FROM THE FILESYSTEM
 --------------------------------------------------------
 There is no option for `git rm` to remove from the index only
-- 
gitgitgadget
Previous: Alexandr Miloslavskiy via GitGitGadgetNext: Junio C Hamano
Message 2 of 41 in “Support --pathspec-from-file in rm, stash”
  1. 0/8 Support --pathspec-from-file in rm, stashAlexandr Miloslavskiy via GitGitGadget, Jan 16, 2020
  2. 1/8 doc: rm: synchronize <pathspec> descriptionAlexandr Miloslavskiy via GitGitGadget, Jan 16, 2020
  3. Junio C HamanoJan 21, 2020
  4. 2/8 rm: support the --pathspec-from-file optionAlexandr Miloslavskiy via GitGitGadget, Jan 16, 2020
  5. Junio C HamanoJan 21, 2020
  6. Alexandr MiloslavskiyFeb 10, 2020
  7. Junio C HamanoFeb 10, 2020
  8. Alexandr MiloslavskiyFeb 17, 2020
  9. 4/8 doc: stash: split options from description (2)Alexandr Miloslavskiy via GitGitGadget, Jan 16, 2020
  10. Junio C HamanoJan 21, 2020
  11. Alexandr MiloslavskiyFeb 10, 2020
  12. 5/8 doc: stash: document more optionsAlexandr Miloslavskiy via GitGitGadget, Jan 16, 2020
  13. Junio C HamanoJan 21, 2020
  14. 6/8 doc: stash: synchronize <pathspec> descriptionAlexandr Miloslavskiy via GitGitGadget, Jan 16, 2020
  15. Junio C HamanoJan 21, 2020
  16. 7/8 stash: eliminate crude option parsingAlexandr Miloslavskiy via GitGitGadget, Jan 16, 2020
  17. 8/8 stash push: support the --pathspec-from-file optionAlexandr Miloslavskiy via GitGitGadget, Jan 16, 2020
  18. 3/8 doc: stash: split options from description (1)Alexandr Miloslavskiy via GitGitGadget, Jan 16, 2020
  19. 0/8 Support --pathspec-from-file in rm, stashAlexandr Miloslavskiy via GitGitGadget, Feb 10, 2020
  20. 5/8 doc: stash: document more optionsAlexandr Miloslavskiy via GitGitGadget, Feb 10, 2020
  21. 3/8 doc: stash: split options from description (1)Alexandr Miloslavskiy via GitGitGadget, Feb 10, 2020
  22. 1/8 doc: rm: synchronize <pathspec> descriptionAlexandr Miloslavskiy via GitGitGadget, Feb 10, 2020
  23. 2/8 rm: support the --pathspec-from-file optionAlexandr Miloslavskiy via GitGitGadget, Feb 10, 2020
  24. Junio C HamanoFeb 10, 2020
  25. Alexandr MiloslavskiyFeb 17, 2020
  26. Junio C HamanoFeb 17, 2020
  27. Junio C HamanoFeb 17, 2020
  28. 4/8 doc: stash: split options from description (2)Alexandr Miloslavskiy via GitGitGadget, Feb 10, 2020
  29. 6/8 doc: stash: synchronize <pathspec> descriptionAlexandr Miloslavskiy via GitGitGadget, Feb 10, 2020
  30. 8/8 stash push: support the --pathspec-from-file optionAlexandr Miloslavskiy via GitGitGadget, Feb 10, 2020
  31. 7/8 stash: eliminate crude option parsingAlexandr Miloslavskiy via GitGitGadget, Feb 10, 2020
  32. 0/8 Support --pathspec-from-file in rm, stashAlexandr Miloslavskiy via GitGitGadget, Feb 17, 2020
  33. 1/8 doc: rm: synchronize <pathspec> descriptionAlexandr Miloslavskiy via GitGitGadget, Feb 17, 2020
  34. 2/8 rm: support the --pathspec-from-file optionAlexandr Miloslavskiy via GitGitGadget, Feb 17, 2020
  35. Alexandr MiloslavskiyFeb 17, 2020
  36. 3/8 doc: stash: split options from description (1)Alexandr Miloslavskiy via GitGitGadget, Feb 17, 2020
  37. 5/8 doc: stash: document more optionsAlexandr Miloslavskiy via GitGitGadget, Feb 17, 2020
  38. 8/8 stash push: support the --pathspec-from-file optionAlexandr Miloslavskiy via GitGitGadget, Feb 17, 2020
  39. 4/8 doc: stash: split options from description (2)Alexandr Miloslavskiy via GitGitGadget, Feb 17, 2020
  40. 7/8 stash: eliminate crude option parsingAlexandr Miloslavskiy via GitGitGadget, Feb 17, 2020
  41. 6/8 doc: stash: synchronize <pathspec> descriptionAlexandr Miloslavskiy via GitGitGadget, Feb 17, 2020

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.