Git development
 help / color / mirror / Atom feed
* [PATCH] doc: fix typos via codespell
@ 2026-05-06 10:15 Andrew Kreimer
  2026-05-09 22:14 ` Kristoffer Haugsbakk
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Andrew Kreimer @ 2026-05-06 10:15 UTC (permalink / raw)
  To: git; +Cc: Andrew Kreimer

There are some typos in the documentation, comments, etc.
Fix them via codespell.

Signed-off-by: Andrew Kreimer <algonell@gmail.com>
---
 Documentation/SubmittingPatches            |  2 +-
 Documentation/git-sparse-checkout.adoc     |  2 +-
 Documentation/technical/build-systems.adoc |  6 +++---
 builtin/pack-objects.c                     |  2 +-
 commit-graph.h                             |  2 +-
 compat/precompose_utf8.c                   |  2 +-
 git-gui/git-gui.sh                         |  2 +-
 git-gui/lib/choose_repository.tcl          |  2 +-
 git-gui/lib/themed.tcl                     |  2 +-
 hook.h                                     |  2 +-
 meson_options.txt                          |  2 +-
 midx-write.c                               |  4 ++--
 odb/source.h                               |  2 +-
 packfile.h                                 |  2 +-
 path.h                                     |  2 +-
 po/el.po                                   |  2 +-
 po/ko.po                                   |  2 +-
 reftable/system.h                          |  2 +-
 t/README                                   |  2 +-
 t/chainlint.pl                             |  2 +-
 t/chainlint/chain-break-false.expect       |  2 +-
 t/chainlint/chain-break-false.test         |  2 +-
 t/t1700-split-index.sh                     |  2 +-
 t/t3909-stash-pathspec-file.sh             |  6 +++---
 t/t4052-stat-output.sh                     |  2 +-
 t/t4067-diff-partial-clone.sh              |  2 +-
 t/t9150/svk-merge.dump                     | 10 +++++-----
 t/t9151/svn-mergeinfo.dump                 | 18 +++++++++---------
 t/unit-tests/clar/README.md                |  2 +-
 29 files changed, 46 insertions(+), 46 deletions(-)

diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index d570184ec8..35b4952c8a 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -92,7 +92,7 @@ input and avoids unnecessary churn from many rapid iterations.
   topic are appropriate, so such an incremental updates are limited to
   small corrections and polishing.  After a topic cooks for some time
   (like 7 calendar days) in 'next' without needing further tweaks on
-  top, it gets merged to the 'master' branch and wait to become part
+  top, it gets merged to the 'master' branch and waits to become part
   of the next major release.
 
 In the following sections, many techniques and conventions are listed
diff --git a/Documentation/git-sparse-checkout.adoc b/Documentation/git-sparse-checkout.adoc
index 0d1618f161..e286584c67 100644
--- a/Documentation/git-sparse-checkout.adoc
+++ b/Documentation/git-sparse-checkout.adoc
@@ -134,7 +134,7 @@ the `clean.requireForce` config option is set to `false`.
 +
 The `--dry-run` option will list the directories that would be removed
 without deleting them. Running in this mode can be helpful to predict the
-behavior of the clean comand or to determine which kinds of files are left
+behavior of the clean command or to determine which kinds of files are left
 in the sparse directories.
 +
 The `--verbose` option will list every file within the directories that
diff --git a/Documentation/technical/build-systems.adoc b/Documentation/technical/build-systems.adoc
index 3c5237b9fd..ca5b5d96f1 100644
--- a/Documentation/technical/build-systems.adoc
+++ b/Documentation/technical/build-systems.adoc
@@ -47,7 +47,7 @@ Auto-detection of the following items is considered to be important:
 
   - Check for the existence of headers.
   - Check for the existence of libraries.
-  - Check for the existence of exectuables.
+  - Check for the existence of executables.
   - Check for the runtime behavior of specific functions.
   - Check for specific link order requirements when multiple libraries are
     involved.
@@ -106,7 +106,7 @@ by the build system:
 
   - C: the primary compiled language used by Git, must be supported. Relevant
     toolchains are GCC, Clang and MSVC.
-  - Rust: candidate as a second compiled lanugage, should be supported. Relevant
+  - Rust: candidate as a second compiled language, should be supported. Relevant
     toolchains is the LLVM-based rustc.
 
 Built-in support for the respective languages is preferred over support that
@@ -142,7 +142,7 @@ The following list of build systems are considered:
 
 === GNU Make
 
-- Platform support: ubitquitous on all platforms, but not well-integrated into Windows.
+- Platform support: ubiquitous on all platforms, but not well-integrated into Windows.
 - Auto-detection: no built-in support for auto-detection of features.
 - Ease of use: easy to use, but discovering available options is hard. Makefile
   rules can quickly get out of hand once reaching a certain scope.
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index dd2480a73d..806068907e 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -1341,7 +1341,7 @@ static void write_pack_file(void)
 			 * length of them as buffer length.
 			 *
 			 * Note that we need to subtract one though to
-			 * accomodate for the sideband byte.
+			 * accommodate for the sideband byte.
 			 */
 			struct hashfd_options opts = {
 				.progress = progress_state,
diff --git a/commit-graph.h b/commit-graph.h
index f6a5433641..13ca4ff010 100644
--- a/commit-graph.h
+++ b/commit-graph.h
@@ -18,7 +18,7 @@
  * This method is only used to enhance coverage of the commit-graph
  * feature in the test suite with the GIT_TEST_COMMIT_GRAPH and
  * GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS environment variables. Do not
- * call this method oustide of a builtin, and only if you know what
+ * call this method outside of a builtin, and only if you know what
  * you are doing!
  */
 void git_test_write_commit_graph_or_die(struct odb_source *source);
diff --git a/compat/precompose_utf8.c b/compat/precompose_utf8.c
index 43b3be0114..6e709bd138 100644
--- a/compat/precompose_utf8.c
+++ b/compat/precompose_utf8.c
@@ -85,7 +85,7 @@ const char *precompose_string_if_needed(const char *in)
 		out = reencode_string_iconv(in, inlen, ic_prec, 0, &outlen);
 		if (out) {
 			if (outlen == inlen && !memcmp(in, out, outlen))
-				free(out); /* no need to return indentical */
+				free(out); /* no need to return identical */
 			else
 				in = out;
 		}
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index 23fe76e498..40e95bccb4 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -109,7 +109,7 @@ foreach p [split $env(PATH) $_path_sep] {
 	if {[file pathtype $p] ne {absolute}} {
 		continue
 	}
-	# Keep only the first occurence of any duplicates.
+	# Keep only the first occurrence of any duplicates.
 	set norm_p [file normalize $p]
 	dict set _path_seen $norm_p 1
 }
diff --git a/git-gui/lib/choose_repository.tcl b/git-gui/lib/choose_repository.tcl
index 7e1462a20c..a4703af028 100644
--- a/git-gui/lib/choose_repository.tcl
+++ b/git-gui/lib/choose_repository.tcl
@@ -15,7 +15,7 @@ field w_recentlist ; # Listbox containing recent repositories
 field w_localpath  ; # Entry widget bound to local_path
 
 field done              0 ; # Finished picking the repository?
-field clone_ok      false ; # clone succeeeded
+field clone_ok      false ; # clone succeeded
 field local_path       {} ; # Where this repository is locally
 field origin_url       {} ; # Where we are cloning from
 field origin_name  origin ; # What we shall call 'origin'
diff --git a/git-gui/lib/themed.tcl b/git-gui/lib/themed.tcl
index c18e201d85..f4cffeac66 100644
--- a/git-gui/lib/themed.tcl
+++ b/git-gui/lib/themed.tcl
@@ -4,7 +4,7 @@
 
 namespace eval color {
 	# Variable colors
-	# Preffered way to set widget colors is using add_option.
+	# Preferred way to set widget colors is using add_option.
 	# In some cases, like with tags in_diff/in_sel, we use these colors.
 	variable select_bg				lightgray
 	variable select_fg				black
diff --git a/hook.h b/hook.h
index 5c5628dd1f..5f0c3f19bb 100644
--- a/hook.h
+++ b/hook.h
@@ -116,7 +116,7 @@ struct run_hooks_opt {
 	 * While the callback allows piecemeal writing, it can also be
 	 * used for smaller inputs, where it gets called only once.
 	 *
-	 * Add hook callback initalization context to `feed_pipe_ctx`.
+	 * Add hook callback initialization context to `feed_pipe_ctx`.
 	 * Add hook callback internal state to `feed_pipe_cb_data`.
 	 *
 	 */
diff --git a/meson_options.txt b/meson_options.txt
index 659cbb218f..1ed228d42a 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -106,7 +106,7 @@ option('highlight_bin', type: 'string', value: 'highlight')
 
 # Documentation.
 option('docs', type: 'array', choices: ['man', 'html'], value: [],
-  description: 'Which documenattion formats to build and install.')
+  description: 'Which documentation formats to build and install.')
 option('default_help_format', type: 'combo', choices: ['man', 'html', 'platform'], value: 'platform',
   description: 'Default format used when executing git-help(1).')
 option('docs_backend', type: 'combo', choices: ['asciidoc', 'asciidoctor', 'auto'], value: 'auto',
diff --git a/midx-write.c b/midx-write.c
index a25cab75ab..6d6d29c6cd 100644
--- a/midx-write.c
+++ b/midx-write.c
@@ -1152,7 +1152,7 @@ static bool midx_needs_update(struct multi_pack_index *midx, struct write_midx_c
 
 	/*
 	 * Ensure that we have a valid checksum before consulting the
-	 * exisiting MIDX in order to determine if we can avoid an
+	 * existing MIDX in order to determine if we can avoid an
 	 * update.
 	 *
 	 * This is necessary because the given MIDX is loaded directly
@@ -1438,7 +1438,7 @@ static int write_midx_internal(struct write_midx_opts *opts)
 
 		/*
 		 * Attempt opening the pack index to populate num_objects.
-		 * Ignore failiures as they can be expected and are not
+		 * Ignore failures as they can be expected and are not
 		 * fatal during this selection time.
 		 */
 		open_pack_index(oldest);
diff --git a/odb/source.h b/odb/source.h
index f706e0608a..4958a503cf 100644
--- a/odb/source.h
+++ b/odb/source.h
@@ -338,7 +338,7 @@ static inline int odb_source_read_object_stream(struct odb_read_stream **out,
  * are only iterated over once.
  *
  * The optional `request` structure serves as a template for retrieving the
- * object info for each indvidual iterated object and will be populated as if
+ * object info for each individual iterated object and will be populated as if
  * `odb_source_read_object_info()` was called on the object. It will not be
  * modified, the callback will instead be invoked with a separate `struct
  * object_info` for every object. Object info will not be read when passing a
diff --git a/packfile.h b/packfile.h
index 9b647da7dd..6dea707ba4 100644
--- a/packfile.h
+++ b/packfile.h
@@ -124,7 +124,7 @@ struct packfile_store {
 	 * that packs that contain a lot of accessed objects will be located
 	 * towards the front.
 	 *
-	 * This is usually desireable, but there are exceptions. One exception
+	 * This is usually desirable, but there are exceptions. One exception
 	 * is when the looking up multiple objects in a loop for each packfile.
 	 * In that case, we may easily end up with an infinite loop as the
 	 * packfiles get reordered to the front repeatedly.
diff --git a/path.h b/path.h
index 0434ba5e07..4c2958a903 100644
--- a/path.h
+++ b/path.h
@@ -217,7 +217,7 @@ void safe_create_dir(struct repository *repo, const char *dir, int share);
  *
  *   - It always adjusts shared permissions.
  *
- * Returns a negative erorr code on error, 0 on success.
+ * Returns a negative error code on error, 0 on success.
  */
 int safe_create_dir_in_gitdir(struct repository *repo, const char *path);
 
diff --git a/po/el.po b/po/el.po
index 703f46d0c7..c45560c996 100644
--- a/po/el.po
+++ b/po/el.po
@@ -2748,7 +2748,7 @@ msgid "Low-level Commands / Interrogators"
 msgstr "Εντολές Χαμηλού Επιπέδου / Ερωτημάτων"
 
 #: help.c:37
-msgid "Low-level Commands / Synching Repositories"
+msgid "Low-level Commands / Syncing Repositories"
 msgstr "Εντολές Χαμηλού Επιπέδου / Συγχρονισμού Αποθετηρίων"
 
 #: help.c:38
diff --git a/po/ko.po b/po/ko.po
index 7a6847f023..6bc20a43e3 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -2062,7 +2062,7 @@ msgid "Low-level Commands / Interrogators"
 msgstr "보조 명령 / 정보 획득 기능"
 
 #: help.c:37
-msgid "Low-level Commands / Synching Repositories"
+msgid "Low-level Commands / Syncing Repositories"
 msgstr "보조 명령 / 저장소 동기화 기능"
 
 #: help.c:38
diff --git a/reftable/system.h b/reftable/system.h
index c0e2cbe0ff..628232a46f 100644
--- a/reftable/system.h
+++ b/reftable/system.h
@@ -84,7 +84,7 @@ struct reftable_flock {
  * to acquire the lock. If `timeout_ms` is 0 we don't wait, if it is negative
  * we block indefinitely.
  *
- * Retrun 0 on success, a reftable error code on error. Specifically,
+ * Return 0 on success, a reftable error code on error. Specifically,
  * `REFTABLE_LOCK_ERROR` should be returned in case the target path is already
  * locked.
  */
diff --git a/t/README b/t/README
index adbbd9acf4..085921be4b 100644
--- a/t/README
+++ b/t/README
@@ -972,7 +972,7 @@ see test-lib-functions.sh for the full list and their options.
  - test_lazy_prereq <prereq> <script>
 
    Declare the way to determine if a test prerequisite <prereq> is
-   satisified or not, but delay the actual determination until the
+   satisfied or not, but delay the actual determination until the
    prerequisite is actually used by "test_have_prereq" or the
    three-arg form of the test_expect_* functions.  For example, this
    is how the SYMLINKS prerequisite is declared to see if the platform
diff --git a/t/chainlint.pl b/t/chainlint.pl
index f0598e3934..2d07a99700 100755
--- a/t/chainlint.pl
+++ b/t/chainlint.pl
@@ -35,7 +35,7 @@
 #
 # In other languages, `1+2` would typically be scanned as three tokens
 # (`1`, `+`, and `2`), but in shell it is a single token. However, the similar
-# `1 + 2`, which embeds whitepace, is scanned as three token in shell, as well.
+# `1 + 2`, which embeds whitespace, is scanned as three token in shell, as well.
 # In shell, several characters with special meaning lose that meaning when not
 # surrounded by whitespace. For instance, the negation operator `!` is special
 # when standing alone surrounded by whitespace; whereas in `foo!uucp` it is
diff --git a/t/chainlint/chain-break-false.expect b/t/chainlint/chain-break-false.expect
index f6a0a301e9..db6f8b12a4 100644
--- a/t/chainlint/chain-break-false.expect
+++ b/t/chainlint/chain-break-false.expect
@@ -1,4 +1,4 @@
-2 if condition not satisified
+2 if condition not satisfied
 3 then
 4 	echo it did not work...
 5 	echo failed!
diff --git a/t/chainlint/chain-break-false.test b/t/chainlint/chain-break-false.test
index f78ad911fc..924c9627c0 100644
--- a/t/chainlint/chain-break-false.test
+++ b/t/chainlint/chain-break-false.test
@@ -1,6 +1,6 @@
 test_expect_success 'chain-break-false' '
 # LINT: broken &&-chain okay if explicit "false" signals failure
-if condition not satisified
+if condition not satisfied
 then
 	echo it did not work...
 	echo failed!
diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh
index ac4a5b2734..869fb4a14e 100755
--- a/t/t1700-split-index.sh
+++ b/t/t1700-split-index.sh
@@ -502,7 +502,7 @@ test_expect_success 'do not refresh null base index' '
 		git checkout main &&
 		git update-index --split-index &&
 		test_commit more &&
-		# must not write a new shareindex, or we wont catch the problem
+		# must not write a new shareindex, or we won't catch the problem
 		git -c splitIndex.maxPercentChange=100 merge --no-edit side-branch 2>err &&
 		# i.e. do not expect warnings like
 		# could not freshen shared index .../shareindex.00000...
diff --git a/t/t3909-stash-pathspec-file.sh b/t/t3909-stash-pathspec-file.sh
index 73f2dbdeb0..3afa6bff3d 100755
--- a/t/t3909-stash-pathspec-file.sh
+++ b/t/t3909-stash-pathspec-file.sh
@@ -29,7 +29,7 @@ verify_expect () {
 test_expect_success 'simplest' '
 	restore_checkpoint &&
 
-	# More files are written to make sure that git didnt ignore
+	# More files are written to make sure that git didn't ignore
 	# --pathspec-from-file, stashing everything
 	echo A >fileA.t &&
 	echo B >fileB.t &&
@@ -47,7 +47,7 @@ test_expect_success 'simplest' '
 test_expect_success '--pathspec-file-nul' '
 	restore_checkpoint &&
 
-	# More files are written to make sure that git didnt ignore
+	# More files are written to make sure that git didn't ignore
 	# --pathspec-from-file, stashing everything
 	echo A >fileA.t &&
 	echo B >fileB.t &&
@@ -66,7 +66,7 @@ test_expect_success '--pathspec-file-nul' '
 test_expect_success 'only touches what was listed' '
 	restore_checkpoint &&
 
-	# More files are written to make sure that git didnt ignore
+	# More files are written to make sure that git didn't ignore
 	# --pathspec-from-file, stashing everything
 	echo A >fileA.t &&
 	echo B >fileB.t &&
diff --git a/t/t4052-stat-output.sh b/t/t4052-stat-output.sh
index 7c749062e2..df4999b326 100755
--- a/t/t4052-stat-output.sh
+++ b/t/t4052-stat-output.sh
@@ -420,7 +420,7 @@ test_expect_success 'merge --stat respects COLUMNS with long name' '
 # enough terminal display width, will contain the following line:
 #     "<RED>|<RESET>  ${FILENAME} | 0"
 # where "<RED>" and "<RESET>" are ANSI escape codes to color the text.
-# To calculate the minimium terminal display width MIN_TERM_WIDTH so that the
+# To calculate the minimum terminal display width MIN_TERM_WIDTH so that the
 # FILENAME in the diffstat will not be shortened, we take the FILENAME length
 # and add 9 to it.
 # To check if the diffstat width, when the line_prefix (the "<RED>|<RESET>" of
diff --git a/t/t4067-diff-partial-clone.sh b/t/t4067-diff-partial-clone.sh
index 30813109ac..a9dec84c30 100755
--- a/t/t4067-diff-partial-clone.sh
+++ b/t/t4067-diff-partial-clone.sh
@@ -159,7 +159,7 @@ test_expect_success 'diff succeeds even if prefetch triggered by break-rewrites'
 	# We need baz to trigger break-rewrites detection.
 	git -C client reset --hard HEAD &&
 
-	# break-rewrites detction in reset.
+	# break-rewrites detection in reset.
 	git -C client reset HEAD~1
 '
 
diff --git a/t/t9150/svk-merge.dump b/t/t9150/svk-merge.dump
index 42f70dbec7..6a8ac81b11 100644
--- a/t/t9150/svk-merge.dump
+++ b/t/t9150/svk-merge.dump
@@ -77,7 +77,7 @@ Content-length: 2411
 PROPS-END
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -206,7 +206,7 @@ Content-length: 2465
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -310,7 +310,7 @@ Content-length: 2521
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -417,7 +417,7 @@ Content-length: 2593
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -534,7 +534,7 @@ Content-length: 2713
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
diff --git a/t/t9151/svn-mergeinfo.dump b/t/t9151/svn-mergeinfo.dump
index 47cafcf528..d5e1695637 100644
--- a/t/t9151/svn-mergeinfo.dump
+++ b/t/t9151/svn-mergeinfo.dump
@@ -87,7 +87,7 @@ Content-length: 2411
 PROPS-END
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -260,7 +260,7 @@ Content-length: 2465
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -365,7 +365,7 @@ Content-length: 2521
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -473,7 +473,7 @@ Content-length: 2529
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -578,7 +578,7 @@ Content-length: 2593
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -767,7 +767,7 @@ Content-length: 2593
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -948,7 +948,7 @@ Content-length: 2713
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -1172,7 +1172,7 @@ Content-length: 2713
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -1414,7 +1414,7 @@ Content-length: 2713
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
diff --git a/t/unit-tests/clar/README.md b/t/unit-tests/clar/README.md
index 41595989ca..a45b9c8e5d 100644
--- a/t/unit-tests/clar/README.md
+++ b/t/unit-tests/clar/README.md
@@ -138,7 +138,7 @@ raise errors during test execution.
 __Caution:__ If you use assertions inside of `test_suitename__initialize`,
 make sure that you do not rely on `__initialize` being completely run
 inside your `test_suitename__cleanup` function. Otherwise you might
-encounter ressource cleanup twice.
+encounter resource cleanup twice.
 
 ## How does Clar work?
 
-- 
2.54.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH] doc: fix typos via codespell
  2026-05-06 10:15 [PATCH] doc: fix typos via codespell Andrew Kreimer
@ 2026-05-09 22:14 ` Kristoffer Haugsbakk
  2026-05-28 17:53   ` Kristoffer Haugsbakk
  2026-05-10 22:21 ` Junio C Hamano
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 15+ messages in thread
From: Kristoffer Haugsbakk @ 2026-05-09 22:14 UTC (permalink / raw)
  To: Andrew Kreimer, git

On Wed, May 6, 2026, at 12:15, Andrew Kreimer wrote:
> There are some typos in the documentation, comments, etc.
> Fix them via codespell.
>
> Signed-off-by: Andrew Kreimer <algonell@gmail.com>
> ---
>[snip]
> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
> index d570184ec8..35b4952c8a 100644
> --- a/Documentation/SubmittingPatches
> +++ b/Documentation/SubmittingPatches
> @@ -92,7 +92,7 @@ input and avoids unnecessary churn from many rapid i[INFO ] 2026-05-06 12:13:18.452 [restartedMain] [userId:] c.n.a.DatabaseMigrator - Created measure package with name “Scoring MP w/ content package feedback (NIUP-470)” and key “norse-mp-12”
[INFO ] 2026-05-06 12:13:18.620 [restartedMain] [userId:] c.n.a.DatabaseMigrator - Created measure package with name “Scoring MP w/ charts (NIUP-470)” and key “norse-mp-13”terations.
>    topic are appropriate, so such an incremental updates are limited to
>    small corrections and polishing.  After a topic cooks for some time
>    (like 7 calendar days) in 'next' without needing further tweaks on
> -  top, it gets merged to the 'master' branch and wait to become part
> +  top, it gets merged to the 'master' branch and waits to become part

“It ... waits” (verb agreement). Okay.

>    of the next major release.
>
>  In the following sections, many techniques and conventions are listed
> diff --git a/Documentation/git-sparse-checkout.adoc
> b/Documentation/git-sparse-checkout.adoc
> index 0d1618f161..e286584c67 100644
> --- a/Documentation/git-sparse-checkout.adoc
> +++ b/Documentation/git-sparse-checkout.adoc
> @@ -134,7 +134,7 @@ the `clean.requireForce` config option is set to
> `false`.
>  +
>  The `--dry-run` option will list the directories that would be removed
>  without deleting them. Running in this mode can be helpful to predict the
> -behavior of the clean comand or to determine which kinds of files are left
> +behavior of the clean command or to determine which kinds of files are left

“command” typo.

>  in the sparse directories.
>  +
>  The `--verbose` option will list every file within the directories that
> diff --git a/Documentation/technical/build-systems.adoc
> b/Documentation/technical/build-systems.adoc
> index 3c5237b9fd..ca5b5d96f1 100644
> --- a/Documentation/technical/build-systems.adoc
> +++ b/Documentation/technical/build-systems.adoc
> @@ -47,7 +47,7 @@ Auto-detection of the following items is considered
> to be important:
>
>    - Check for the existence of headers.
>    - Check for the existence of libraries.
> -  - Check for the existence of exectuables.
> +  - Check for the existence of executables.

“executables” typo.

>    - Check for the runtime behavior of specific functions.
>    - Check for specific link order requirements when multiple libraries are
>      involved.
> @@ -106,7 +106,7 @@ by the build system:
>
>    - C: the primary compiled language used by Git, must be supported.
> Relevant
>      toolchains are GCC, Clang and MSVC.
> -  - Rust: candidate as a second compiled lanugage, should be
> supported. Relevant
> +  - Rust: candidate as a second compiled language, should be

“language” typo.

> supported. Relevant
>      toolchains is the LLVM-based rustc.
>
>  Built-in support for the respective languages is preferred over support that
> @@ -142,7 +142,7 @@ The following list of build systems are considered:
>
>  === GNU Make
>
> -- Platform support: ubitquitous on all platforms, but not well-integrated into Windows.
> +- Platform support: ubiquitous on all platforms, but not well-integrated into Windows.

“ubiquitous” typo. (that’s a difficult word for me)

>  - Auto-detection: no built-in support for auto-detection of features.
>  - Ease of use: easy to use, but discovering available options is hard.
> Makefile
>    rules can quickly get out of hand once reaching a certain scope.
> diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
> index dd2480a73d..806068907e 100644
> --- a/builtin/pack-objects.c
> +++ b/builtin/pack-objects.c
> @@ -1341,7 +1341,7 @@ static void write_pack_file(void)
>  			 * length of them as buffer length.
>  			 *
>  			 * Note that we need to subtract one though to
> -			 * accomodate for the sideband byte.
> +			 * accommodate for the sideband byte.

“accommodate” typo.

>  			 */
>  			struct hashfd_options opts = {
>  				.progress = progress_state,
> diff --git a/commit-graph.h b/commit-graph.h
> index f6a5433641..13ca4ff010 100644
> --- a/commit-graph.h
> +++ b/commit-graph.h
> @@ -18,7 +18,7 @@
>   * This method is only used to enhance coverage of the commit-graph
>   * feature in the test suite with the GIT_TEST_COMMIT_GRAPH and
>   * GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS environment variables. Do not
> - * call this method oustide of a builtin, and only if you know what
> + * call this method outside of a builtin, and only if you know what

“outside” typo.

>   * you are doing!
>   */
>  void git_test_write_commit_graph_or_die(struct odb_source *source);
> diff --git a/compat/precompose_utf8.c b/compat/precompose_utf8.c
> index 43b3be0114..6e709bd138 100644
> --- a/compat/precompose_utf8.c
> +++ b/compat/precompose_utf8.c
> @@ -85,7 +85,7 @@ const char *precompose_string_if_needed(const char
> *in)
>  		out = reencode_string_iconv(in, inlen, ic_prec, 0, &outlen);
>  		if (out) {
>  			if (outlen == inlen && !memcmp(in, out, outlen))
> -				free(out); /* no need to return indentical */
> +				free(out); /* no need to return identical */

“identical” typo.

>  			else
>  				in = out;
>  		}
> diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
> index 23fe76e498..40e95bccb4 100755
> --- a/git-gui/git-gui.sh
> +++ b/git-gui/git-gui.sh
> @@ -109,7 +109,7 @@ foreach p [split $env(PATH) $_path_sep] {
>  	if {[file pathtype $p] ne {absolute}} {
>  		continue
>  	}
> -	# Keep only the first occurence of any duplicates.
> +	# Keep only the first occurrence of any duplicates.

“occurrence” typo.

>  	set norm_p [file normalize $p]
>  	dict set _path_seen $norm_p 1
>  }
> diff --git a/git-gui/lib/choose_repository.tcl
> b/git-gui/lib/choose_repository.tcl
> index 7e1462a20c..a4703af028 100644
> --- a/git-gui/lib/choose_repository.tcl
> +++ b/git-gui/lib/choose_repository.tcl
> @@ -15,7 +15,7 @@ field w_recentlist ; # Listbox containing recent
> repositories
>  field w_localpath  ; # Entry widget bound to local_path
>
>  field done              0 ; # Finished picking the repository?
> -field clone_ok      false ; # clone succeeeded
> +field clone_ok      false ; # clone succeeded

“succeeded” typo.

>  field local_path       {} ; # Where this repository is locally
>  field origin_url       {} ; # Where we are cloning from
>  field origin_name  origin ; # What we shall call 'origin'
> diff --git a/git-gui/lib/themed.tcl b/git-gui/lib/themed.tcl
> index c18e201d85..f4cffeac66 100644
> --- a/git-gui/lib/themed.tcl
> +++ b/git-gui/lib/themed.tcl
> @@ -4,7 +4,7 @@
>
>  namespace eval color {
>  	# Variable colors
> -	# Preffered way to set widget colors is using add_option.
> +	# Preferred way to set widget colors is using add_option.

“Preferred” typo.

>  	# In some cases, like with tags in_diff/in_sel, we use these colors.
>  	variable select_bg				lightgray
>  	variable select_fg				black
> diff --git a/hook.h b/hook.h
> index 5c5628dd1f..5f0c3f19bb 100644
> --- a/hook.h
> +++ b/hook.h
> @@ -116,7 +116,7 @@ struct run_hooks_opt {
>  	 * While the callback allows piecemeal writing, it can also be
>  	 * used for smaller inputs, where it gets called only once.
>  	 *
> -	 * Add hook callback initalization context to `feed_pipe_ctx`.
> +	 * Add hook callback initialization context to `feed_pipe_ctx`.

“initialization” typo.

>  	 * Add hook callback internal state to `feed_pipe_cb_data`.
>  	 *
>  	 */
> diff --git a/meson_options.txt b/meson_options.txt
> index 659cbb218f..1ed228d42a 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -106,7 +106,7 @@ option('highlight_bin', type: 'string', value: 'highlight')
>
>  # Documentation.
>  option('docs', type: 'array', choices: ['man', 'html'], value: [],
> -  description: 'Which documenattion formats to build and install.')
> +  description: 'Which documentation formats to build and install.')

“documentation” typo. Took me five seconds to stop.

>  option('default_help_format', type: 'combo', choices: ['man', 'html',
> 'platform'], value: 'platform',
>    description: 'Default format used when executing git-help(1).')
>  option('docs_backend', type: 'combo', choices: ['asciidoc',
> 'asciidoctor', 'auto'], value: 'auto',
> diff --git a/midx-write.c b/midx-write.c
> index a25cab75ab..6d6d29c6cd 100644
> --- a/midx-write.c
> +++ b/midx-write.c
> @@ -1152,7 +1152,7 @@ static bool midx_needs_update(struct
> multi_pack_index *midx, struct write_midx_c
>
>  	/*
>  	 * Ensure that we have a valid checksum before consulting the
> -	 * exisiting MIDX in order to determine if we can avoid an
> +	 * existing MIDX in order to determine if we can avoid an

“existing” typo.

>  	 * update.
>  	 *
>  	 * This is necessary because the given MIDX is loaded directly
> @@ -1438,7 +1438,7 @@ static int write_midx_internal(struct
> write_midx_opts *opts)
>
>  		/*
>  		 * Attempt opening the pack index to populate num_objects.
> -		 * Ignore failiures as they can be expected and are not
> +		 * Ignore failures as they can be expected and are not

“failures” typo.

>  		 * fatal during this selection time.
>  		 */
>  		open_pack_index(oldest);
> diff --git a/odb/source.h b/odb/source.h
> index f706e0608a..4958a503cf 100644
> --- a/odb/source.h
> +++ b/odb/source.h
> @@ -338,7 +338,7 @@ static inline int
> odb_source_read_object_stream(struct odb_read_stream **out,
>   * are only iterated over once.
>   *
>   * The optional `request` structure serves as a template for
> retrieving the
> - * object info for each indvidual iterated object and will be populated as if
> + * object info for each individual iterated object and will be populated as if

“individual” typo.

>   * `odb_source_read_object_info()` was called on the object. It will
> not be
>   * modified, the callback will instead be invoked with a separate
> `struct
>   * object_info` for every object. Object info will not be read when
> passing a
> diff --git a/packfile.h b/packfile.h
> index 9b647da7dd..6dea707ba4 100644
> --- a/packfile.h
> +++ b/packfile.h
> @@ -124,7 +124,7 @@ struct packfile_store {
>  	 * that packs that contain a lot of accessed objects will be located
>  	 * towards the front.
>  	 *
> -	 * This is usually desireable, but there are exceptions. One exception
> +	 * This is usually desirable, but there are exceptions. One exception

“desirable” typo.

>  	 * is when the looking up multiple objects in a loop for each
> packfile.
>  	 * In that case, we may easily end up with an infinite loop as the
>  	 * packfiles get reordered to the front repeatedly.
> diff --git a/path.h b/path.h
> index 0434ba5e07..4c2958a903 100644
> --- a/path.h
> +++ b/path.h
> @@ -217,7 +217,7 @@ void safe_create_dir(struct repository *repo, const
> char *dir, int share);
>   *
>   *   - It always adjusts shared permissions.
>   *
> - * Returns a negative erorr code on error, 0 on success.
> + * Returns a negative error code on error, 0 on success.

“error” typo.

>   */
>  int safe_create_dir_in_gitdir(struct repository *repo, const char
> *path);
>

These next ones are for translations:

> diff --git a/po/el.po b/po/el.po
> index 703f46d0c7..c45560c996 100644
> --- a/po/el.po
> +++ b/po/el.po
> @@ -2748,7 +2748,7 @@ msgid "Low-level Commands / Interrogators"
>  msgstr "Εντολές Χαμηλού Επιπέδου / Ερωτημάτων"
>
>  #: help.c:37
> -msgid "Low-level Commands / Synching Repositories"
> +msgid "Low-level Commands / Syncing Repositories"
>  msgstr "Εντολές Χαμηλού Επιπέδου / Συγχρονισμού Αποθετηρίων"
>
>  #: help.c:38
> diff --git a/po/ko.po b/po/ko.po
> index 7a6847f023..6bc20a43e3 100644
> --- a/po/ko.po
> +++ b/po/ko.po
> @@ -2062,7 +2062,7 @@ msgid "Low-level Commands / Interrogators"
>  msgstr "보조 명령 / 정보 획득 기능"
>
>  #: help.c:37
> -msgid "Low-level Commands / Synching Repositories"
> +msgid "Low-level Commands / Syncing Repositories"
>  msgstr "보조 명령 / 저장소 동기화 기능"

Translation msgids for locales `el` and `ko` are wrong. Should these be
dealt with here or separately? Translations (/po) is its own subsystem.

>
>  #: help.c:38
> diff --git a/reftable/system.h b/reftable/system.h
> index c0e2cbe0ff..628232a46f 100644
> --- a/reftable/system.h
> +++ b/reftable/system.h
> @@ -84,7 +84,7 @@ struct reftable_flock {
>   * to acquire the lock. If `timeout_ms` is 0 we don't wait, if it is
> negative
>   * we block indefinitely.
>   *
> - * Retrun 0 on success, a reftable error code on error. Specifically,
> + * Return 0 on success, a reftable error code on error. Specifically,

“Return”. Took me four seconds to spot.

>   * `REFTABLE_LOCK_ERROR` should be returned in case the target path is
> already
>   * locked.
>   */
> diff --git a/t/README b/t/README
> index adbbd9acf4..085921be4b 100644
> --- a/t/README
> +++ b/t/README
> @@ -972,7 +972,7 @@ see test-lib-functions.sh for the full list and
> their options.
>   - test_lazy_prereq <prereq> <script>
>
>     Declare the way to determine if a test prerequisite <prereq> is
> -   satisified or not, but delay the actual determination until the
> +   satisfied or not, but delay the actual determination until the

“satisfied” typo.

>     prerequisite is actually used by "test_have_prereq" or the
>     three-arg form of the test_expect_* functions.  For example, this
>     is how the SYMLINKS prerequisite is declared to see if the platform
> diff --git a/t/chainlint.pl b/t/chainlint.pl
> index f0598e3934..2d07a99700 100755
> --- a/t/chainlint.pl
> +++ b/t/chainlint.pl
> @@ -35,7 +35,7 @@
>  #
>  # In other languages, `1+2` would typically be scanned as three tokens
>  # (`1`, `+`, and `2`), but in shell it is a single token. However, the similar
> -# `1 + 2`, which embeds whitepace, is scanned as three token in shell, as well.
> +# `1 + 2`, which embeds whitespace, is scanned as three token in shell, as well.

“whitespace” typo.

>  # In shell, several characters with special meaning lose that meaning
> when not
>  # surrounded by whitespace. For instance, the negation operator `!` is
> special
>  # when standing alone surrounded by whitespace; whereas in `foo!uucp`
> it is
> diff --git a/t/chainlint/chain-break-false.expect
> b/t/chainlint/chain-break-false.expect
> index f6a0a301e9..db6f8b12a4 100644
> --- a/t/chainlint/chain-break-false.expect
> +++ b/t/chainlint/chain-break-false.expect
> @@ -1,4 +1,4 @@
> -2 if condition not satisified
> +2 if condition not satisfied
>  3 then
>  4 	echo it did not work...
>  5 	echo failed!
> diff --git a/t/chainlint/chain-break-false.test
> b/t/chainlint/chain-break-false.test
> index f78ad911fc..924c9627c0 100644
> --- a/t/chainlint/chain-break-false.test
> +++ b/t/chainlint/chain-break-false.test
> @@ -1,6 +1,6 @@
>  test_expect_success 'chain-break-false' '
>  # LINT: broken &&-chain okay if explicit "false" signals failure
> -if condition not satisified
> +if condition not satisfied

“satisfied” typo. The “satisified” with the extra “i” seems easy to
make.

>  then
>  	echo it did not work...
>  	echo failed!
> diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh
> index ac4a5b2734..869fb4a14e 100755
> --- a/t/t1700-split-index.sh
> +++ b/t/t1700-split-index.sh
> @@ -502,7 +502,7 @@ test_expect_success 'do not refresh null base
> index' '
>  		git checkout main &&
>  		git update-index --split-index &&
>  		test_commit more &&
> -		# must not write a new shareindex, or we wont catch the problem
> +		# must not write a new shareindex, or we won't catch the problem

Lack of contraction typo.

>  		git -c splitIndex.maxPercentChange=100 merge --no-edit side-branch
> 2>err &&
>  		# i.e. do not expect warnings like
>  		# could not freshen shared index .../shareindex.00000...
> diff --git a/t/t3909-stash-pathspec-file.sh
> b/t/t3909-stash-pathspec-file.sh
> index 73f2dbdeb0..3afa6bff3d 100755
> --- a/t/t3909-stash-pathspec-file.sh
> +++ b/t/t3909-stash-pathspec-file.sh
> @@ -29,7 +29,7 @@ verify_expect () {
>  test_expect_success 'simplest' '
>  	restore_checkpoint &&
>
> -	# More files are written to make sure that git didnt ignore
> +	# More files are written to make sure that git didn't ignore

Ditto.

>  	# --pathspec-from-file, stashing everything
>  	echo A >fileA.t &&
>  	echo B >fileB.t &&
> @@ -47,7 +47,7 @@ test_expect_success 'simplest' '
>  test_expect_success '--pathspec-file-nul' '
>  	restore_checkpoint &&
>
> -	# More files are written to make sure that git didnt ignore
> +	# More files are written to make sure that git didn't ignore

Again.

>  	# --pathspec-from-file, stashing everything
>  	echo A >fileA.t &&
>  	echo B >fileB.t &&
> @@ -66,7 +66,7 @@ test_expect_success '--pathspec-file-nul' '
>  test_expect_success 'only touches what was listed' '
>  	restore_checkpoint &&
>
> -	# More files are written to make sure that git didnt ignore
> +	# More files are written to make sure that git didn't ignore

Again.

>  	# --pathspec-from-file, stashing everything
>  	echo A >fileA.t &&
>  	echo B >fileB.t &&
> diff --git a/t/t4052-stat-output.sh b/t/t4052-stat-output.sh
> index 7c749062e2..df4999b326 100755
> --- a/t/t4052-stat-output.sh
> +++ b/t/t4052-stat-output.sh
> @@ -420,7 +420,7 @@ test_expect_success 'merge --stat respects COLUMNS
> with long name' '
>  # enough terminal display width, will contain the following line:
>  #     "<RED>|<RESET>  ${FILENAME} | 0"
>  # where "<RED>" and "<RESET>" are ANSI escape codes to color the text.
> -# To calculate the minimium terminal display width MIN_TERM_WIDTH so that the
> +# To calculate the minimum terminal display width MIN_TERM_WIDTH so that the

“minimum” typo.

>  # FILENAME in the diffstat will not be shortened, we take the FILENAME
> length
>  # and add 9 to it.
>  # To check if the diffstat width, when the line_prefix (the
> "<RED>|<RESET>" of
> diff --git a/t/t4067-diff-partial-clone.sh
> b/t/t4067-diff-partial-clone.sh
> index 30813109ac..a9dec84c30 100755
> --- a/t/t4067-diff-partial-clone.sh
> +++ b/t/t4067-diff-partial-clone.sh
> @@ -159,7 +159,7 @@ test_expect_success 'diff succeeds even if prefetch
> triggered by break-rewrites'
>  	# We need baz to trigger break-rewrites detection.
>  	git -C client reset --hard HEAD &&
>
> -	# break-rewrites detction in reset.
> +	# break-rewrites detection in reset.

“detection” typo.

>  	git -C client reset HEAD~1
>  '
>
> diff --git a/t/t9150/svk-merge.dump b/t/t9150/svk-merge.dump
> index 42f70dbec7..6a8ac81b11 100644
> --- a/t/t9150/svk-merge.dump
> +++ b/t/t9150/svk-merge.dump
> @@ -77,7 +77,7 @@ Content-length: 2411
>  PROPS-END
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.

“happening”. This took me a minute to spot.

>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -206,7 +206,7 @@ Content-length: 2465
>
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.

Same.

>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -310,7 +310,7 @@ Content-length: 2521
>
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.

Same.

>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -417,7 +417,7 @@ Content-length: 2593
>
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.

Same.

>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -534,7 +534,7 @@ Content-length: 2713
>
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.

Same.

>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> diff --git a/t/t9151/svn-mergeinfo.dump b/t/t9151/svn-mergeinfo.dump
> index 47cafcf528..d5e1695637 100644
> --- a/t/t9151/svn-mergeinfo.dump
> +++ b/t/t9151/svn-mergeinfo.dump
> @@ -87,7 +87,7 @@ Content-length: 2411
>  PROPS-END
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.

Same.

>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -260,7 +260,7 @@ Content-length: 2465
>
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.

Same.

>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -365,7 +365,7 @@ Content-length: 2521
>
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.

Same.

>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -473,7 +473,7 @@ Content-length: 2529
>
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.

Same.

>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -578,7 +578,7 @@ Content-length: 2593
>
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.

Same.

>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -767,7 +767,7 @@ Content-length: 2593
>
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.

Same.

>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -948,7 +948,7 @@ Content-length: 2713
>
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.

Same.

>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -1172,7 +1172,7 @@ Content-length: 2713
>
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.

Same.

>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -1414,7 +1414,7 @@ Content-length: 2713
>
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.

Same.

>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> diff --git a/t/unit-tests/clar/README.md b/t/unit-tests/clar/README.md
> index 41595989ca..a45b9c8e5d 100644
> --- a/t/unit-tests/clar/README.md
> +++ b/t/unit-tests/clar/README.md
> @@ -138,7 +138,7 @@ raise errors during test execution.
>  __Caution:__ If you use assertions inside of `test_suitename__initialize`,
>  make sure that you do not rely on `__initialize` being completely run
>  inside your `test_suitename__cleanup` function. Otherwise you might
> -encounter ressource cleanup twice.
> +encounter resource cleanup twice.

“resource” typo.

>
>  ## How does Clar work?
>
> --
> 2.54.0

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] doc: fix typos via codespell
  2026-05-06 10:15 [PATCH] doc: fix typos via codespell Andrew Kreimer
  2026-05-09 22:14 ` Kristoffer Haugsbakk
@ 2026-05-10 22:21 ` Junio C Hamano
  2026-05-23 17:24   ` Weijie Yuan
  2026-05-31 18:43 ` [PATCH v2] doc: fix typos via codespell Andrew Kreimer
  2026-06-02 11:15 ` [PATCH v3] " Andrew Kreimer
  3 siblings, 1 reply; 15+ messages in thread
From: Junio C Hamano @ 2026-05-10 22:21 UTC (permalink / raw)
  To: Andrew Kreimer; +Cc: git

Andrew Kreimer <algonell@gmail.com> writes:

> There are some typos in the documentation, comments, etc.
> Fix them via codespell.
>
> Signed-off-by: Andrew Kreimer <algonell@gmail.com>
> ---

A few observations.

 * It is a bit too much to be in a single patch to review.

 * The fixes would apply to different vintages of the codebase.
   especially the files in git-gui/ and po/ come from trees
   maintained differently and patches to them need to be separate.

The spellos in *.po files stem from 96c0caf5 (Fix spelling errors in
messages shown to users, 2019-11-05) and .po files for other
languages have been updated to match the updated text in the code
since then, but not these two languages---if they are not maintained
since 2019, we need to wonder if they are worth keeping.

>  Documentation/SubmittingPatches            |  2 +-
>  Documentation/git-sparse-checkout.adoc     |  2 +-
>  Documentation/technical/build-systems.adoc |  6 +++---
>  builtin/pack-objects.c                     |  2 +-
>  commit-graph.h                             |  2 +-
>  compat/precompose_utf8.c                   |  2 +-
>  git-gui/git-gui.sh                         |  2 +-
>  git-gui/lib/choose_repository.tcl          |  2 +-
>  git-gui/lib/themed.tcl                     |  2 +-
>  hook.h                                     |  2 +-
>  meson_options.txt                          |  2 +-
>  midx-write.c                               |  4 ++--
>  odb/source.h                               |  2 +-
>  packfile.h                                 |  2 +-
>  path.h                                     |  2 +-
>  po/el.po                                   |  2 +-
>  po/ko.po                                   |  2 +-

I've read through the patch to above files before I ran out of time
and concentration.  Hopefully somebody else can do the remainder.

Thanks.

>  reftable/system.h                          |  2 +-
>  t/README                                   |  2 +-
>  t/chainlint.pl                             |  2 +-
>  t/chainlint/chain-break-false.expect       |  2 +-
>  t/chainlint/chain-break-false.test         |  2 +-
>  t/t1700-split-index.sh                     |  2 +-
>  t/t3909-stash-pathspec-file.sh             |  6 +++---
>  t/t4052-stat-output.sh                     |  2 +-
>  t/t4067-diff-partial-clone.sh              |  2 +-
>  t/t9150/svk-merge.dump                     | 10 +++++-----
>  t/t9151/svn-mergeinfo.dump                 | 18 +++++++++---------
>  t/unit-tests/clar/README.md                |  2 +-
>  29 files changed, 46 insertions(+), 46 deletions(-)
>
> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
> index d570184ec8..35b4952c8a 100644
> --- a/Documentation/SubmittingPatches
> +++ b/Documentation/SubmittingPatches
> @@ -92,7 +92,7 @@ input and avoids unnecessary churn from many rapid iterations.
>    topic are appropriate, so such an incremental updates are limited to
>    small corrections and polishing.  After a topic cooks for some time
>    (like 7 calendar days) in 'next' without needing further tweaks on
> -  top, it gets merged to the 'master' branch and wait to become part
> +  top, it gets merged to the 'master' branch and waits to become part
>    of the next major release.
>  
>  In the following sections, many techniques and conventions are listed
> diff --git a/Documentation/git-sparse-checkout.adoc b/Documentation/git-sparse-checkout.adoc
> index 0d1618f161..e286584c67 100644
> --- a/Documentation/git-sparse-checkout.adoc
> +++ b/Documentation/git-sparse-checkout.adoc
> @@ -134,7 +134,7 @@ the `clean.requireForce` config option is set to `false`.
>  +
>  The `--dry-run` option will list the directories that would be removed
>  without deleting them. Running in this mode can be helpful to predict the
> -behavior of the clean comand or to determine which kinds of files are left
> +behavior of the clean command or to determine which kinds of files are left
>  in the sparse directories.
>  +
>  The `--verbose` option will list every file within the directories that
> diff --git a/Documentation/technical/build-systems.adoc b/Documentation/technical/build-systems.adoc
> index 3c5237b9fd..ca5b5d96f1 100644
> --- a/Documentation/technical/build-systems.adoc
> +++ b/Documentation/technical/build-systems.adoc
> @@ -47,7 +47,7 @@ Auto-detection of the following items is considered to be important:
>  
>    - Check for the existence of headers.
>    - Check for the existence of libraries.
> -  - Check for the existence of exectuables.
> +  - Check for the existence of executables.
>    - Check for the runtime behavior of specific functions.
>    - Check for specific link order requirements when multiple libraries are
>      involved.
> @@ -106,7 +106,7 @@ by the build system:
>  
>    - C: the primary compiled language used by Git, must be supported. Relevant
>      toolchains are GCC, Clang and MSVC.
> -  - Rust: candidate as a second compiled lanugage, should be supported. Relevant
> +  - Rust: candidate as a second compiled language, should be supported. Relevant
>      toolchains is the LLVM-based rustc.
>  
>  Built-in support for the respective languages is preferred over support that
> @@ -142,7 +142,7 @@ The following list of build systems are considered:
>  
>  === GNU Make
>  
> -- Platform support: ubitquitous on all platforms, but not well-integrated into Windows.
> +- Platform support: ubiquitous on all platforms, but not well-integrated into Windows.
>  - Auto-detection: no built-in support for auto-detection of features.
>  - Ease of use: easy to use, but discovering available options is hard. Makefile
>    rules can quickly get out of hand once reaching a certain scope.
> diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
> index dd2480a73d..806068907e 100644
> --- a/builtin/pack-objects.c
> +++ b/builtin/pack-objects.c
> @@ -1341,7 +1341,7 @@ static void write_pack_file(void)
>  			 * length of them as buffer length.
>  			 *
>  			 * Note that we need to subtract one though to
> -			 * accomodate for the sideband byte.
> +			 * accommodate for the sideband byte.
>  			 */
>  			struct hashfd_options opts = {
>  				.progress = progress_state,
> diff --git a/commit-graph.h b/commit-graph.h
> index f6a5433641..13ca4ff010 100644
> --- a/commit-graph.h
> +++ b/commit-graph.h
> @@ -18,7 +18,7 @@
>   * This method is only used to enhance coverage of the commit-graph
>   * feature in the test suite with the GIT_TEST_COMMIT_GRAPH and
>   * GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS environment variables. Do not
> - * call this method oustide of a builtin, and only if you know what
> + * call this method outside of a builtin, and only if you know what
>   * you are doing!
>   */
>  void git_test_write_commit_graph_or_die(struct odb_source *source);
> diff --git a/compat/precompose_utf8.c b/compat/precompose_utf8.c
> index 43b3be0114..6e709bd138 100644
> --- a/compat/precompose_utf8.c
> +++ b/compat/precompose_utf8.c
> @@ -85,7 +85,7 @@ const char *precompose_string_if_needed(const char *in)
>  		out = reencode_string_iconv(in, inlen, ic_prec, 0, &outlen);
>  		if (out) {
>  			if (outlen == inlen && !memcmp(in, out, outlen))
> -				free(out); /* no need to return indentical */
> +				free(out); /* no need to return identical */
>  			else
>  				in = out;
>  		}
> diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
> index 23fe76e498..40e95bccb4 100755
> --- a/git-gui/git-gui.sh
> +++ b/git-gui/git-gui.sh
> @@ -109,7 +109,7 @@ foreach p [split $env(PATH) $_path_sep] {
>  	if {[file pathtype $p] ne {absolute}} {
>  		continue
>  	}
> -	# Keep only the first occurence of any duplicates.
> +	# Keep only the first occurrence of any duplicates.
>  	set norm_p [file normalize $p]
>  	dict set _path_seen $norm_p 1
>  }
> diff --git a/git-gui/lib/choose_repository.tcl b/git-gui/lib/choose_repository.tcl
> index 7e1462a20c..a4703af028 100644
> --- a/git-gui/lib/choose_repository.tcl
> +++ b/git-gui/lib/choose_repository.tcl
> @@ -15,7 +15,7 @@ field w_recentlist ; # Listbox containing recent repositories
>  field w_localpath  ; # Entry widget bound to local_path
>  
>  field done              0 ; # Finished picking the repository?
> -field clone_ok      false ; # clone succeeeded
> +field clone_ok      false ; # clone succeeded
>  field local_path       {} ; # Where this repository is locally
>  field origin_url       {} ; # Where we are cloning from
>  field origin_name  origin ; # What we shall call 'origin'
> diff --git a/git-gui/lib/themed.tcl b/git-gui/lib/themed.tcl
> index c18e201d85..f4cffeac66 100644
> --- a/git-gui/lib/themed.tcl
> +++ b/git-gui/lib/themed.tcl
> @@ -4,7 +4,7 @@
>  
>  namespace eval color {
>  	# Variable colors
> -	# Preffered way to set widget colors is using add_option.
> +	# Preferred way to set widget colors is using add_option.
>  	# In some cases, like with tags in_diff/in_sel, we use these colors.
>  	variable select_bg				lightgray
>  	variable select_fg				black
> diff --git a/hook.h b/hook.h
> index 5c5628dd1f..5f0c3f19bb 100644
> --- a/hook.h
> +++ b/hook.h
> @@ -116,7 +116,7 @@ struct run_hooks_opt {
>  	 * While the callback allows piecemeal writing, it can also be
>  	 * used for smaller inputs, where it gets called only once.
>  	 *
> -	 * Add hook callback initalization context to `feed_pipe_ctx`.
> +	 * Add hook callback initialization context to `feed_pipe_ctx`.
>  	 * Add hook callback internal state to `feed_pipe_cb_data`.
>  	 *
>  	 */
> diff --git a/meson_options.txt b/meson_options.txt
> index 659cbb218f..1ed228d42a 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -106,7 +106,7 @@ option('highlight_bin', type: 'string', value: 'highlight')
>  
>  # Documentation.
>  option('docs', type: 'array', choices: ['man', 'html'], value: [],
> -  description: 'Which documenattion formats to build and install.')
> +  description: 'Which documentation formats to build and install.')
>  option('default_help_format', type: 'combo', choices: ['man', 'html', 'platform'], value: 'platform',
>    description: 'Default format used when executing git-help(1).')
>  option('docs_backend', type: 'combo', choices: ['asciidoc', 'asciidoctor', 'auto'], value: 'auto',
> diff --git a/midx-write.c b/midx-write.c
> index a25cab75ab..6d6d29c6cd 100644
> --- a/midx-write.c
> +++ b/midx-write.c
> @@ -1152,7 +1152,7 @@ static bool midx_needs_update(struct multi_pack_index *midx, struct write_midx_c
>  
>  	/*
>  	 * Ensure that we have a valid checksum before consulting the
> -	 * exisiting MIDX in order to determine if we can avoid an
> +	 * existing MIDX in order to determine if we can avoid an
>  	 * update.
>  	 *
>  	 * This is necessary because the given MIDX is loaded directly
> @@ -1438,7 +1438,7 @@ static int write_midx_internal(struct write_midx_opts *opts)
>  
>  		/*
>  		 * Attempt opening the pack index to populate num_objects.
> -		 * Ignore failiures as they can be expected and are not
> +		 * Ignore failures as they can be expected and are not
>  		 * fatal during this selection time.
>  		 */
>  		open_pack_index(oldest);
> diff --git a/odb/source.h b/odb/source.h
> index f706e0608a..4958a503cf 100644
> --- a/odb/source.h
> +++ b/odb/source.h
> @@ -338,7 +338,7 @@ static inline int odb_source_read_object_stream(struct odb_read_stream **out,
>   * are only iterated over once.
>   *
>   * The optional `request` structure serves as a template for retrieving the
> - * object info for each indvidual iterated object and will be populated as if
> + * object info for each individual iterated object and will be populated as if
>   * `odb_source_read_object_info()` was called on the object. It will not be
>   * modified, the callback will instead be invoked with a separate `struct
>   * object_info` for every object. Object info will not be read when passing a
> diff --git a/packfile.h b/packfile.h
> index 9b647da7dd..6dea707ba4 100644
> --- a/packfile.h
> +++ b/packfile.h
> @@ -124,7 +124,7 @@ struct packfile_store {
>  	 * that packs that contain a lot of accessed objects will be located
>  	 * towards the front.
>  	 *
> -	 * This is usually desireable, but there are exceptions. One exception
> +	 * This is usually desirable, but there are exceptions. One exception
>  	 * is when the looking up multiple objects in a loop for each packfile.
>  	 * In that case, we may easily end up with an infinite loop as the
>  	 * packfiles get reordered to the front repeatedly.
> diff --git a/path.h b/path.h
> index 0434ba5e07..4c2958a903 100644
> --- a/path.h
> +++ b/path.h
> @@ -217,7 +217,7 @@ void safe_create_dir(struct repository *repo, const char *dir, int share);
>   *
>   *   - It always adjusts shared permissions.
>   *
> - * Returns a negative erorr code on error, 0 on success.
> + * Returns a negative error code on error, 0 on success.
>   */
>  int safe_create_dir_in_gitdir(struct repository *repo, const char *path);
>  
> diff --git a/po/el.po b/po/el.po
> index 703f46d0c7..c45560c996 100644
> --- a/po/el.po
> +++ b/po/el.po
> @@ -2748,7 +2748,7 @@ msgid "Low-level Commands / Interrogators"
>  msgstr "Εντολές Χαμηλού Επιπέδου / Ερωτημάτων"
>  
>  #: help.c:37
> -msgid "Low-level Commands / Synching Repositories"
> +msgid "Low-level Commands / Syncing Repositories"
>  msgstr "Εντολές Χαμηλού Επιπέδου / Συγχρονισμού Αποθετηρίων"
>  
>  #: help.c:38
> diff --git a/po/ko.po b/po/ko.po
> index 7a6847f023..6bc20a43e3 100644
> --- a/po/ko.po
> +++ b/po/ko.po
> @@ -2062,7 +2062,7 @@ msgid "Low-level Commands / Interrogators"
>  msgstr "보조 명령 / 정보 획득 기능"
>  
>  #: help.c:37
> -msgid "Low-level Commands / Synching Repositories"
> +msgid "Low-level Commands / Syncing Repositories"
>  msgstr "보조 명령 / 저장소 동기화 기능"
>  
>  #: help.c:38
> diff --git a/reftable/system.h b/reftable/system.h
> index c0e2cbe0ff..628232a46f 100644
> --- a/reftable/system.h
> +++ b/reftable/system.h
> @@ -84,7 +84,7 @@ struct reftable_flock {
>   * to acquire the lock. If `timeout_ms` is 0 we don't wait, if it is negative
>   * we block indefinitely.
>   *
> - * Retrun 0 on success, a reftable error code on error. Specifically,
> + * Return 0 on success, a reftable error code on error. Specifically,
>   * `REFTABLE_LOCK_ERROR` should be returned in case the target path is already
>   * locked.
>   */
> diff --git a/t/README b/t/README
> index adbbd9acf4..085921be4b 100644
> --- a/t/README
> +++ b/t/README
> @@ -972,7 +972,7 @@ see test-lib-functions.sh for the full list and their options.
>   - test_lazy_prereq <prereq> <script>
>  
>     Declare the way to determine if a test prerequisite <prereq> is
> -   satisified or not, but delay the actual determination until the
> +   satisfied or not, but delay the actual determination until the
>     prerequisite is actually used by "test_have_prereq" or the
>     three-arg form of the test_expect_* functions.  For example, this
>     is how the SYMLINKS prerequisite is declared to see if the platform
> diff --git a/t/chainlint.pl b/t/chainlint.pl
> index f0598e3934..2d07a99700 100755
> --- a/t/chainlint.pl
> +++ b/t/chainlint.pl
> @@ -35,7 +35,7 @@
>  #
>  # In other languages, `1+2` would typically be scanned as three tokens
>  # (`1`, `+`, and `2`), but in shell it is a single token. However, the similar
> -# `1 + 2`, which embeds whitepace, is scanned as three token in shell, as well.
> +# `1 + 2`, which embeds whitespace, is scanned as three token in shell, as well.
>  # In shell, several characters with special meaning lose that meaning when not
>  # surrounded by whitespace. For instance, the negation operator `!` is special
>  # when standing alone surrounded by whitespace; whereas in `foo!uucp` it is
> diff --git a/t/chainlint/chain-break-false.expect b/t/chainlint/chain-break-false.expect
> index f6a0a301e9..db6f8b12a4 100644
> --- a/t/chainlint/chain-break-false.expect
> +++ b/t/chainlint/chain-break-false.expect
> @@ -1,4 +1,4 @@
> -2 if condition not satisified
> +2 if condition not satisfied
>  3 then
>  4 	echo it did not work...
>  5 	echo failed!
> diff --git a/t/chainlint/chain-break-false.test b/t/chainlint/chain-break-false.test
> index f78ad911fc..924c9627c0 100644
> --- a/t/chainlint/chain-break-false.test
> +++ b/t/chainlint/chain-break-false.test
> @@ -1,6 +1,6 @@
>  test_expect_success 'chain-break-false' '
>  # LINT: broken &&-chain okay if explicit "false" signals failure
> -if condition not satisified
> +if condition not satisfied
>  then
>  	echo it did not work...
>  	echo failed!
> diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh
> index ac4a5b2734..869fb4a14e 100755
> --- a/t/t1700-split-index.sh
> +++ b/t/t1700-split-index.sh
> @@ -502,7 +502,7 @@ test_expect_success 'do not refresh null base index' '
>  		git checkout main &&
>  		git update-index --split-index &&
>  		test_commit more &&
> -		# must not write a new shareindex, or we wont catch the problem
> +		# must not write a new shareindex, or we won't catch the problem
>  		git -c splitIndex.maxPercentChange=100 merge --no-edit side-branch 2>err &&
>  		# i.e. do not expect warnings like
>  		# could not freshen shared index .../shareindex.00000...
> diff --git a/t/t3909-stash-pathspec-file.sh b/t/t3909-stash-pathspec-file.sh
> index 73f2dbdeb0..3afa6bff3d 100755
> --- a/t/t3909-stash-pathspec-file.sh
> +++ b/t/t3909-stash-pathspec-file.sh
> @@ -29,7 +29,7 @@ verify_expect () {
>  test_expect_success 'simplest' '
>  	restore_checkpoint &&
>  
> -	# More files are written to make sure that git didnt ignore
> +	# More files are written to make sure that git didn't ignore
>  	# --pathspec-from-file, stashing everything
>  	echo A >fileA.t &&
>  	echo B >fileB.t &&
> @@ -47,7 +47,7 @@ test_expect_success 'simplest' '
>  test_expect_success '--pathspec-file-nul' '
>  	restore_checkpoint &&
>  
> -	# More files are written to make sure that git didnt ignore
> +	# More files are written to make sure that git didn't ignore
>  	# --pathspec-from-file, stashing everything
>  	echo A >fileA.t &&
>  	echo B >fileB.t &&
> @@ -66,7 +66,7 @@ test_expect_success '--pathspec-file-nul' '
>  test_expect_success 'only touches what was listed' '
>  	restore_checkpoint &&
>  
> -	# More files are written to make sure that git didnt ignore
> +	# More files are written to make sure that git didn't ignore
>  	# --pathspec-from-file, stashing everything
>  	echo A >fileA.t &&
>  	echo B >fileB.t &&
> diff --git a/t/t4052-stat-output.sh b/t/t4052-stat-output.sh
> index 7c749062e2..df4999b326 100755
> --- a/t/t4052-stat-output.sh
> +++ b/t/t4052-stat-output.sh
> @@ -420,7 +420,7 @@ test_expect_success 'merge --stat respects COLUMNS with long name' '
>  # enough terminal display width, will contain the following line:
>  #     "<RED>|<RESET>  ${FILENAME} | 0"
>  # where "<RED>" and "<RESET>" are ANSI escape codes to color the text.
> -# To calculate the minimium terminal display width MIN_TERM_WIDTH so that the
> +# To calculate the minimum terminal display width MIN_TERM_WIDTH so that the
>  # FILENAME in the diffstat will not be shortened, we take the FILENAME length
>  # and add 9 to it.
>  # To check if the diffstat width, when the line_prefix (the "<RED>|<RESET>" of
> diff --git a/t/t4067-diff-partial-clone.sh b/t/t4067-diff-partial-clone.sh
> index 30813109ac..a9dec84c30 100755
> --- a/t/t4067-diff-partial-clone.sh
> +++ b/t/t4067-diff-partial-clone.sh
> @@ -159,7 +159,7 @@ test_expect_success 'diff succeeds even if prefetch triggered by break-rewrites'
>  	# We need baz to trigger break-rewrites detection.
>  	git -C client reset --hard HEAD &&
>  
> -	# break-rewrites detction in reset.
> +	# break-rewrites detection in reset.
>  	git -C client reset HEAD~1
>  '
>  
> diff --git a/t/t9150/svk-merge.dump b/t/t9150/svk-merge.dump
> index 42f70dbec7..6a8ac81b11 100644
> --- a/t/t9150/svk-merge.dump
> +++ b/t/t9150/svk-merge.dump
> @@ -77,7 +77,7 @@ Content-length: 2411
>  PROPS-END
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.
>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -206,7 +206,7 @@ Content-length: 2465
>  
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.
>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -310,7 +310,7 @@ Content-length: 2521
>  
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.
>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -417,7 +417,7 @@ Content-length: 2593
>  
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.
>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -534,7 +534,7 @@ Content-length: 2713
>  
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.
>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> diff --git a/t/t9151/svn-mergeinfo.dump b/t/t9151/svn-mergeinfo.dump
> index 47cafcf528..d5e1695637 100644
> --- a/t/t9151/svn-mergeinfo.dump
> +++ b/t/t9151/svn-mergeinfo.dump
> @@ -87,7 +87,7 @@ Content-length: 2411
>  PROPS-END
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.
>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -260,7 +260,7 @@ Content-length: 2465
>  
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.
>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -365,7 +365,7 @@ Content-length: 2521
>  
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.
>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -473,7 +473,7 @@ Content-length: 2529
>  
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.
>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -578,7 +578,7 @@ Content-length: 2593
>  
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.
>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -767,7 +767,7 @@ Content-length: 2593
>  
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.
>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -948,7 +948,7 @@ Content-length: 2713
>  
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.
>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -1172,7 +1172,7 @@ Content-length: 2713
>  
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.
>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> @@ -1414,7 +1414,7 @@ Content-length: 2713
>  
>  # -DCOLLISION_CHECK if you believe that SHA1's
>  # 1461501637330902918203684832716283019655932542976 hashes do not give you
> -# enough guarantees about no collisions between objects ever hapenning.
> +# enough guarantees about no collisions between objects ever happening.
>  #
>  # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
>  # Note that you need some new glibc (at least >2.2.4) for this, and it will
> diff --git a/t/unit-tests/clar/README.md b/t/unit-tests/clar/README.md
> index 41595989ca..a45b9c8e5d 100644
> --- a/t/unit-tests/clar/README.md
> +++ b/t/unit-tests/clar/README.md
> @@ -138,7 +138,7 @@ raise errors during test execution.
>  __Caution:__ If you use assertions inside of `test_suitename__initialize`,
>  make sure that you do not rely on `__initialize` being completely run
>  inside your `test_suitename__cleanup` function. Otherwise you might
> -encounter ressource cleanup twice.
> +encounter resource cleanup twice.
>  
>  ## How does Clar work?

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] doc: fix typos via codespell
  2026-05-10 22:21 ` Junio C Hamano
@ 2026-05-23 17:24   ` Weijie Yuan
  2026-05-29  8:17     ` [PATCH] docs: fix typos and grammar Weijie Yuan
  0 siblings, 1 reply; 15+ messages in thread
From: Weijie Yuan @ 2026-05-23 17:24 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Andrew Kreimer, git

Hi Mr. Hamano, I've checked the rest of patch, I believe Mr. Kreimer is doing
great.  Meanwhile, I'm wondering if you are happy to accept patches
about typos or not, since I have other remaining corrections for typos
here.  If you don't mind, may I send a version of it add sort this patch
series out.

Thanks,
Weijie Yuan

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] doc: fix typos via codespell
  2026-05-09 22:14 ` Kristoffer Haugsbakk
@ 2026-05-28 17:53   ` Kristoffer Haugsbakk
  2026-05-28 20:37     ` Junio C Hamano
  0 siblings, 1 reply; 15+ messages in thread
From: Kristoffer Haugsbakk @ 2026-05-28 17:53 UTC (permalink / raw)
  To: Andrew Kreimer, git

On Sun, May 10, 2026, at 00:14, Kristoffer Haugsbakk wrote:
> On Wed, May 6, 2026, at 12:15, Andrew Kreimer wrote:
>> There are some typos in the documentation, comments, etc.
>> Fix them via codespell.
>>
>> Signed-off-by: Andrew Kreimer <algonell@gmail.com>
>> ---
>>[snip]

I went through the typos in my previous message and with the exception
of `po/` they all look good. They are all either documentation typos
or typos in code comments. And they are all legitimate, in other words
not false positives.

With Junio’s email in mind, I think a second version which just drops
the `po/` and git-gui typo fixes would be good. Since they are different
projects.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] doc: fix typos via codespell
  2026-05-28 17:53   ` Kristoffer Haugsbakk
@ 2026-05-28 20:37     ` Junio C Hamano
  0 siblings, 0 replies; 15+ messages in thread
From: Junio C Hamano @ 2026-05-28 20:37 UTC (permalink / raw)
  To: Kristoffer Haugsbakk; +Cc: Andrew Kreimer, git

"Kristoffer Haugsbakk" <kristofferhaugsbakk@fastmail.com> writes:

> On Sun, May 10, 2026, at 00:14, Kristoffer Haugsbakk wrote:
>> On Wed, May 6, 2026, at 12:15, Andrew Kreimer wrote:
>>> There are some typos in the documentation, comments, etc.
>>> Fix them via codespell.
>>>
>>> Signed-off-by: Andrew Kreimer <algonell@gmail.com>
>>> ---
>>>[snip]
>
> I went through the typos in my previous message and with the exception
> of `po/` they all look good. They are all either documentation typos
> or typos in code comments. And they are all legitimate, in other words
> not false positives.
>
> With Junio’s email in mind, I think a second version which just drops
> the `po/` and git-gui typo fixes would be good. Since they are different
> projects.

Thanks!.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH] docs: fix typos and grammar
  2026-05-23 17:24   ` Weijie Yuan
@ 2026-05-29  8:17     ` Weijie Yuan
  2026-06-01 22:23       ` Junio C Hamano
  0 siblings, 1 reply; 15+ messages in thread
From: Weijie Yuan @ 2026-05-29  8:17 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Andrew Kreimer, git

Fix several spelling mistakes, subject-verb agreement issues, and
duplicated words.

Signed-off-by: Weijie Yuan <wy@wyuan.org>
---

Sorry for my previous meaningless email, now I realize it's better to
come up with a real patch, insteading of talks.

I hope this does not duplicate the previous patch, though I've check
twice.

summary:

* the ones that has
                -> have

* duplicated words

* ambigious -> ambiguous


ps: my last email has an invalid Message-ID, sorry for b4 users.


 Documentation/fetch-options.adoc     | 2 +-
 combine-diff.c                       | 2 +-
 contrib/subtree/t/t7900-subtree.sh   | 2 +-
 csum-file.h                          | 2 +-
 delta-islands.c                      | 2 +-
 diffcore-pickaxe.c                   | 2 +-
 odb.h                                | 2 +-
 parse-options.c                      | 2 +-
 rerere.c                             | 2 +-
 t/t4203-mailmap.sh                   | 2 +-
 t/t9100-git-svn-basic.sh             | 2 +-
 t/test-lib-github-workflow-markup.sh | 2 +-
 t/test-lib-junit.sh                  | 2 +-
 tree-walk.h                          | 2 +-
 14 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/Documentation/fetch-options.adoc b/Documentation/fetch-options.adoc
index 8074004377..035f780e58 100644
--- a/Documentation/fetch-options.adoc
+++ b/Documentation/fetch-options.adoc
@@ -1,6 +1,6 @@
 `--all`::
 `--no-all`::
-	Fetch all remotes, except for the ones that has the
+	Fetch all remotes, except for the ones that have the
 	`remote.<name>.skipFetchAll` configuration variable set.
 	This overrides the configuration variable `fetch.all`.

diff --git a/combine-diff.c b/combine-diff.c
index b799862068..720768ce41 100644
--- a/combine-diff.c
+++ b/combine-diff.c
@@ -666,7 +666,7 @@ static int make_hunks(struct sline *sline, unsigned long cnt,
 		 *   (-) line, which records from what parents the line
 		 *       was removed; this line does not appear in the result.
 		 * then check the set of parents the result has difference
-		 * from, from all lines.  If there are lines that has
+		 * from, from all lines.  If there are lines that have
 		 * different set of parents that the result has differences
 		 * from, that means we have more than two versions.
 		 *
diff --git a/contrib/subtree/t/t7900-subtree.sh b/contrib/subtree/t/t7900-subtree.sh
index 18d2b56448..4194687cfb 100755
--- a/contrib/subtree/t/t7900-subtree.sh
+++ b/contrib/subtree/t/t7900-subtree.sh
@@ -75,7 +75,7 @@ test_create_pre2_32_repo () {
 #
 # Create a simple subtree on a new branch named ORPHAN in REPO.
 # The subtree is then merged into the current branch of REPO,
-# under PREFIX. The generated subtree has has one commit
+# under PREFIX. The generated subtree has one commit
 # with subject and tag FILENAME with a single file "FILENAME.t"
 #
 # When this method returns:
diff --git a/csum-file.h b/csum-file.h
index a9b390d336..a270738a7a 100644
--- a/csum-file.h
+++ b/csum-file.h
@@ -52,7 +52,7 @@ struct hashfd_options {
 	 */
 	struct progress *progress;

-	/* The length of the buffer that shall be used read read data. */
+	/* The length of the buffer that shall be used to read data. */
 	size_t buffer_len;
 };

diff --git a/delta-islands.c b/delta-islands.c
index f4d2468790..e71a7e1c05 100644
--- a/delta-islands.c
+++ b/delta-islands.c
@@ -527,7 +527,7 @@ void free_island_marks(void)
 		kh_destroy_oid_map(island_marks);
 	}

-	/* detect use-after-free with a an address which is never valid: */
+	/* detect use-after-free with an address which is never valid: */
 	island_marks = (void *)-1;
 }

diff --git a/diffcore-pickaxe.c b/diffcore-pickaxe.c
index a52d569911..b0915be86f 100644
--- a/diffcore-pickaxe.c
+++ b/diffcore-pickaxe.c
@@ -203,7 +203,7 @@ static void pickaxe(struct diff_queue_struct *q, struct diff_options *o,
 		for (i = 0; i < q->nr; i++)
 			diff_free_filepair(q->queue[i]);
 	} else {
-		/* Showing only the filepairs that has the needle */
+		/* Showing only the filepairs that have the needle */
 		for (i = 0; i < q->nr; i++) {
 			struct diff_filepair *p = q->queue[i];
 			if (pickaxe_match(p, o, regexp, kws, fn))
diff --git a/odb.h b/odb.h
index 73553ed5a7..0030467a52 100644
--- a/odb.h
+++ b/odb.h
@@ -40,7 +40,7 @@ struct object_database {
 	struct repository *repo;

 	/*
-	 * State of current current object database transaction. Only one
+	 * State of current object database transaction. Only one
 	 * transaction may be pending at a time. Is NULL when no transaction is
 	 * configured.
 	 */
diff --git a/parse-options.c b/parse-options.c
index a676da86f5..f4647e0099 100644
--- a/parse-options.c
+++ b/parse-options.c
@@ -1149,7 +1149,7 @@ enum parse_opt_result parse_options_step(struct parse_opt_ctx_t *ctx,
 		    (ctx->flags & PARSE_OPT_KEEP_UNKNOWN_OPT)) {
 			/*
 			 * Found an unknown option given to a command with
-			 * subcommands that has a default operation mode:
+			 * subcommands that have a default operation mode:
 			 * we treat this option and all remaining args as
 			 * arguments meant to that default operation mode.
 			 * So we are done parsing.
diff --git a/rerere.c b/rerere.c
index 0296700f9f..28a740b771 100644
--- a/rerere.c
+++ b/rerere.c
@@ -548,7 +548,7 @@ static int check_one_conflict(struct index_state *istate, int i, int *type)

 /*
  * Scan the index and find paths that have conflicts that rerere can
- * handle, i.e. the ones that has both stages #2 and #3.
+ * handle, i.e. the ones that have both stages #2 and #3.
  *
  * NEEDSWORK: we do not record or replay a previous "resolve by
  * deletion" for a delete-modify conflict, as that is inherently risky
diff --git a/t/t4203-mailmap.sh b/t/t4203-mailmap.sh
index 74b7ddccb2..03f6df9d24 100755
--- a/t/t4203-mailmap.sh
+++ b/t/t4203-mailmap.sh
@@ -180,7 +180,7 @@ test_expect_success 'mailmap.file set' '
 	git shortlog HEAD >actual &&
 	test_cmp expect actual &&

-	# The internal_mailmap/.mailmap file is an a subdirectory, but
+	# The internal_mailmap/.mailmap file is in a subdirectory, but
 	# as shown here it can also be outside the repository
 	test_when_finished "rm -rf sub-repo" &&
 	git clone . sub-repo &&
diff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh
index af28b01fef..1ab98b9c37 100755
--- a/t/t9100-git-svn-basic.sh
+++ b/t/t9100-git-svn-basic.sh
@@ -232,7 +232,7 @@ test_expect_success POSIXPERM,SYMLINKS "$name" '
 	test_cmp expected.$(test_oid algo) a
 '

-test_expect_success 'exit if remote refs are ambigious' '
+test_expect_success 'exit if remote refs are ambiguous' '
 	git config --add svn-remote.svn.fetch \
 		bar:refs/remotes/git-svn &&
 	test_must_fail git svn migrate
diff --git a/t/test-lib-github-workflow-markup.sh b/t/test-lib-github-workflow-markup.sh
index 33405c90d7..fa29a62aa3 100644
--- a/t/test-lib-github-workflow-markup.sh
+++ b/t/test-lib-github-workflow-markup.sh
@@ -18,7 +18,7 @@
 #
 # The idea is for `test-lib.sh` to source this file when run in GitHub
 # workflows; these functions will then override (empty) functions
-# that are are called at the appropriate times during the test runs.
+# that are called at the appropriate times during the test runs.

 test_skip_test_preamble=t

diff --git a/t/test-lib-junit.sh b/t/test-lib-junit.sh
index 76cbbd3299..f4994dd9d3 100644
--- a/t/test-lib-junit.sh
+++ b/t/test-lib-junit.sh
@@ -19,7 +19,7 @@
 #
 # The idea is for `test-lib.sh` to source this file when the user asks
 # for JUnit XML; these functions will then override (empty) functions
-# that are are called at the appropriate times during the test runs.
+# that are called at the appropriate times during the test runs.

 start_test_output () {
 	junit_xml_dir="$TEST_OUTPUT_DIRECTORY/out"
diff --git a/tree-walk.h b/tree-walk.h
index 29a55328bd..9646c47ac5 100644
--- a/tree-walk.h
+++ b/tree-walk.h
@@ -177,7 +177,7 @@ struct traverse_info {

 /**
  * Walk trees starting with "tree_oid" to find the entry for "name", and
- * return the the object name and the mode of the found entry via the
+ * return the object name and the mode of the found entry via the
  * "oid" and "mode" parameters.  Return 0 if the entry is found, and -1
  * otherwise.
  */
--
2.54.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2] doc: fix typos via codespell
  2026-05-06 10:15 [PATCH] doc: fix typos via codespell Andrew Kreimer
  2026-05-09 22:14 ` Kristoffer Haugsbakk
  2026-05-10 22:21 ` Junio C Hamano
@ 2026-05-31 18:43 ` Andrew Kreimer
  2026-06-01  1:16   ` Junio C Hamano
  2026-06-02 11:15 ` [PATCH v3] " Andrew Kreimer
  3 siblings, 1 reply; 15+ messages in thread
From: Andrew Kreimer @ 2026-05-31 18:43 UTC (permalink / raw)
  To: git; +Cc: Andrew Kreimer

There are some typos in the documentation, comments, etc.
Fix them via codespell.

Signed-off-by: Andrew Kreimer <algonell@gmail.com>
---
v2:
  - Drop typos under po/ and git-gui/ (different projects).

 Documentation/SubmittingPatches            |  2 +-
 Documentation/git-sparse-checkout.adoc     |  2 +-
 Documentation/technical/build-systems.adoc |  6 +++---
 builtin/pack-objects.c                     |  2 +-
 commit-graph.h                             |  2 +-
 compat/precompose_utf8.c                   |  2 +-
 hook.h                                     |  2 +-
 meson_options.txt                          |  2 +-
 midx-write.c                               |  2 +-
 odb/source.h                               |  2 +-
 packfile.h                                 |  2 +-
 path.h                                     |  2 +-
 reftable/system.h                          |  2 +-
 t/README                                   |  2 +-
 t/chainlint.pl                             |  2 +-
 t/chainlint/chain-break-false.expect       |  2 +-
 t/chainlint/chain-break-false.test         |  2 +-
 t/t1700-split-index.sh                     |  2 +-
 t/t3909-stash-pathspec-file.sh             |  6 +++---
 t/t4052-stat-output.sh                     |  2 +-
 t/t4067-diff-partial-clone.sh              |  2 +-
 t/t9150/svk-merge.dump                     | 10 +++++-----
 t/t9151/svn-mergeinfo.dump                 | 18 +++++++++---------
 t/unit-tests/clar/README.md                |  2 +-
 24 files changed, 40 insertions(+), 40 deletions(-)

diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index d570184ec8..35b4952c8a 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -92,7 +92,7 @@ input and avoids unnecessary churn from many rapid iterations.
   topic are appropriate, so such an incremental updates are limited to
   small corrections and polishing.  After a topic cooks for some time
   (like 7 calendar days) in 'next' without needing further tweaks on
-  top, it gets merged to the 'master' branch and wait to become part
+  top, it gets merged to the 'master' branch and waits to become part
   of the next major release.
 
 In the following sections, many techniques and conventions are listed
diff --git a/Documentation/git-sparse-checkout.adoc b/Documentation/git-sparse-checkout.adoc
index 0d1618f161..e286584c67 100644
--- a/Documentation/git-sparse-checkout.adoc
+++ b/Documentation/git-sparse-checkout.adoc
@@ -134,7 +134,7 @@ the `clean.requireForce` config option is set to `false`.
 +
 The `--dry-run` option will list the directories that would be removed
 without deleting them. Running in this mode can be helpful to predict the
-behavior of the clean comand or to determine which kinds of files are left
+behavior of the clean command or to determine which kinds of files are left
 in the sparse directories.
 +
 The `--verbose` option will list every file within the directories that
diff --git a/Documentation/technical/build-systems.adoc b/Documentation/technical/build-systems.adoc
index 3c5237b9fd..ca5b5d96f1 100644
--- a/Documentation/technical/build-systems.adoc
+++ b/Documentation/technical/build-systems.adoc
@@ -47,7 +47,7 @@ Auto-detection of the following items is considered to be important:
 
   - Check for the existence of headers.
   - Check for the existence of libraries.
-  - Check for the existence of exectuables.
+  - Check for the existence of executables.
   - Check for the runtime behavior of specific functions.
   - Check for specific link order requirements when multiple libraries are
     involved.
@@ -106,7 +106,7 @@ by the build system:
 
   - C: the primary compiled language used by Git, must be supported. Relevant
     toolchains are GCC, Clang and MSVC.
-  - Rust: candidate as a second compiled lanugage, should be supported. Relevant
+  - Rust: candidate as a second compiled language, should be supported. Relevant
     toolchains is the LLVM-based rustc.
 
 Built-in support for the respective languages is preferred over support that
@@ -142,7 +142,7 @@ The following list of build systems are considered:
 
 === GNU Make
 
-- Platform support: ubitquitous on all platforms, but not well-integrated into Windows.
+- Platform support: ubiquitous on all platforms, but not well-integrated into Windows.
 - Auto-detection: no built-in support for auto-detection of features.
 - Ease of use: easy to use, but discovering available options is hard. Makefile
   rules can quickly get out of hand once reaching a certain scope.
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index 480cc0bd8c..558cf821fe 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -1349,7 +1349,7 @@ static void write_pack_file(void)
 			 * length of them as buffer length.
 			 *
 			 * Note that we need to subtract one though to
-			 * accomodate for the sideband byte.
+			 * accommodate for the sideband byte.
 			 */
 			struct hashfd_options opts = {
 				.progress = progress_state,
diff --git a/commit-graph.h b/commit-graph.h
index f6a5433641..13ca4ff010 100644
--- a/commit-graph.h
+++ b/commit-graph.h
@@ -18,7 +18,7 @@
  * This method is only used to enhance coverage of the commit-graph
  * feature in the test suite with the GIT_TEST_COMMIT_GRAPH and
  * GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS environment variables. Do not
- * call this method oustide of a builtin, and only if you know what
+ * call this method outside of a builtin, and only if you know what
  * you are doing!
  */
 void git_test_write_commit_graph_or_die(struct odb_source *source);
diff --git a/compat/precompose_utf8.c b/compat/precompose_utf8.c
index 43b3be0114..6e709bd138 100644
--- a/compat/precompose_utf8.c
+++ b/compat/precompose_utf8.c
@@ -85,7 +85,7 @@ const char *precompose_string_if_needed(const char *in)
 		out = reencode_string_iconv(in, inlen, ic_prec, 0, &outlen);
 		if (out) {
 			if (outlen == inlen && !memcmp(in, out, outlen))
-				free(out); /* no need to return indentical */
+				free(out); /* no need to return identical */
 			else
 				in = out;
 		}
diff --git a/hook.h b/hook.h
index b4372b636f..27bb1aeb2e 100644
--- a/hook.h
+++ b/hook.h
@@ -128,7 +128,7 @@ struct run_hooks_opt {
 	 * While the callback allows piecemeal writing, it can also be
 	 * used for smaller inputs, where it gets called only once.
 	 *
-	 * Add hook callback initalization context to `feed_pipe_ctx`.
+	 * Add hook callback initialization context to `feed_pipe_ctx`.
 	 * Add hook callback internal state to `feed_pipe_cb_data`.
 	 *
 	 */
diff --git a/meson_options.txt b/meson_options.txt
index 80a8025f20..d936ada098 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -106,7 +106,7 @@ option('highlight_bin', type: 'string', value: 'highlight')
 
 # Documentation.
 option('docs', type: 'array', choices: ['man', 'html'], value: [],
-  description: 'Which documenattion formats to build and install.')
+  description: 'Which documentation formats to build and install.')
 option('default_help_format', type: 'combo', choices: ['man', 'html', 'platform'], value: 'platform',
   description: 'Default format used when executing git-help(1).')
 option('docs_backend', type: 'combo', choices: ['asciidoc', 'asciidoctor', 'auto'], value: 'auto',
diff --git a/midx-write.c b/midx-write.c
index 561e9eedc0..19e1cd10b7 100644
--- a/midx-write.c
+++ b/midx-write.c
@@ -1461,7 +1461,7 @@ static int write_midx_internal(struct write_midx_opts *opts)
 
 		/*
 		 * Attempt opening the pack index to populate num_objects.
-		 * Ignore failiures as they can be expected and are not
+		 * Ignore failures as they can be expected and are not
 		 * fatal during this selection time.
 		 */
 		open_pack_index(oldest);
diff --git a/odb/source.h b/odb/source.h
index 0a440884e4..2f51fcb9ff 100644
--- a/odb/source.h
+++ b/odb/source.h
@@ -341,7 +341,7 @@ static inline int odb_source_read_object_stream(struct odb_read_stream **out,
  * are only iterated over once.
  *
  * The optional `request` structure serves as a template for retrieving the
- * object info for each indvidual iterated object and will be populated as if
+ * object info for each individual iterated object and will be populated as if
  * `odb_source_read_object_info()` was called on the object. It will not be
  * modified, the callback will instead be invoked with a separate `struct
  * object_info` for every object. Object info will not be read when passing a
diff --git a/packfile.h b/packfile.h
index 49d6bdecf6..5729a37018 100644
--- a/packfile.h
+++ b/packfile.h
@@ -124,7 +124,7 @@ struct packfile_store {
 	 * that packs that contain a lot of accessed objects will be located
 	 * towards the front.
 	 *
-	 * This is usually desireable, but there are exceptions. One exception
+	 * This is usually desirable, but there are exceptions. One exception
 	 * is when the looking up multiple objects in a loop for each packfile.
 	 * In that case, we may easily end up with an infinite loop as the
 	 * packfiles get reordered to the front repeatedly.
diff --git a/path.h b/path.h
index 0434ba5e07..4c2958a903 100644
--- a/path.h
+++ b/path.h
@@ -217,7 +217,7 @@ void safe_create_dir(struct repository *repo, const char *dir, int share);
  *
  *   - It always adjusts shared permissions.
  *
- * Returns a negative erorr code on error, 0 on success.
+ * Returns a negative error code on error, 0 on success.
  */
 int safe_create_dir_in_gitdir(struct repository *repo, const char *path);
 
diff --git a/reftable/system.h b/reftable/system.h
index c0e2cbe0ff..628232a46f 100644
--- a/reftable/system.h
+++ b/reftable/system.h
@@ -84,7 +84,7 @@ struct reftable_flock {
  * to acquire the lock. If `timeout_ms` is 0 we don't wait, if it is negative
  * we block indefinitely.
  *
- * Retrun 0 on success, a reftable error code on error. Specifically,
+ * Return 0 on success, a reftable error code on error. Specifically,
  * `REFTABLE_LOCK_ERROR` should be returned in case the target path is already
  * locked.
  */
diff --git a/t/README b/t/README
index adbbd9acf4..085921be4b 100644
--- a/t/README
+++ b/t/README
@@ -972,7 +972,7 @@ see test-lib-functions.sh for the full list and their options.
  - test_lazy_prereq <prereq> <script>
 
    Declare the way to determine if a test prerequisite <prereq> is
-   satisified or not, but delay the actual determination until the
+   satisfied or not, but delay the actual determination until the
    prerequisite is actually used by "test_have_prereq" or the
    three-arg form of the test_expect_* functions.  For example, this
    is how the SYMLINKS prerequisite is declared to see if the platform
diff --git a/t/chainlint.pl b/t/chainlint.pl
index f0598e3934..2d07a99700 100755
--- a/t/chainlint.pl
+++ b/t/chainlint.pl
@@ -35,7 +35,7 @@
 #
 # In other languages, `1+2` would typically be scanned as three tokens
 # (`1`, `+`, and `2`), but in shell it is a single token. However, the similar
-# `1 + 2`, which embeds whitepace, is scanned as three token in shell, as well.
+# `1 + 2`, which embeds whitespace, is scanned as three token in shell, as well.
 # In shell, several characters with special meaning lose that meaning when not
 # surrounded by whitespace. For instance, the negation operator `!` is special
 # when standing alone surrounded by whitespace; whereas in `foo!uucp` it is
diff --git a/t/chainlint/chain-break-false.expect b/t/chainlint/chain-break-false.expect
index f6a0a301e9..db6f8b12a4 100644
--- a/t/chainlint/chain-break-false.expect
+++ b/t/chainlint/chain-break-false.expect
@@ -1,4 +1,4 @@
-2 if condition not satisified
+2 if condition not satisfied
 3 then
 4 	echo it did not work...
 5 	echo failed!
diff --git a/t/chainlint/chain-break-false.test b/t/chainlint/chain-break-false.test
index f78ad911fc..924c9627c0 100644
--- a/t/chainlint/chain-break-false.test
+++ b/t/chainlint/chain-break-false.test
@@ -1,6 +1,6 @@
 test_expect_success 'chain-break-false' '
 # LINT: broken &&-chain okay if explicit "false" signals failure
-if condition not satisified
+if condition not satisfied
 then
 	echo it did not work...
 	echo failed!
diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh
index ac4a5b2734..869fb4a14e 100755
--- a/t/t1700-split-index.sh
+++ b/t/t1700-split-index.sh
@@ -502,7 +502,7 @@ test_expect_success 'do not refresh null base index' '
 		git checkout main &&
 		git update-index --split-index &&
 		test_commit more &&
-		# must not write a new shareindex, or we wont catch the problem
+		# must not write a new shareindex, or we won't catch the problem
 		git -c splitIndex.maxPercentChange=100 merge --no-edit side-branch 2>err &&
 		# i.e. do not expect warnings like
 		# could not freshen shared index .../shareindex.00000...
diff --git a/t/t3909-stash-pathspec-file.sh b/t/t3909-stash-pathspec-file.sh
index 73f2dbdeb0..3afa6bff3d 100755
--- a/t/t3909-stash-pathspec-file.sh
+++ b/t/t3909-stash-pathspec-file.sh
@@ -29,7 +29,7 @@ verify_expect () {
 test_expect_success 'simplest' '
 	restore_checkpoint &&
 
-	# More files are written to make sure that git didnt ignore
+	# More files are written to make sure that git didn't ignore
 	# --pathspec-from-file, stashing everything
 	echo A >fileA.t &&
 	echo B >fileB.t &&
@@ -47,7 +47,7 @@ test_expect_success 'simplest' '
 test_expect_success '--pathspec-file-nul' '
 	restore_checkpoint &&
 
-	# More files are written to make sure that git didnt ignore
+	# More files are written to make sure that git didn't ignore
 	# --pathspec-from-file, stashing everything
 	echo A >fileA.t &&
 	echo B >fileB.t &&
@@ -66,7 +66,7 @@ test_expect_success '--pathspec-file-nul' '
 test_expect_success 'only touches what was listed' '
 	restore_checkpoint &&
 
-	# More files are written to make sure that git didnt ignore
+	# More files are written to make sure that git didn't ignore
 	# --pathspec-from-file, stashing everything
 	echo A >fileA.t &&
 	echo B >fileB.t &&
diff --git a/t/t4052-stat-output.sh b/t/t4052-stat-output.sh
index e009585925..62d3d2604c 100755
--- a/t/t4052-stat-output.sh
+++ b/t/t4052-stat-output.sh
@@ -420,7 +420,7 @@ test_expect_success 'merge --stat respects COLUMNS with long name' '
 # enough terminal display width, will contain the following line:
 #     "<RED>|<RESET>  ${FILENAME} | 0"
 # where "<RED>" and "<RESET>" are ANSI escape codes to color the text.
-# To calculate the minimium terminal display width MIN_TERM_WIDTH so that the
+# To calculate the minimum terminal display width MIN_TERM_WIDTH so that the
 # FILENAME in the diffstat will not be shortened, we take the FILENAME length
 # and add 9 to it.
 # To check if the diffstat width, when the line_prefix (the "<RED>|<RESET>" of
diff --git a/t/t4067-diff-partial-clone.sh b/t/t4067-diff-partial-clone.sh
index 30813109ac..a9dec84c30 100755
--- a/t/t4067-diff-partial-clone.sh
+++ b/t/t4067-diff-partial-clone.sh
@@ -159,7 +159,7 @@ test_expect_success 'diff succeeds even if prefetch triggered by break-rewrites'
 	# We need baz to trigger break-rewrites detection.
 	git -C client reset --hard HEAD &&
 
-	# break-rewrites detction in reset.
+	# break-rewrites detection in reset.
 	git -C client reset HEAD~1
 '
 
diff --git a/t/t9150/svk-merge.dump b/t/t9150/svk-merge.dump
index 42f70dbec7..6a8ac81b11 100644
--- a/t/t9150/svk-merge.dump
+++ b/t/t9150/svk-merge.dump
@@ -77,7 +77,7 @@ Content-length: 2411
 PROPS-END
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -206,7 +206,7 @@ Content-length: 2465
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -310,7 +310,7 @@ Content-length: 2521
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -417,7 +417,7 @@ Content-length: 2593
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -534,7 +534,7 @@ Content-length: 2713
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
diff --git a/t/t9151/svn-mergeinfo.dump b/t/t9151/svn-mergeinfo.dump
index 47cafcf528..d5e1695637 100644
--- a/t/t9151/svn-mergeinfo.dump
+++ b/t/t9151/svn-mergeinfo.dump
@@ -87,7 +87,7 @@ Content-length: 2411
 PROPS-END
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -260,7 +260,7 @@ Content-length: 2465
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -365,7 +365,7 @@ Content-length: 2521
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -473,7 +473,7 @@ Content-length: 2529
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -578,7 +578,7 @@ Content-length: 2593
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -767,7 +767,7 @@ Content-length: 2593
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -948,7 +948,7 @@ Content-length: 2713
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -1172,7 +1172,7 @@ Content-length: 2713
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
@@ -1414,7 +1414,7 @@ Content-length: 2713
 
 # -DCOLLISION_CHECK if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
-# enough guarantees about no collisions between objects ever hapenning.
+# enough guarantees about no collisions between objects ever happening.
 #
 # -DNSEC if you want git to care about sub-second file mtimes and ctimes.
 # Note that you need some new glibc (at least >2.2.4) for this, and it will
diff --git a/t/unit-tests/clar/README.md b/t/unit-tests/clar/README.md
index 41595989ca..a45b9c8e5d 100644
--- a/t/unit-tests/clar/README.md
+++ b/t/unit-tests/clar/README.md
@@ -138,7 +138,7 @@ raise errors during test execution.
 __Caution:__ If you use assertions inside of `test_suitename__initialize`,
 make sure that you do not rely on `__initialize` being completely run
 inside your `test_suitename__cleanup` function. Otherwise you might
-encounter ressource cleanup twice.
+encounter resource cleanup twice.
 
 ## How does Clar work?
 

Interdiff against v1:
  diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
  index 40e95bccb4..23fe76e498 100755
  --- a/git-gui/git-gui.sh
  +++ b/git-gui/git-gui.sh
  @@ -109,7 +109,7 @@ foreach p [split $env(PATH) $_path_sep] {
   	if {[file pathtype $p] ne {absolute}} {
   		continue
   	}
  -	# Keep only the first occurrence of any duplicates.
  +	# Keep only the first occurence of any duplicates.
   	set norm_p [file normalize $p]
   	dict set _path_seen $norm_p 1
   }
  diff --git a/git-gui/lib/choose_repository.tcl b/git-gui/lib/choose_repository.tcl
  index a4703af028..7e1462a20c 100644
  --- a/git-gui/lib/choose_repository.tcl
  +++ b/git-gui/lib/choose_repository.tcl
  @@ -15,7 +15,7 @@ field w_recentlist ; # Listbox containing recent repositories
   field w_localpath  ; # Entry widget bound to local_path
   
   field done              0 ; # Finished picking the repository?
  -field clone_ok      false ; # clone succeeded
  +field clone_ok      false ; # clone succeeeded
   field local_path       {} ; # Where this repository is locally
   field origin_url       {} ; # Where we are cloning from
   field origin_name  origin ; # What we shall call 'origin'
  diff --git a/git-gui/lib/themed.tcl b/git-gui/lib/themed.tcl
  index f4cffeac66..c18e201d85 100644
  --- a/git-gui/lib/themed.tcl
  +++ b/git-gui/lib/themed.tcl
  @@ -4,7 +4,7 @@
   
   namespace eval color {
   	# Variable colors
  -	# Preferred way to set widget colors is using add_option.
  +	# Preffered way to set widget colors is using add_option.
   	# In some cases, like with tags in_diff/in_sel, we use these colors.
   	variable select_bg				lightgray
   	variable select_fg				black
  diff --git a/po/el.po b/po/el.po
  index c45560c996..703f46d0c7 100644
  --- a/po/el.po
  +++ b/po/el.po
  @@ -2748,7 +2748,7 @@ msgid "Low-level Commands / Interrogators"
   msgstr "Εντολές Χαμηλού Επιπέδου / Ερωτημάτων"
   
   #: help.c:37
  -msgid "Low-level Commands / Syncing Repositories"
  +msgid "Low-level Commands / Synching Repositories"
   msgstr "Εντολές Χαμηλού Επιπέδου / Συγχρονισμού Αποθετηρίων"
   
   #: help.c:38
  diff --git a/po/ko.po b/po/ko.po
  index 6bc20a43e3..7a6847f023 100644
  --- a/po/ko.po
  +++ b/po/ko.po
  @@ -2062,7 +2062,7 @@ msgid "Low-level Commands / Interrogators"
   msgstr "보조 명령 / 정보 획득 기능"
   
   #: help.c:37
  -msgid "Low-level Commands / Syncing Repositories"
  +msgid "Low-level Commands / Synching Repositories"
   msgstr "보조 명령 / 저장소 동기화 기능"
   
   #: help.c:38

Range-diff against v1:
1:  381e2c1fc3 ! 1:  674edefc99 doc: fix typos via codespell
    @@ compat/precompose_utf8.c: const char *precompose_string_if_needed(const char *in
      				in = out;
      		}
     
    - ## git-gui/git-gui.sh ##
    -@@ git-gui/git-gui.sh: foreach p [split $env(PATH) $_path_sep] {
    - 	if {[file pathtype $p] ne {absolute}} {
    - 		continue
    - 	}
    --	# Keep only the first occurence of any duplicates.
    -+	# Keep only the first occurrence of any duplicates.
    - 	set norm_p [file normalize $p]
    - 	dict set _path_seen $norm_p 1
    - }
    -
    - ## git-gui/lib/choose_repository.tcl ##
    -@@ git-gui/lib/choose_repository.tcl: field w_recentlist ; # Listbox containing recent repositories
    - field w_localpath  ; # Entry widget bound to local_path
    - 
    - field done              0 ; # Finished picking the repository?
    --field clone_ok      false ; # clone succeeeded
    -+field clone_ok      false ; # clone succeeded
    - field local_path       {} ; # Where this repository is locally
    - field origin_url       {} ; # Where we are cloning from
    - field origin_name  origin ; # What we shall call 'origin'
    -
    - ## git-gui/lib/themed.tcl ##
    -@@
    - 
    - namespace eval color {
    - 	# Variable colors
    --	# Preffered way to set widget colors is using add_option.
    -+	# Preferred way to set widget colors is using add_option.
    - 	# In some cases, like with tags in_diff/in_sel, we use these colors.
    - 	variable select_bg				lightgray
    - 	variable select_fg				black
    -
      ## hook.h ##
     @@ hook.h: struct run_hooks_opt {
      	 * While the callback allows piecemeal writing, it can also be
    @@ path.h: void safe_create_dir(struct repository *repo, const char *dir, int share
      int safe_create_dir_in_gitdir(struct repository *repo, const char *path);
      
     
    - ## po/el.po ##
    -@@ po/el.po: msgid "Low-level Commands / Interrogators"
    - msgstr "Εντολές Χαμηλού Επιπέδου / Ερωτημάτων"
    - 
    - #: help.c:37
    --msgid "Low-level Commands / Synching Repositories"
    -+msgid "Low-level Commands / Syncing Repositories"
    - msgstr "Εντολές Χαμηλού Επιπέδου / Συγχρονισμού Αποθετηρίων"
    - 
    - #: help.c:38
    -
    - ## po/ko.po ##
    -@@ po/ko.po: msgid "Low-level Commands / Interrogators"
    - msgstr "보조 명령 / 정보 획득 기능"
    - 
    - #: help.c:37
    --msgid "Low-level Commands / Synching Repositories"
    -+msgid "Low-level Commands / Syncing Repositories"
    - msgstr "보조 명령 / 저장소 동기화 기능"
    - 
    - #: help.c:38
    -
      ## reftable/system.h ##
     @@ reftable/system.h: struct reftable_flock {
       * to acquire the lock. If `timeout_ms` is 0 we don't wait, if it is negative
-- 
2.54.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] doc: fix typos via codespell
  2026-05-31 18:43 ` [PATCH v2] doc: fix typos via codespell Andrew Kreimer
@ 2026-06-01  1:16   ` Junio C Hamano
  2026-06-01 20:59     ` Kristoffer Haugsbakk
  0 siblings, 1 reply; 15+ messages in thread
From: Junio C Hamano @ 2026-06-01  1:16 UTC (permalink / raw)
  To: Andrew Kreimer; +Cc: git

Andrew Kreimer <algonell@gmail.com> writes:

> diff --git a/midx-write.c b/midx-write.c
> index 561e9eedc0..19e1cd10b7 100644
> --- a/midx-write.c
> +++ b/midx-write.c
> @@ -1461,7 +1461,7 @@ static int write_midx_internal(struct write_midx_opts *opts)
>  
>  		/*
>  		 * Attempt opening the pack index to populate num_objects.
> -		 * Ignore failiures as they can be expected and are not
> +		 * Ignore failures as they can be expected and are not
>  		 * fatal during this selection time.
>  		 */
>  		open_pack_index(oldest);

You seem to have lost the following hunk from the previous round

diff --git a/midx-write.c b/midx-write.c
index a25cab75ab..6d6d29c6cd 100644
--- a/midx-write.c
+++ b/midx-write.c
@@ -1152,7 +1152,7 @@ static bool midx_needs_update(struct multi_pack_index *midx, struct write_midx_c
 
 	/*
 	 * Ensure that we have a valid checksum before consulting the
-	 * exisiting MIDX in order to determine if we can avoid an
+	 * existing MIDX in order to determine if we can avoid an
 	 * update.
 	 *
 	 * This is necessary because the given MIDX is loaded directly

but it is OK as the same fix appears in 'master' thanks to 22235136
(midx-write: handle noop writes when converting incremental chains,
2026-05-19).

Other than that, I made sure that there is no other changes since
the initial patch other than that the changes to po/ and git-gui/ no
longer exist in the topic, which matches what the proposed commit
log says.

However, there are things that BREAK tests.

> diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh
> index ac4a5b2734..869fb4a14e 100755
> --- a/t/t1700-split-index.sh
> +++ b/t/t1700-split-index.sh
> @@ -502,7 +502,7 @@ test_expect_success 'do not refresh null base index' '
>  		git checkout main &&
>  		git update-index --split-index &&
>  		test_commit more &&
> -		# must not write a new shareindex, or we wont catch the problem
> +		# must not write a new shareindex, or we won't catch the problem
>  		git -c splitIndex.maxPercentChange=100 merge --no-edit side-branch 2>err &&
>  		# i.e. do not expect warnings like
>  		# could not freshen shared index .../shareindex.00000...

The edit above is made to a STRING that is enclosed inside a pair of
single quote.  If we want to use "won't", we would need to write "We
won'\''t", but while it may be syntactically correct as a part of
shell script, it is a pointless change, as the target audience wants
to see this line as if it is just a plain text.

"We will not" would be acceptable,

> diff --git a/t/t3909-stash-pathspec-file.sh b/t/t3909-stash-pathspec-file.sh
> index 73f2dbdeb0..3afa6bff3d 100755
> --- a/t/t3909-stash-pathspec-file.sh
> +++ b/t/t3909-stash-pathspec-file.sh
> @@ -29,7 +29,7 @@ verify_expect () {
>  test_expect_success 'simplest' '
>  	restore_checkpoint &&
>  
> -	# More files are written to make sure that git didnt ignore
> +	# More files are written to make sure that git didn't ignore

Ditto.  "did not ignore".

>  	# --pathspec-from-file, stashing everything
>  	echo A >fileA.t &&
>  	echo B >fileB.t &&
> @@ -47,7 +47,7 @@ test_expect_success 'simplest' '
>  test_expect_success '--pathspec-file-nul' '
>  	restore_checkpoint &&
>  
> -	# More files are written to make sure that git didnt ignore
> +	# More files are written to make sure that git didn't ignore

Ditto.

>  	# --pathspec-from-file, stashing everything
>  	echo A >fileA.t &&
>  	echo B >fileB.t &&
> @@ -66,7 +66,7 @@ test_expect_success '--pathspec-file-nul' '
>  test_expect_success 'only touches what was listed' '
>  	restore_checkpoint &&
>  
> -	# More files are written to make sure that git didnt ignore
> +	# More files are written to make sure that git didn't ignore

Ditto.

It is a bit disappointing that the changes were guided by a tool
called Codespell, yet apparently the tool does not seem to
understand the syntax rules of the language the files it is
modifying is written in X-<.

Thanks.

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] doc: fix typos via codespell
  2026-06-01  1:16   ` Junio C Hamano
@ 2026-06-01 20:59     ` Kristoffer Haugsbakk
  0 siblings, 0 replies; 15+ messages in thread
From: Kristoffer Haugsbakk @ 2026-06-01 20:59 UTC (permalink / raw)
  To: Junio C Hamano, Andrew Kreimer; +Cc: git

On Mon, Jun 1, 2026, at 03:16, Junio C Hamano wrote:
>[snip]
>
> However, there are things that BREAK tests.
>
>> diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh
>> index ac4a5b2734..869fb4a14e 100755
>> --- a/t/t1700-split-index.sh
>> +++ b/t/t1700-split-index.sh
>> @@ -502,7 +502,7 @@ test_expect_success 'do not refresh null base index' '
>>  		git checkout main &&
>>  		git update-index --split-index &&
>>  		test_commit more &&
>> -		# must not write a new shareindex, or we wont catch the problem
>> +		# must not write a new shareindex, or we won't catch the problem
>>  		git -c splitIndex.maxPercentChange=100 merge --no-edit side-branch 2>err &&
>>  		# i.e. do not expect warnings like
>>  		# could not freshen shared index .../shareindex.00000...
>
> The edit above is made to a STRING that is enclosed inside a pair of
> single quote.  If we want to use "won't", we would need to write "We
> won'\''t", but while it may be syntactically correct as a part of
> shell script, it is a pointless change, as the target audience wants
> to see this line as if it is just a plain text.

Sorry about not testing this on v1. “Surely this does not affect the
code...” strikes again.

>
> "We will not" would be acceptable,
>
>> diff --git a/t/t3909-stash-pathspec-file.sh b/t/t3909-stash-pathspec-file.sh
>>[snip]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] docs: fix typos and grammar
  2026-05-29  8:17     ` [PATCH] docs: fix typos and grammar Weijie Yuan
@ 2026-06-01 22:23       ` Junio C Hamano
  2026-06-02  5:58         ` Weijie Yuan
  0 siblings, 1 reply; 15+ messages in thread
From: Junio C Hamano @ 2026-06-01 22:23 UTC (permalink / raw)
  To: Weijie Yuan; +Cc: Andrew Kreimer, git

Weijie Yuan <wy@wyuan.org> writes:

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

Sorry, I lost track.

How does this patch relate to the large patch from Andrew that you
reviewed earlier?  Is this meant to replace it, or is it an
independent effort that may or may not overlap what is fixed by the
other patch?  Something else?

Thanks.  All the changes in _this_ patch looked sensible to me (and
to my agent as well ;-).

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] docs: fix typos and grammar
  2026-06-01 22:23       ` Junio C Hamano
@ 2026-06-02  5:58         ` Weijie Yuan
  2026-06-02  6:12           ` Weijie Yuan
  0 siblings, 1 reply; 15+ messages in thread
From: Weijie Yuan @ 2026-06-02  5:58 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Andrew Kreimer, git

On Tue, Jun 02, 2026 at 07:23:10AM +0900, Junio C Hamano wrote:
> Sorry, I lost track.

You are welcome!

> How does this patch relate to the large patch from Andrew that you
> reviewed earlier?  Is this meant to replace it, or is it an
> independent effort that may or may not overlap what is fixed by the
> other patch?  Something else?

My patch is an addition to Andrew's patch.

I think it's better to keep these "boring" typos thing in a thread,
rather than in a new thread, so I replied in this thread, as it would
be better to avoid cluttering the mailing list archive pages and leave
them as much as possible for genuine technical discussions ;-).

Before Andrew said he was preparing for his v2, I was planning to sort
Andrew's patch out and make it more logical or perhaps split it into
several individual patches. But since Andrew replied he's going to do
his v2, I won't take credit for his work, of course.

> Thanks.  All the changes in _this_ patch looked sensible to me (and
> to my agent as well ;-).

Thank you! Looking forward to making "real" contributions one day :)

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] docs: fix typos and grammar
  2026-06-02  5:58         ` Weijie Yuan
@ 2026-06-02  6:12           ` Weijie Yuan
  0 siblings, 0 replies; 15+ messages in thread
From: Weijie Yuan @ 2026-06-02  6:12 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Andrew Kreimer, git

On Tue, Jun 02, 2026 at 01:59:01PM +0800, Weijie Yuan wrote:
> > How does this patch relate to the large patch from Andrew that you
> > reviewed earlier?  Is this meant to replace it, or is it an
> > independent effort that may or may not overlap what is fixed by the
> > other patch?  Something else?
>
> My patch is an addition to Andrew's patch.

Sorry for not making my point clear all at once.

My patch is an independent effort and does not overlap with Andrew's,
i.e. doesn't touch the same areas as his.

And I just checked the recent archives, my patch doesn't overlap with
others as well :-)

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH v3] doc: fix typos via codespell
  2026-05-06 10:15 [PATCH] doc: fix typos via codespell Andrew Kreimer
                   ` (2 preceding siblings ...)
  2026-05-31 18:43 ` [PATCH v2] doc: fix typos via codespell Andrew Kreimer
@ 2026-06-02 11:15 ` Andrew Kreimer
  2026-06-02 13:57   ` Junio C Hamano
  3 siblings, 1 reply; 15+ messages in thread
From: Andrew Kreimer @ 2026-06-02 11:15 UTC (permalink / raw)
  To: git; +Cc: Andrew Kreimer

There are some typos in the documentation, comments, etc.
Fix them via codespell.

Signed-off-by: Andrew Kreimer <algonell@gmail.com>
---
v3:
  - Address test breaking changes (strings bounded by single quotes).
  - Thank you for your patience (extreme noise/gain ratio).

 t/t1700-split-index.sh         | 2 +-
 t/t3909-stash-pathspec-file.sh | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh
index 869fb4a14e..887e72a5fa 100755
--- a/t/t1700-split-index.sh
+++ b/t/t1700-split-index.sh
@@ -502,7 +502,7 @@ test_expect_success 'do not refresh null base index' '
 		git checkout main &&
 		git update-index --split-index &&
 		test_commit more &&
-		# must not write a new shareindex, or we won't catch the problem
+		# must not write a new shareindex, or we will not catch the problem
 		git -c splitIndex.maxPercentChange=100 merge --no-edit side-branch 2>err &&
 		# i.e. do not expect warnings like
 		# could not freshen shared index .../shareindex.00000...
diff --git a/t/t3909-stash-pathspec-file.sh b/t/t3909-stash-pathspec-file.sh
index 3afa6bff3d..e34cea6ce1 100755
--- a/t/t3909-stash-pathspec-file.sh
+++ b/t/t3909-stash-pathspec-file.sh
@@ -29,7 +29,7 @@ verify_expect () {
 test_expect_success 'simplest' '
 	restore_checkpoint &&
 
-	# More files are written to make sure that git didn't ignore
+	# More files are written to make sure that git did not ignore
 	# --pathspec-from-file, stashing everything
 	echo A >fileA.t &&
 	echo B >fileB.t &&
@@ -47,7 +47,7 @@ test_expect_success 'simplest' '
 test_expect_success '--pathspec-file-nul' '
 	restore_checkpoint &&
 
-	# More files are written to make sure that git didn't ignore
+	# More files are written to make sure that git did not ignore
 	# --pathspec-from-file, stashing everything
 	echo A >fileA.t &&
 	echo B >fileB.t &&
@@ -66,7 +66,7 @@ test_expect_success '--pathspec-file-nul' '
 test_expect_success 'only touches what was listed' '
 	restore_checkpoint &&
 
-	# More files are written to make sure that git didn't ignore
+	# More files are written to make sure that git did not ignore
 	# --pathspec-from-file, stashing everything
 	echo A >fileA.t &&
 	echo B >fileB.t &&

Interdiff against v2:
  diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh
  index 869fb4a14e..887e72a5fa 100755
  --- a/t/t1700-split-index.sh
  +++ b/t/t1700-split-index.sh
  @@ -502,7 +502,7 @@ test_expect_success 'do not refresh null base index' '
   		git checkout main &&
   		git update-index --split-index &&
   		test_commit more &&
  -		# must not write a new shareindex, or we won't catch the problem
  +		# must not write a new shareindex, or we will not catch the problem
   		git -c splitIndex.maxPercentChange=100 merge --no-edit side-branch 2>err &&
   		# i.e. do not expect warnings like
   		# could not freshen shared index .../shareindex.00000...
  diff --git a/t/t3909-stash-pathspec-file.sh b/t/t3909-stash-pathspec-file.sh
  index 3afa6bff3d..e34cea6ce1 100755
  --- a/t/t3909-stash-pathspec-file.sh
  +++ b/t/t3909-stash-pathspec-file.sh
  @@ -29,7 +29,7 @@ verify_expect () {
   test_expect_success 'simplest' '
   	restore_checkpoint &&
   
  -	# More files are written to make sure that git didn't ignore
  +	# More files are written to make sure that git did not ignore
   	# --pathspec-from-file, stashing everything
   	echo A >fileA.t &&
   	echo B >fileB.t &&
  @@ -47,7 +47,7 @@ test_expect_success 'simplest' '
   test_expect_success '--pathspec-file-nul' '
   	restore_checkpoint &&
   
  -	# More files are written to make sure that git didn't ignore
  +	# More files are written to make sure that git did not ignore
   	# --pathspec-from-file, stashing everything
   	echo A >fileA.t &&
   	echo B >fileB.t &&
  @@ -66,7 +66,7 @@ test_expect_success '--pathspec-file-nul' '
   test_expect_success 'only touches what was listed' '
   	restore_checkpoint &&
   
  -	# More files are written to make sure that git didn't ignore
  +	# More files are written to make sure that git did not ignore
   	# --pathspec-from-file, stashing everything
   	echo A >fileA.t &&
   	echo B >fileB.t &&

Range-diff against v2:
-:  ---------- > 1:  bcbd09129a doc: fix typos via codespell
-- 
2.54.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH v3] doc: fix typos via codespell
  2026-06-02 11:15 ` [PATCH v3] " Andrew Kreimer
@ 2026-06-02 13:57   ` Junio C Hamano
  0 siblings, 0 replies; 15+ messages in thread
From: Junio C Hamano @ 2026-06-02 13:57 UTC (permalink / raw)
  To: Andrew Kreimer; +Cc: git

Andrew Kreimer <algonell@gmail.com> writes:

> There are some typos in the documentation, comments, etc.
> Fix them via codespell.
>
> Signed-off-by: Andrew Kreimer <algonell@gmail.com>
> ---
> v3:
>   - Address test breaking changes (strings bounded by single quotes).
>   - Thank you for your patience (extreme noise/gain ratio).

Thanks, but this is wrong.
>
>  t/t1700-split-index.sh         | 2 +-
>  t/t3909-stash-pathspec-file.sh | 6 +++---
>  2 files changed, 4 insertions(+), 4 deletions(-)


[v3] should not be "on top of" [v2], but the above shows that
apparently this is vastly different from [v2], which had

 Documentation/SubmittingPatches            |  2 +-
 Documentation/git-sparse-checkout.adoc     |  2 +-
 Documentation/technical/build-systems.adoc |  6 +++---
 builtin/pack-objects.c                     |  2 +-
 commit-graph.h                             |  2 +-
 compat/precompose_utf8.c                   |  2 +-
 hook.h                                     |  2 +-
 meson_options.txt                          |  2 +-
 midx-write.c                               |  2 +-
 odb/source.h                               |  2 +-
 packfile.h                                 |  2 +-
 path.h                                     |  2 +-
 reftable/system.h                          |  2 +-
 t/README                                   |  2 +-
 t/chainlint.pl                             |  2 +-
 t/chainlint/chain-break-false.expect       |  2 +-
 t/chainlint/chain-break-false.test         |  2 +-
 t/t1700-split-index.sh                     |  2 +-
 t/t3909-stash-pathspec-file.sh             |  6 +++---
 t/t4052-stat-output.sh                     |  2 +-
 t/t4067-diff-partial-clone.sh              |  2 +-
 t/t9150/svk-merge.dump                     | 10 +++++-----
 t/t9151/svn-mergeinfo.dump                 | 18 +++++++++---------
 t/unit-tests/clar/README.md                |  2 +-
 24 files changed, 40 insertions(+), 40 deletions(-)

Until the topic is merged to 'next', a new iteration of patch(es)
should cleanly apply to the base that [v2] was meant to apply, but
should pretend as if [v2] never existed.

> diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh
> index 869fb4a14e..887e72a5fa 100755
> --- a/t/t1700-split-index.sh
> +++ b/t/t1700-split-index.sh
> @@ -502,7 +502,7 @@ test_expect_success 'do not refresh null base index' '
>  		git checkout main &&
>  		git update-index --split-index &&
>  		test_commit more &&
> -		# must not write a new shareindex, or we won't catch the problem
> +		# must not write a new shareindex, or we will not catch the problem

The committed code never had "we won't" (what was in 'seen' does not
count), and this patch clearly shows that this is to fix-up the
breakage the previous round caused.  We do not want that.

I'll squash the fix-up I already had into [v2] that I have queued,
which should be sufficient to get to the state this [v3] should have
been, I think.

Thanks.

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2026-06-02 13:57 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-06 10:15 [PATCH] doc: fix typos via codespell Andrew Kreimer
2026-05-09 22:14 ` Kristoffer Haugsbakk
2026-05-28 17:53   ` Kristoffer Haugsbakk
2026-05-28 20:37     ` Junio C Hamano
2026-05-10 22:21 ` Junio C Hamano
2026-05-23 17:24   ` Weijie Yuan
2026-05-29  8:17     ` [PATCH] docs: fix typos and grammar Weijie Yuan
2026-06-01 22:23       ` Junio C Hamano
2026-06-02  5:58         ` Weijie Yuan
2026-06-02  6:12           ` Weijie Yuan
2026-05-31 18:43 ` [PATCH v2] doc: fix typos via codespell Andrew Kreimer
2026-06-01  1:16   ` Junio C Hamano
2026-06-01 20:59     ` Kristoffer Haugsbakk
2026-06-02 11:15 ` [PATCH v3] " Andrew Kreimer
2026-06-02 13:57   ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox