docs: fix typos and grammar

Fix several spelling mistakes, subject-verb agreement issues, and duplicated words. Signed-off-by: Weijie Yuan <wy@wyuan.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Weijie Yuan committed May 29, 2026 at 16:17 UTC dc6068df67a5c4a36d4579ce783377a667411230
14 files changed +14 -14
Documentation/fetch-options.adoc
+1 -1
@@ -1,6 +1,6 @@
1 `--all`::
2 `--no-all`::
3 - Fetch all remotes, except for the ones that has the
3 + Fetch all remotes, except for the ones that have the
4 `remote.<name>.skipFetchAll` configuration variable set.
5 This overrides the configuration variable `fetch.all`.
6
combine-diff.c
+1 -1
@@ -666,7 +666,7 @@ static int make_hunks(struct sline *sline, unsigned long cnt,
666 * (-) line, which records from what parents the line
667 * was removed; this line does not appear in the result.
668 * then check the set of parents the result has difference
669 - * from, from all lines. If there are lines that has
669 + * from, from all lines. If there are lines that have
670 * different set of parents that the result has differences
671 * from, that means we have more than two versions.
672 *
contrib/subtree/t/t7900-subtree.sh
+1 -1
@@ -75,7 +75,7 @@ test_create_pre2_32_repo () {
75 #
76 # Create a simple subtree on a new branch named ORPHAN in REPO.
77 # The subtree is then merged into the current branch of REPO,
78 -# under PREFIX. The generated subtree has has one commit
78 +# under PREFIX. The generated subtree has one commit
79 # with subject and tag FILENAME with a single file "FILENAME.t"
80 #
81 # When this method returns:
csum-file.h
+1 -1
@@ -52,7 +52,7 @@ struct hashfd_options {
52 */
53 struct progress *progress;
54
55 - /* The length of the buffer that shall be used read read data. */
55 + /* The length of the buffer that shall be used to read data. */
56 size_t buffer_len;
57 };
58
delta-islands.c
+1 -1
@@ -527,7 +527,7 @@ void free_island_marks(void)
527 kh_destroy_oid_map(island_marks);
528 }
529
530 - /* detect use-after-free with a an address which is never valid: */
530 + /* detect use-after-free with an address which is never valid: */
531 island_marks = (void *)-1;
532 }
533
diffcore-pickaxe.c
+1 -1
@@ -203,7 +203,7 @@ static void pickaxe(struct diff_queue_struct *q, struct diff_options *o,
203 for (i = 0; i < q->nr; i++)
204 diff_free_filepair(q->queue[i]);
205 } else {
206 - /* Showing only the filepairs that has the needle */
206 + /* Showing only the filepairs that have the needle */
207 for (i = 0; i < q->nr; i++) {
208 struct diff_filepair *p = q->queue[i];
209 if (pickaxe_match(p, o, regexp, kws, fn))
odb.h
+1 -1
@@ -57,7 +57,7 @@ struct object_database {
57 struct repository *repo;
58
59 /*
60 - * State of current current object database transaction. Only one
60 + * State of current object database transaction. Only one
61 * transaction may be pending at a time. Is NULL when no transaction is
62 * configured.
63 */
parse-options.c
+1 -1
@@ -1149,7 +1149,7 @@ unknown:
1149 (ctx->flags & PARSE_OPT_KEEP_UNKNOWN_OPT)) {
1150 /*
1151 * Found an unknown option given to a command with
1152 - * subcommands that has a default operation mode:
1152 + * subcommands that have a default operation mode:
1153 * we treat this option and all remaining args as
1154 * arguments meant to that default operation mode.
1155 * So we are done parsing.
rerere.c
+1 -1
@@ -548,7 +548,7 @@ static int check_one_conflict(struct index_state *istate, int i, int *type)
548
549 /*
550 * Scan the index and find paths that have conflicts that rerere can
551 - * handle, i.e. the ones that has both stages #2 and #3.
551 + * handle, i.e. the ones that have both stages #2 and #3.
552 *
553 * NEEDSWORK: we do not record or replay a previous "resolve by
554 * deletion" for a delete-modify conflict, as that is inherently risky
t/t4203-mailmap.sh
+1 -1
@@ -180,7 +180,7 @@ test_expect_success 'mailmap.file set' '
180 git shortlog HEAD >actual &&
181 test_cmp expect actual &&
182
183 - # The internal_mailmap/.mailmap file is an a subdirectory, but
183 + # The internal_mailmap/.mailmap file is in a subdirectory, but
184 # as shown here it can also be outside the repository
185 test_when_finished "rm -rf sub-repo" &&
186 git clone . sub-repo &&
t/t9100-git-svn-basic.sh
+1 -1
@@ -232,7 +232,7 @@ test_expect_success POSIXPERM,SYMLINKS "$name" '
232 test_cmp expected.$(test_oid algo) a
233 '
234
235 -test_expect_success 'exit if remote refs are ambigious' '
235 +test_expect_success 'exit if remote refs are ambiguous' '
236 git config --add svn-remote.svn.fetch \
237 bar:refs/remotes/git-svn &&
238 test_must_fail git svn migrate
t/test-lib-github-workflow-markup.sh
+1 -1
@@ -18,7 +18,7 @@
18 #
19 # The idea is for `test-lib.sh` to source this file when run in GitHub
20 # workflows; these functions will then override (empty) functions
21 -# that are are called at the appropriate times during the test runs.
21 +# that are called at the appropriate times during the test runs.
22
23 test_skip_test_preamble=t
24
t/test-lib-junit.sh
+1 -1
@@ -19,7 +19,7 @@
19 #
20 # The idea is for `test-lib.sh` to source this file when the user asks
21 # for JUnit XML; these functions will then override (empty) functions
22 -# that are are called at the appropriate times during the test runs.
22 +# that are called at the appropriate times during the test runs.
23
24 start_test_output () {
25 junit_xml_dir="$TEST_OUTPUT_DIRECTORY/out"
tree-walk.h
+1 -1
@@ -177,7 +177,7 @@ struct traverse_info {
177
178 /**
179 * Walk trees starting with "tree_oid" to find the entry for "name", and
180 - * return the the object name and the mode of the found entry via the
180 + * return the object name and the mode of the found entry via the
181 * "oid" and "mode" parameters. Return 0 if the entry is found, and -1
182 * otherwise.
183 */