add: Clarify documentation of -A and -u
The documentation of '-A' and '-u' is very confusing for someone who doesn't already know what they do. Describe them with fewer words and clearer parallelism to each other and to the behavior of plain 'add'. Also mention the default <pathspec> for '-A' as well as '-u', because it applies to both. Signed-off-by: Greg Price <price@mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Greg Price committed
Mar 7, 2013 at 05:13 UTC
5cae93566027c1d148c9f6625aed484a7096a980
1 file changed
+12
-10
Documentation/git-add.txt
+12
-10
@@ -100,12 +100,9 @@ apply to the index. See EDITING PATCHES below.
100
101
-u::
102
--update::
103
- Only match <pathspec> against already tracked files in
104
- the index rather than the working tree. That means that it
105
- will never stage new files, but that it will stage modified
106
- new contents of tracked files and that it will remove files
107
- from the index if the corresponding files in the working tree
108
- have been removed.
103
+ Update the index just where it already has an entry matching
104
+ <pathspec>. This removes as well as modifies index entries to
105
+ match the working tree, but adds no new files.
106
+
107
If no <pathspec> is given, the current version of Git defaults to
108
"."; in other words, update all tracked files in the current directory
@@ -114,10 +111,15 @@ of Git, hence the form without <pathspec> should not be used.
111
112
-A::
113
--all::
117
- Like `-u`, but match <pathspec> against files in the
118
- working tree in addition to the index. That means that it
119
- will find new files as well as staging modified content and
120
- removing files that are no longer in the working tree.
114
+ Update the index not only where the working tree has a file
115
+ matching <pathspec> but also where the index already has an
116
+ entry. This adds, modifies, and removes index entries to
117
+ match the working tree.
118
++
119
+If no <pathspec> is given, the current version of Git defaults to
120
+"."; in other words, update all files in the current directory
121
+and its subdirectories. This default will change in a future version
122
+of Git, hence the form without <pathspec> should not be used.
123
124
-N::
125
--intent-to-add::