{"thread":{"id":"41911","subject":"[PATCH] Fix spelling mistakes","startedAt":"2016-04-03T12:56:05Z","lastAt":"2016-04-04T17:45:51Z","messageCount":4,"participants":["Eric Engestrom","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"282561","messageId":"1459688165-8720-1-git-send-email-eric@engestrom.ch","threadId":"41911","inReplyTo":null,"subject":"[PATCH] Fix spelling mistakes","fromName":"Eric Engestrom","fromEmail":"eric@engestrom.ch","sentAt":"2016-04-03T12:56:05Z","receivedAt":"2016-04-03T12:56:05Z","isPatch":true,"sender":{"key":"eric@engestrom.ch","avatar":"https://gravatar.com/avatar/b152263ecd779e57ac15f685d524c34e5e7954dc9c625351ab0e62a7195c0820?d=mp&s=160"},"body":"Signed-off-by: Eric Engestrom <eric@engestrom.ch>\n---\n builtin/apply.c                    | 2 +-\n builtin/clean.c                    | 2 +-\n config.c                           | 2 +-\n contrib/examples/git-am.sh         | 2 +-\n contrib/hooks/multimail/README     | 2 +-\n contrib/subtree/t/t7900-subtree.sh | 2 +-\n diff.c                             | 2 +-\n dir.c                              | 2 +-\n git-p4.py                          | 2 +-\n refs.h                             | 2 +-\n sha1-lookup.c                      | 2 +-\n t/t5535-fetch-push-symref.sh       | 2 +-\n t/t6030-bisect-porcelain.sh        | 2 +-\n worktree.c                         | 2 +-\n 14 files changed, 14 insertions(+), 14 deletions(-)\n\ndiff --git a/builtin/apply.c b/builtin/apply.c\nindex deb05d0..02a0259 100644\n--- a/builtin/apply.c\n+++ b/builtin/apply.c\n@@ -3980,7 +3980,7 @@ static void show_rename_copy(struct patch *p)\n \t\told = slash_old + 1;\n \t\tnew = slash_new + 1;\n \t}\n-\t/* p->old_name thru old is the common prefix, and old and new\n+\t/* p->old_name through old is the common prefix, and old and new\n \t * through the end of names are renames\n \t */\n \tif (old != p->old_name)\ndiff --git a/builtin/clean.c b/builtin/clean.c\nindex 0371010..5426f9f 100644\n--- a/builtin/clean.c\n+++ b/builtin/clean.c\n@@ -192,7 +192,7 @@ static int remove_dirs(struct strbuf *path, const char *prefix, int force_flag,\n \t\tstrbuf_setlen(path, len);\n \t\tstrbuf_addstr(path, e->d_name);\n \t\tif (lstat(path->buf, &st))\n-\t\t\t; /* fall thru */\n+\t\t\t; /* fall through */\n \t\telse if (S_ISDIR(st.st_mode)) {\n \t\t\tif (remove_dirs(path, prefix, force_flag, dry_run, quiet, &gone))\n \t\t\t\tret = 1;\ndiff --git a/config.c b/config.c\nindex 9ba40bc..482ef2e 100644\n--- a/config.c\n+++ b/config.c\n@@ -1278,7 +1278,7 @@ static void git_config_raw(config_fn_t fn, void *data)\n \t\t * something went really wrong and we should stop\n \t\t * immediately.\n \t\t */\n-\t\tdie(_(\"unknown error occured while reading the configuration files\"));\n+\t\tdie(_(\"unknown error occurred while reading the configuration files\"));\n }\n \n static void configset_iter(struct config_set *cs, config_fn_t fn, void *data)\ndiff --git a/contrib/examples/git-am.sh b/contrib/examples/git-am.sh\nindex dd539f1..b3d30b7 100755\n--- a/contrib/examples/git-am.sh\n+++ b/contrib/examples/git-am.sh\n@@ -542,7 +542,7 @@ then\n \trm -f \"$dotest/dirtyindex\"\n else\n \t# Possible stray $dotest directory in the independent-run\n-\t# case; in the --rebasing case, it is upto the caller\n+\t# case; in the --rebasing case, it is up to the caller\n \t# (git-rebase--am) to take care of stray directories.\n \tif test -d \"$dotest\" && test -z \"$rebasing\"\n \tthen\ndiff --git a/contrib/hooks/multimail/README b/contrib/hooks/multimail/README\nindex 5512068..80df811 100644\n--- a/contrib/hooks/multimail/README\n+++ b/contrib/hooks/multimail/README\n@@ -489,7 +489,7 @@ multimailhook.commitLogOpts\n multimailhook.dateSubstitute\n \n     String to use as a substitute for ``Date:`` in the output of ``git\n-    log`` while formatting commit messages. This is usefull to avoid\n+    log`` while formatting commit messages. This is useful to avoid\n     emitting a line that can be interpreted by mailers as the start of\n     a cited message (Zimbra webmail in particular). Defaults to\n     ``CommitDate: ``. Set to an empty string or ``none`` to deactivate\ndiff --git a/contrib/subtree/t/t7900-subtree.sh b/contrib/subtree/t/t7900-subtree.sh\nindex 3bf96a9..0cf044c 100755\n--- a/contrib/subtree/t/t7900-subtree.sh\n+++ b/contrib/subtree/t/t7900-subtree.sh\n@@ -932,7 +932,7 @@ test_expect_success 'split a new subtree without --onto option' '\n \n \t\t# also test that we still can split out an entirely new subtree\n \t\t# if the parent of the first commit in the tree is not empty,\n-\t\t# then the new subtree has accidently been attached to something\n+\t\t# then the new subtree has accidentally been attached to something\n \t\tgit subtree split --prefix=\"sub dir2\" --branch subproj2-br &&\n \t\tcheck_equal \"$(git log --pretty=format:%P -1 subproj2-br)\" \"\"\n \t)\ndiff --git a/diff.c b/diff.c\nindex 059123c..3d8b3e5 100644\n--- a/diff.c\n+++ b/diff.c\n@@ -2084,7 +2084,7 @@ static int is_conflict_marker(const char *line, int marker_size, unsigned long l\n \tfor (cnt = 1; cnt < marker_size; cnt++)\n \t\tif (line[cnt] != firstchar)\n \t\t\treturn 0;\n-\t/* line[1] thru line[marker_size-1] are same as firstchar */\n+\t/* line[1] through line[marker_size-1] are same as firstchar */\n \tif (len < marker_size + 1 || !isspace(line[marker_size]))\n \t\treturn 0;\n \treturn 1;\ndiff --git a/dir.c b/dir.c\nindex a4a9d9f..57892a5 100644\n--- a/dir.c\n+++ b/dir.c\n@@ -2166,7 +2166,7 @@ static int remove_dir_recurse(struct strbuf *path, int flag, int *kept_up)\n \t\t\t\t * wanted anyway\n \t\t\t\t */\n \t\t\t\tcontinue;\n-\t\t\t/* fall thru */\n+\t\t\t/* fall through */\n \t\t} else if (S_ISDIR(st.st_mode)) {\n \t\t\tif (!remove_dir_recurse(path, flag, &kept_down))\n \t\t\t\tcontinue; /* happy */\ndiff --git a/git-p4.py b/git-p4.py\nindex 825b9f3..4f577e2 100755\n--- a/git-p4.py\n+++ b/git-p4.py\n@@ -1918,7 +1918,7 @@ def run(self, args):\n         if self.useClientSpec:\n             self.clientSpecDirs = getClientSpec()\n \n-        # Check for the existance of P4 branches\n+        # Check for the existence of P4 branches\n         branchesDetected = (len(p4BranchesInGit().keys()) > 1)\n \n         if self.useClientSpec and not branchesDetected:\ndiff --git a/refs.h b/refs.h\nindex 2f3decb..fad6281 100644\n--- a/refs.h\n+++ b/refs.h\n@@ -336,7 +336,7 @@ struct ref_transaction *ref_transaction_begin(struct strbuf *err);\n  *     msg -- a message describing the change (for the reflog).\n  *\n  *     err -- a strbuf for receiving a description of any error that\n- *         might have occured.\n+ *         might have occurred.\n  *\n  * The functions make internal copies of refname and msg, so the\n  * caller retains ownership of these parameters.\ndiff --git a/sha1-lookup.c b/sha1-lookup.c\nindex 5f06921..552582f 100644\n--- a/sha1-lookup.c\n+++ b/sha1-lookup.c\n@@ -199,7 +199,7 @@ int sha1_entry_pos(const void *table,\n \t\t\t\t\tbreak;\n \t\t\tofs_0 = ofs;\n \t\t\t/*\n-\t\t\t * byte 0 thru (ofs-1) are the same between\n+\t\t\t * byte 0 through (ofs-1) are the same between\n \t\t\t * lo and hi; ofs is the first byte that is\n \t\t\t * different.\n \t\t\t *\ndiff --git a/t/t5535-fetch-push-symref.sh b/t/t5535-fetch-push-symref.sh\nindex 8ed58d2..e8f6d23 100755\n--- a/t/t5535-fetch-push-symref.sh\n+++ b/t/t5535-fetch-push-symref.sh\n@@ -1,6 +1,6 @@\n #!/bin/sh\n \n-test_description='avoiding conflicting update thru symref aliasing'\n+test_description='avoiding conflicting update through symref aliasing'\n \n . ./test-lib.sh\n \ndiff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh\nindex e74662b..a1b02b3 100755\n--- a/t/t6030-bisect-porcelain.sh\n+++ b/t/t6030-bisect-porcelain.sh\n@@ -721,7 +721,7 @@ git bisect good 3de952f2416b6084f557ec417709eac740c6818c\n # first bad commit: [32a594a3fdac2d57cf6d02987e30eec68511498c] Add <4: Ciao for now> into <hello>.\n EOF\n \n-test_expect_success 'bisect log: successfull result' '\n+test_expect_success 'bisect log: successful result' '\n \tgit bisect reset &&\n \tgit bisect start $HASH4 $HASH2 &&\n \tgit bisect good &&\ndiff --git a/worktree.c b/worktree.c\nindex 6181a66..89ebe67 100644\n--- a/worktree.c\n+++ b/worktree.c\n@@ -18,7 +18,7 @@ void free_worktrees(struct worktree **worktrees)\n \n /*\n  * read 'path_to_ref' into 'ref'.  Also if is_detached is not NULL,\n- * set is_detached to 1 (0) if the ref is detatched (is not detached).\n+ * set is_detached to 1 (0) if the ref is detached (is not detached).\n  *\n  * $GIT_COMMON_DIR/$symref (e.g. HEAD) is practically outside $GIT_DIR so\n  * for linked worktrees, `resolve_ref_unsafe()` won't work (it uses\n-- \n2.8.0\n"},{"id":"282567","messageId":"xmqqbn5qfth8.fsf@gitster.mtv.corp.google.com","threadId":"41911","inReplyTo":"1459688165-8720-1-git-send-email-eric@engestrom.ch","subject":"Re: [PATCH] Fix spelling mistakes","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-04-03T18:16:35Z","receivedAt":"2016-04-03T18:16:35Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eric Engestrom <eric@engestrom.ch> writes:\n\n> Signed-off-by: Eric Engestrom <eric@engestrom.ch>\n> ---\n\nWhile I think \"through\" is not wrong, I do not think it is worth the\npatch churn to do s/thru/through/;\n\nIf the original author wants to spell the word \"thru\", we are in no\nposition to say it must be spelled \"through\" [*1*].  It's a bit\ndifferent from correcting a non-word \"usefull\" to \"useful\".  The\nonly \"Huh?\"  I saw around \"thru\" in this patch was that these said\n\"fall thru\" while I am fairly sure there are many places that say\n\"fallthru\", which is fairly common way to say that word in comments.\n\nOther changes looked all sensible.\n\nThanks for going through the codebase with a fine-toothed comb.\n\n[Footnote]\n\n*1* http://www.merriam-webster.com/words-at-play/how-thru-turned-into-through\nand http://grammarist.com/spelling/through-thru/ were amusing reads.\n\n>  builtin/apply.c                    | 2 +-\n>  builtin/clean.c                    | 2 +-\n>  config.c                           | 2 +-\n>  contrib/examples/git-am.sh         | 2 +-\n>  contrib/hooks/multimail/README     | 2 +-\n>  contrib/subtree/t/t7900-subtree.sh | 2 +-\n>  diff.c                             | 2 +-\n>  dir.c                              | 2 +-\n>  git-p4.py                          | 2 +-\n>  refs.h                             | 2 +-\n>  sha1-lookup.c                      | 2 +-\n>  t/t5535-fetch-push-symref.sh       | 2 +-\n>  t/t6030-bisect-porcelain.sh        | 2 +-\n>  worktree.c                         | 2 +-\n>  14 files changed, 14 insertions(+), 14 deletions(-)\n>\n> diff --git a/builtin/apply.c b/builtin/apply.c\n> index deb05d0..02a0259 100644\n> --- a/builtin/apply.c\n> +++ b/builtin/apply.c\n> @@ -3980,7 +3980,7 @@ static void show_rename_copy(struct patch *p)\n>  \t\told = slash_old + 1;\n>  \t\tnew = slash_new + 1;\n>  \t}\n> -\t/* p->old_name thru old is the common prefix, and old and new\n> +\t/* p->old_name through old is the common prefix, and old and new\n>  \t * through the end of names are renames\n>  \t */\n>  \tif (old != p->old_name)\n> diff --git a/builtin/clean.c b/builtin/clean.c\n> index 0371010..5426f9f 100644\n> --- a/builtin/clean.c\n> +++ b/builtin/clean.c\n> @@ -192,7 +192,7 @@ static int remove_dirs(struct strbuf *path, const char *prefix, int force_flag,\n>  \t\tstrbuf_setlen(path, len);\n>  \t\tstrbuf_addstr(path, e->d_name);\n>  \t\tif (lstat(path->buf, &st))\n> -\t\t\t; /* fall thru */\n> +\t\t\t; /* fall through */\n>  \t\telse if (S_ISDIR(st.st_mode)) {\n>  \t\t\tif (remove_dirs(path, prefix, force_flag, dry_run, quiet, &gone))\n>  \t\t\t\tret = 1;\n> diff --git a/config.c b/config.c\n> index 9ba40bc..482ef2e 100644\n> --- a/config.c\n> +++ b/config.c\n> @@ -1278,7 +1278,7 @@ static void git_config_raw(config_fn_t fn, void *data)\n>  \t\t * something went really wrong and we should stop\n>  \t\t * immediately.\n>  \t\t */\n> -\t\tdie(_(\"unknown error occured while reading the configuration files\"));\n> +\t\tdie(_(\"unknown error occurred while reading the configuration files\"));\n>  }\n>  \n>  static void configset_iter(struct config_set *cs, config_fn_t fn, void *data)\n> diff --git a/contrib/examples/git-am.sh b/contrib/examples/git-am.sh\n> index dd539f1..b3d30b7 100755\n> --- a/contrib/examples/git-am.sh\n> +++ b/contrib/examples/git-am.sh\n> @@ -542,7 +542,7 @@ then\n>  \trm -f \"$dotest/dirtyindex\"\n>  else\n>  \t# Possible stray $dotest directory in the independent-run\n> -\t# case; in the --rebasing case, it is upto the caller\n> +\t# case; in the --rebasing case, it is up to the caller\n>  \t# (git-rebase--am) to take care of stray directories.\n>  \tif test -d \"$dotest\" && test -z \"$rebasing\"\n>  \tthen\n> diff --git a/contrib/hooks/multimail/README b/contrib/hooks/multimail/README\n> index 5512068..80df811 100644\n> --- a/contrib/hooks/multimail/README\n> +++ b/contrib/hooks/multimail/README\n> @@ -489,7 +489,7 @@ multimailhook.commitLogOpts\n>  multimailhook.dateSubstitute\n>  \n>      String to use as a substitute for ``Date:`` in the output of ``git\n> -    log`` while formatting commit messages. This is usefull to avoid\n> +    log`` while formatting commit messages. This is useful to avoid\n>      emitting a line that can be interpreted by mailers as the start of\n>      a cited message (Zimbra webmail in particular). Defaults to\n>      ``CommitDate: ``. Set to an empty string or ``none`` to deactivate\n> diff --git a/contrib/subtree/t/t7900-subtree.sh b/contrib/subtree/t/t7900-subtree.sh\n> index 3bf96a9..0cf044c 100755\n> --- a/contrib/subtree/t/t7900-subtree.sh\n> +++ b/contrib/subtree/t/t7900-subtree.sh\n> @@ -932,7 +932,7 @@ test_expect_success 'split a new subtree without --onto option' '\n>  \n>  \t\t# also test that we still can split out an entirely new subtree\n>  \t\t# if the parent of the first commit in the tree is not empty,\n> -\t\t# then the new subtree has accidently been attached to something\n> +\t\t# then the new subtree has accidentally been attached to something\n>  \t\tgit subtree split --prefix=\"sub dir2\" --branch subproj2-br &&\n>  \t\tcheck_equal \"$(git log --pretty=format:%P -1 subproj2-br)\" \"\"\n>  \t)\n> diff --git a/diff.c b/diff.c\n> index 059123c..3d8b3e5 100644\n> --- a/diff.c\n> +++ b/diff.c\n> @@ -2084,7 +2084,7 @@ static int is_conflict_marker(const char *line, int marker_size, unsigned long l\n>  \tfor (cnt = 1; cnt < marker_size; cnt++)\n>  \t\tif (line[cnt] != firstchar)\n>  \t\t\treturn 0;\n> -\t/* line[1] thru line[marker_size-1] are same as firstchar */\n> +\t/* line[1] through line[marker_size-1] are same as firstchar */\n>  \tif (len < marker_size + 1 || !isspace(line[marker_size]))\n>  \t\treturn 0;\n>  \treturn 1;\n> diff --git a/dir.c b/dir.c\n> index a4a9d9f..57892a5 100644\n> --- a/dir.c\n> +++ b/dir.c\n> @@ -2166,7 +2166,7 @@ static int remove_dir_recurse(struct strbuf *path, int flag, int *kept_up)\n>  \t\t\t\t * wanted anyway\n>  \t\t\t\t */\n>  \t\t\t\tcontinue;\n> -\t\t\t/* fall thru */\n> +\t\t\t/* fall through */\n>  \t\t} else if (S_ISDIR(st.st_mode)) {\n>  \t\t\tif (!remove_dir_recurse(path, flag, &kept_down))\n>  \t\t\t\tcontinue; /* happy */\n> diff --git a/git-p4.py b/git-p4.py\n> index 825b9f3..4f577e2 100755\n> --- a/git-p4.py\n> +++ b/git-p4.py\n> @@ -1918,7 +1918,7 @@ def run(self, args):\n>          if self.useClientSpec:\n>              self.clientSpecDirs = getClientSpec()\n>  \n> -        # Check for the existance of P4 branches\n> +        # Check for the existence of P4 branches\n>          branchesDetected = (len(p4BranchesInGit().keys()) > 1)\n>  \n>          if self.useClientSpec and not branchesDetected:\n> diff --git a/refs.h b/refs.h\n> index 2f3decb..fad6281 100644\n> --- a/refs.h\n> +++ b/refs.h\n> @@ -336,7 +336,7 @@ struct ref_transaction *ref_transaction_begin(struct strbuf *err);\n>   *     msg -- a message describing the change (for the reflog).\n>   *\n>   *     err -- a strbuf for receiving a description of any error that\n> - *         might have occured.\n> + *         might have occurred.\n>   *\n>   * The functions make internal copies of refname and msg, so the\n>   * caller retains ownership of these parameters.\n> diff --git a/sha1-lookup.c b/sha1-lookup.c\n> index 5f06921..552582f 100644\n> --- a/sha1-lookup.c\n> +++ b/sha1-lookup.c\n> @@ -199,7 +199,7 @@ int sha1_entry_pos(const void *table,\n>  \t\t\t\t\tbreak;\n>  \t\t\tofs_0 = ofs;\n>  \t\t\t/*\n> -\t\t\t * byte 0 thru (ofs-1) are the same between\n> +\t\t\t * byte 0 through (ofs-1) are the same between\n>  \t\t\t * lo and hi; ofs is the first byte that is\n>  \t\t\t * different.\n>  \t\t\t *\n> diff --git a/t/t5535-fetch-push-symref.sh b/t/t5535-fetch-push-symref.sh\n> index 8ed58d2..e8f6d23 100755\n> --- a/t/t5535-fetch-push-symref.sh\n> +++ b/t/t5535-fetch-push-symref.sh\n> @@ -1,6 +1,6 @@\n>  #!/bin/sh\n>  \n> -test_description='avoiding conflicting update thru symref aliasing'\n> +test_description='avoiding conflicting update through symref aliasing'\n>  \n>  . ./test-lib.sh\n>  \n> diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh\n> index e74662b..a1b02b3 100755\n> --- a/t/t6030-bisect-porcelain.sh\n> +++ b/t/t6030-bisect-porcelain.sh\n> @@ -721,7 +721,7 @@ git bisect good 3de952f2416b6084f557ec417709eac740c6818c\n>  # first bad commit: [32a594a3fdac2d57cf6d02987e30eec68511498c] Add <4: Ciao for now> into <hello>.\n>  EOF\n>  \n> -test_expect_success 'bisect log: successfull result' '\n> +test_expect_success 'bisect log: successful result' '\n>  \tgit bisect reset &&\n>  \tgit bisect start $HASH4 $HASH2 &&\n>  \tgit bisect good &&\n> diff --git a/worktree.c b/worktree.c\n> index 6181a66..89ebe67 100644\n> --- a/worktree.c\n> +++ b/worktree.c\n> @@ -18,7 +18,7 @@ void free_worktrees(struct worktree **worktrees)\n>  \n>  /*\n>   * read 'path_to_ref' into 'ref'.  Also if is_detached is not NULL,\n> - * set is_detached to 1 (0) if the ref is detatched (is not detached).\n> + * set is_detached to 1 (0) if the ref is detached (is not detached).\n>   *\n>   * $GIT_COMMON_DIR/$symref (e.g. HEAD) is practically outside $GIT_DIR so\n>   * for linked worktrees, `resolve_ref_unsafe()` won't work (it uses\n"},{"id":"282569","messageId":"20160403185517.GA6612@engestrom.ch","threadId":"41911","inReplyTo":"xmqqbn5qfth8.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH] Fix spelling mistakes","fromName":"Eric Engestrom","fromEmail":"eric@engestrom.ch","sentAt":"2016-04-03T18:55:17Z","receivedAt":"2016-04-03T18:55:17Z","isPatch":true,"sender":{"key":"eric@engestrom.ch","avatar":"https://gravatar.com/avatar/b152263ecd779e57ac15f685d524c34e5e7954dc9c625351ab0e62a7195c0820?d=mp&s=160"},"body":"I went by word-count: \"through\" was way more common than \"thru\", so\nI kept the fix.\nBTW, I used codespell to fix those, I didn't do it by hand :]\nhttps://github.com/lucasdemarchi/codespell\n\nI can remove the \"thru\" fixes if you'd prefer, and resend with only the\nother fixes.\n\nCheers,\nEric\n\n\nOn Sun, Apr 03, 2016 at 11:16:35AM -0700, Junio C Hamano wrote:\n> Eric Engestrom <eric@engestrom.ch> writes:\n> \n> > Signed-off-by: Eric Engestrom <eric@engestrom.ch>\n> > ---\n> \n> While I think \"through\" is not wrong, I do not think it is worth the\n> patch churn to do s/thru/through/;\n> \n> If the original author wants to spell the word \"thru\", we are in no\n> position to say it must be spelled \"through\" [*1*].  It's a bit\n> different from correcting a non-word \"usefull\" to \"useful\".  The\n> only \"Huh?\"  I saw around \"thru\" in this patch was that these said\n> \"fall thru\" while I am fairly sure there are many places that say\n> \"fallthru\", which is fairly common way to say that word in comments.\n> \n> Other changes looked all sensible.\n> \n> Thanks for going through the codebase with a fine-toothed comb.\n> \n> [Footnote]\n> \n> *1* http://www.merriam-webster.com/words-at-play/how-thru-turned-into-through\n> and http://grammarist.com/spelling/through-thru/ were amusing reads.\n> \n> >  builtin/apply.c                    | 2 +-\n> >  builtin/clean.c                    | 2 +-\n> >  config.c                           | 2 +-\n> >  contrib/examples/git-am.sh         | 2 +-\n> >  contrib/hooks/multimail/README     | 2 +-\n> >  contrib/subtree/t/t7900-subtree.sh | 2 +-\n> >  diff.c                             | 2 +-\n> >  dir.c                              | 2 +-\n> >  git-p4.py                          | 2 +-\n> >  refs.h                             | 2 +-\n> >  sha1-lookup.c                      | 2 +-\n> >  t/t5535-fetch-push-symref.sh       | 2 +-\n> >  t/t6030-bisect-porcelain.sh        | 2 +-\n> >  worktree.c                         | 2 +-\n> >  14 files changed, 14 insertions(+), 14 deletions(-)\n> >\n> > diff --git a/builtin/apply.c b/builtin/apply.c\n> > index deb05d0..02a0259 100644\n> > --- a/builtin/apply.c\n> > +++ b/builtin/apply.c\n> > @@ -3980,7 +3980,7 @@ static void show_rename_copy(struct patch *p)\n> >  \t\told = slash_old + 1;\n> >  \t\tnew = slash_new + 1;\n> >  \t}\n> > -\t/* p->old_name thru old is the common prefix, and old and new\n> > +\t/* p->old_name through old is the common prefix, and old and new\n> >  \t * through the end of names are renames\n> >  \t */\n> >  \tif (old != p->old_name)\n> > diff --git a/builtin/clean.c b/builtin/clean.c\n> > index 0371010..5426f9f 100644\n> > --- a/builtin/clean.c\n> > +++ b/builtin/clean.c\n> > @@ -192,7 +192,7 @@ static int remove_dirs(struct strbuf *path, const char *prefix, int force_flag,\n> >  \t\tstrbuf_setlen(path, len);\n> >  \t\tstrbuf_addstr(path, e->d_name);\n> >  \t\tif (lstat(path->buf, &st))\n> > -\t\t\t; /* fall thru */\n> > +\t\t\t; /* fall through */\n> >  \t\telse if (S_ISDIR(st.st_mode)) {\n> >  \t\t\tif (remove_dirs(path, prefix, force_flag, dry_run, quiet, &gone))\n> >  \t\t\t\tret = 1;\n> > diff --git a/config.c b/config.c\n> > index 9ba40bc..482ef2e 100644\n> > --- a/config.c\n> > +++ b/config.c\n> > @@ -1278,7 +1278,7 @@ static void git_config_raw(config_fn_t fn, void *data)\n> >  \t\t * something went really wrong and we should stop\n> >  \t\t * immediately.\n> >  \t\t */\n> > -\t\tdie(_(\"unknown error occured while reading the configuration files\"));\n> > +\t\tdie(_(\"unknown error occurred while reading the configuration files\"));\n> >  }\n> >  \n> >  static void configset_iter(struct config_set *cs, config_fn_t fn, void *data)\n> > diff --git a/contrib/examples/git-am.sh b/contrib/examples/git-am.sh\n> > index dd539f1..b3d30b7 100755\n> > --- a/contrib/examples/git-am.sh\n> > +++ b/contrib/examples/git-am.sh\n> > @@ -542,7 +542,7 @@ then\n> >  \trm -f \"$dotest/dirtyindex\"\n> >  else\n> >  \t# Possible stray $dotest directory in the independent-run\n> > -\t# case; in the --rebasing case, it is upto the caller\n> > +\t# case; in the --rebasing case, it is up to the caller\n> >  \t# (git-rebase--am) to take care of stray directories.\n> >  \tif test -d \"$dotest\" && test -z \"$rebasing\"\n> >  \tthen\n> > diff --git a/contrib/hooks/multimail/README b/contrib/hooks/multimail/README\n> > index 5512068..80df811 100644\n> > --- a/contrib/hooks/multimail/README\n> > +++ b/contrib/hooks/multimail/README\n> > @@ -489,7 +489,7 @@ multimailhook.commitLogOpts\n> >  multimailhook.dateSubstitute\n> >  \n> >      String to use as a substitute for ``Date:`` in the output of ``git\n> > -    log`` while formatting commit messages. This is usefull to avoid\n> > +    log`` while formatting commit messages. This is useful to avoid\n> >      emitting a line that can be interpreted by mailers as the start of\n> >      a cited message (Zimbra webmail in particular). Defaults to\n> >      ``CommitDate: ``. Set to an empty string or ``none`` to deactivate\n> > diff --git a/contrib/subtree/t/t7900-subtree.sh b/contrib/subtree/t/t7900-subtree.sh\n> > index 3bf96a9..0cf044c 100755\n> > --- a/contrib/subtree/t/t7900-subtree.sh\n> > +++ b/contrib/subtree/t/t7900-subtree.sh\n> > @@ -932,7 +932,7 @@ test_expect_success 'split a new subtree without --onto option' '\n> >  \n> >  \t\t# also test that we still can split out an entirely new subtree\n> >  \t\t# if the parent of the first commit in the tree is not empty,\n> > -\t\t# then the new subtree has accidently been attached to something\n> > +\t\t# then the new subtree has accidentally been attached to something\n> >  \t\tgit subtree split --prefix=\"sub dir2\" --branch subproj2-br &&\n> >  \t\tcheck_equal \"$(git log --pretty=format:%P -1 subproj2-br)\" \"\"\n> >  \t)\n> > diff --git a/diff.c b/diff.c\n> > index 059123c..3d8b3e5 100644\n> > --- a/diff.c\n> > +++ b/diff.c\n> > @@ -2084,7 +2084,7 @@ static int is_conflict_marker(const char *line, int marker_size, unsigned long l\n> >  \tfor (cnt = 1; cnt < marker_size; cnt++)\n> >  \t\tif (line[cnt] != firstchar)\n> >  \t\t\treturn 0;\n> > -\t/* line[1] thru line[marker_size-1] are same as firstchar */\n> > +\t/* line[1] through line[marker_size-1] are same as firstchar */\n> >  \tif (len < marker_size + 1 || !isspace(line[marker_size]))\n> >  \t\treturn 0;\n> >  \treturn 1;\n> > diff --git a/dir.c b/dir.c\n> > index a4a9d9f..57892a5 100644\n> > --- a/dir.c\n> > +++ b/dir.c\n> > @@ -2166,7 +2166,7 @@ static int remove_dir_recurse(struct strbuf *path, int flag, int *kept_up)\n> >  \t\t\t\t * wanted anyway\n> >  \t\t\t\t */\n> >  \t\t\t\tcontinue;\n> > -\t\t\t/* fall thru */\n> > +\t\t\t/* fall through */\n> >  \t\t} else if (S_ISDIR(st.st_mode)) {\n> >  \t\t\tif (!remove_dir_recurse(path, flag, &kept_down))\n> >  \t\t\t\tcontinue; /* happy */\n> > diff --git a/git-p4.py b/git-p4.py\n> > index 825b9f3..4f577e2 100755\n> > --- a/git-p4.py\n> > +++ b/git-p4.py\n> > @@ -1918,7 +1918,7 @@ def run(self, args):\n> >          if self.useClientSpec:\n> >              self.clientSpecDirs = getClientSpec()\n> >  \n> > -        # Check for the existance of P4 branches\n> > +        # Check for the existence of P4 branches\n> >          branchesDetected = (len(p4BranchesInGit().keys()) > 1)\n> >  \n> >          if self.useClientSpec and not branchesDetected:\n> > diff --git a/refs.h b/refs.h\n> > index 2f3decb..fad6281 100644\n> > --- a/refs.h\n> > +++ b/refs.h\n> > @@ -336,7 +336,7 @@ struct ref_transaction *ref_transaction_begin(struct strbuf *err);\n> >   *     msg -- a message describing the change (for the reflog).\n> >   *\n> >   *     err -- a strbuf for receiving a description of any error that\n> > - *         might have occured.\n> > + *         might have occurred.\n> >   *\n> >   * The functions make internal copies of refname and msg, so the\n> >   * caller retains ownership of these parameters.\n> > diff --git a/sha1-lookup.c b/sha1-lookup.c\n> > index 5f06921..552582f 100644\n> > --- a/sha1-lookup.c\n> > +++ b/sha1-lookup.c\n> > @@ -199,7 +199,7 @@ int sha1_entry_pos(const void *table,\n> >  \t\t\t\t\tbreak;\n> >  \t\t\tofs_0 = ofs;\n> >  \t\t\t/*\n> > -\t\t\t * byte 0 thru (ofs-1) are the same between\n> > +\t\t\t * byte 0 through (ofs-1) are the same between\n> >  \t\t\t * lo and hi; ofs is the first byte that is\n> >  \t\t\t * different.\n> >  \t\t\t *\n> > diff --git a/t/t5535-fetch-push-symref.sh b/t/t5535-fetch-push-symref.sh\n> > index 8ed58d2..e8f6d23 100755\n> > --- a/t/t5535-fetch-push-symref.sh\n> > +++ b/t/t5535-fetch-push-symref.sh\n> > @@ -1,6 +1,6 @@\n> >  #!/bin/sh\n> >  \n> > -test_description='avoiding conflicting update thru symref aliasing'\n> > +test_description='avoiding conflicting update through symref aliasing'\n> >  \n> >  . ./test-lib.sh\n> >  \n> > diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh\n> > index e74662b..a1b02b3 100755\n> > --- a/t/t6030-bisect-porcelain.sh\n> > +++ b/t/t6030-bisect-porcelain.sh\n> > @@ -721,7 +721,7 @@ git bisect good 3de952f2416b6084f557ec417709eac740c6818c\n> >  # first bad commit: [32a594a3fdac2d57cf6d02987e30eec68511498c] Add <4: Ciao for now> into <hello>.\n> >  EOF\n> >  \n> > -test_expect_success 'bisect log: successfull result' '\n> > +test_expect_success 'bisect log: successful result' '\n> >  \tgit bisect reset &&\n> >  \tgit bisect start $HASH4 $HASH2 &&\n> >  \tgit bisect good &&\n> > diff --git a/worktree.c b/worktree.c\n> > index 6181a66..89ebe67 100644\n> > --- a/worktree.c\n> > +++ b/worktree.c\n> > @@ -18,7 +18,7 @@ void free_worktrees(struct worktree **worktrees)\n> >  \n> >  /*\n> >   * read 'path_to_ref' into 'ref'.  Also if is_detached is not NULL,\n> > - * set is_detached to 1 (0) if the ref is detatched (is not detached).\n> > + * set is_detached to 1 (0) if the ref is detached (is not detached).\n> >   *\n> >   * $GIT_COMMON_DIR/$symref (e.g. HEAD) is practically outside $GIT_DIR so\n> >   * for linked worktrees, `resolve_ref_unsafe()` won't work (it uses\n"},{"id":"282631","messageId":"xmqqd1q55kts.fsf@gitster.mtv.corp.google.com","threadId":"41911","inReplyTo":"20160403185517.GA6612@engestrom.ch","subject":"Re: [PATCH] Fix spelling mistakes","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-04-04T17:45:51Z","receivedAt":"2016-04-04T17:45:51Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eric Engestrom <eric@engestrom.ch> writes:\n\n> I went by word-count: \"through\" was way more common than \"thru\", so\n> I kept the fix.\n\nThat is not a \"fix\" (as it is not touching \"mistakes\") but \"making\nthem consistent\".  I do not personally feel strongly against such a\nchange, but please leave them out of \"Subject: [PATCH] typofix\".\n\n> BTW, I used codespell to fix those, I didn't do it by hand :]\n> https://github.com/lucasdemarchi/codespell\n\nHeh, cute ;-)\n\n> I can remove the \"thru\" fixes if you'd prefer, and resend with only the\n> other fixes.\n\nThanks.\n"}]}