{"thread":{"id":"42246","subject":"[PATCH] utf8: fix duplicate words of \"the\"","startedAt":"2016-05-06T12:31:33Z","lastAt":"2016-05-07T15:10:26Z","messageCount":5,"participants":["Li Peng","Jeff King","Junio C Hamano","李三0159"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"285694","messageId":"1462537893-18493-1-git-send-email-lip@dtdream.com","threadId":"42246","inReplyTo":null,"subject":"[PATCH] utf8: fix duplicate words of \"the\"","fromName":"Li Peng","fromEmail":"lip@dtdream.com","sentAt":"2016-05-06T12:31:33Z","receivedAt":"2016-05-06T12:31:33Z","isPatch":true,"sender":{"key":"lip@dtdream.com","avatar":null},"body":"Fix duplicate words of \"the\" in comment.\n\nSigned-off-by: Li Peng <lip@dtdream.com>\n---\n transport-helper.c | 2 +-\n utf8.h             | 2 +-\n 2 files changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/transport-helper.c b/transport-helper.c\nindex b934183..13b7a57 100644\n--- a/transport-helper.c\n+++ b/transport-helper.c\n@@ -1152,7 +1152,7 @@ static void udt_close_if_finished(struct unidirectional_transfer *t)\n }\n \n /*\n- * Tries to read read data from source into buffer. If buffer is full,\n+ * Tries to read data from source into buffer. If buffer is full,\n  * no data is read. Returns 0 on success, -1 on error.\n  */\n static int udt_do_read(struct unidirectional_transfer *t)\ndiff --git a/utf8.h b/utf8.h\nindex 7930b44..6bbcf31 100644\n--- a/utf8.h\n+++ b/utf8.h\n@@ -48,7 +48,7 @@ static inline char *reencode_string(const char *in,\n int mbs_chrlen(const char **text, size_t *remainder_p, const char *encoding);\n \n /*\n- * Returns true if the the path would match \".git\" after HFS case-folding.\n+ * Returns true if the path would match \".git\" after HFS case-folding.\n  * The path should be NUL-terminated, but we will match variants of both \".git\\0\"\n  * and \".git/...\" (but _not_ \".../.git\"). This makes it suitable for both fsck\n  * and verify_path().\n-- \n1.8.3.1\n"},{"id":"285697","messageId":"20160506130922.GA5051@sigill.intra.peff.net","threadId":"42246","inReplyTo":"1462537893-18493-1-git-send-email-lip@dtdream.com","subject":"Re: [PATCH] utf8: fix duplicate words of \"the\"","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2016-05-06T13:09:22Z","receivedAt":"2016-05-06T13:09:22Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, May 06, 2016 at 08:31:33PM +0800, Li Peng wrote:\n\n> Fix duplicate words of \"the\" in comment.\n\nObviously a good change, along with the other one of mine you found.\n\n> ---\n>  transport-helper.c | 2 +-\n>  utf8.h             | 2 +-\n>  2 files changed, 2 insertions(+), 2 deletions(-)\n\nYou seem to be breaking these up by file; was the change in\ntransport-helper supposed to be in a different patch?\n\nIMHO it would be fine to just do all of these in a single patch. They're\ndifferent files, yes, but it's all conceptually the same change.\n\n-Peff\n"},{"id":"285760","messageId":"xmqqoa8j3xk7.fsf@gitster.mtv.corp.google.com","threadId":"42246","inReplyTo":"20160506130922.GA5051@sigill.intra.peff.net","subject":"Re: [PATCH] utf8: fix duplicate words of \"the\"","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-05-06T17:28:56Z","receivedAt":"2016-05-06T17:28:56Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> On Fri, May 06, 2016 at 08:31:33PM +0800, Li Peng wrote:\n>\n>> Fix duplicate words of \"the\" in comment.\n>\n> Obviously a good change, along with the other one of mine you found.\n>\n>> ---\n>>  transport-helper.c | 2 +-\n>>  utf8.h             | 2 +-\n>>  2 files changed, 2 insertions(+), 2 deletions(-)\n>\n> You seem to be breaking these up by file; was the change in\n> transport-helper supposed to be in a different patch?\n>\n> IMHO it would be fine to just do all of these in a single patch. They're\n> different files, yes, but it's all conceptually the same change.\n>\n> -Peff\n\nI can squash them into a single one.  So far, everything except two\nI saw was good.\n"},{"id":"285766","messageId":"xmqqa8k33upk.fsf@gitster.mtv.corp.google.com","threadId":"42246","inReplyTo":"xmqqoa8j3xk7.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH] utf8: fix duplicate words of \"the\"","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-05-06T18:30:31Z","receivedAt":"2016-05-06T18:30:31Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Jeff King <peff@peff.net> writes:\n>>\n>> IMHO it would be fine to just do all of these in a single patch. They're\n>> different files, yes, but it's all conceptually the same change.\n>\n> I can squash them into a single one.  So far, everything except two\n> I saw was good.\n\nSo I tentatively queued this.\n\n-- >8 --\nFrom: Li Peng <lip@dtdream.com>\nDate: Fri, 6 May 2016 20:36:46 +0800\nSubject: [PATCH] typofix: assorted typofixes in comments, documentation and\n messages\n\nMany instances of duplicate words (e.g. \"the the path\") and\na few typoes are fixed, originally in multiple patches.\n\n    wildmatch: fix duplicate words of \"the\"\n    t: fix duplicate words of \"output\"\n    transport-helper: fix duplicate words of \"read\"\n    Git.pm: fix duplicate words of \"return\"\n    path: fix duplicate words of \"look\"\n    pack-protocol.txt: fix duplicate words of \"the\"\n    precompose-utf8: fix typo of \"sequences\"\n    split-index: fix typo\n    worktree.c: fix typo\n    remote-ext: fix typo\n\nSigned-off-by: Li Peng <lip@dtdream.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n Documentation/technical/pack-protocol.txt | 2 +-\n builtin/remote-ext.c                      | 2 +-\n compat/precompose_utf8.c                  | 2 +-\n path.c                                    | 2 +-\n perl/Git.pm                               | 2 +-\n split-index.c                             | 2 +-\n t/t0000-basic.sh                          | 2 +-\n transport-helper.c                        | 2 +-\n wildmatch.c                               | 2 +-\n worktree.c                                | 2 +-\n 10 files changed, 10 insertions(+), 10 deletions(-)\n\ndiff --git a/Documentation/technical/pack-protocol.txt b/Documentation/technical/pack-protocol.txt\nindex c6977bb..8b36343 100644\n--- a/Documentation/technical/pack-protocol.txt\n+++ b/Documentation/technical/pack-protocol.txt\n@@ -526,7 +526,7 @@ Push Certificate\n \n A push certificate begins with a set of header lines.  After the\n header and an empty line, the protocol commands follow, one per\n-line. Note that the the trailing LF in push-cert PKT-LINEs is _not_\n+line. Note that the trailing LF in push-cert PKT-LINEs is _not_\n optional; it must be present.\n \n Currently, the following header fields are defined:\ndiff --git a/builtin/remote-ext.c b/builtin/remote-ext.c\nindex 7457c74..88eb8f9 100644\n--- a/builtin/remote-ext.c\n+++ b/builtin/remote-ext.c\n@@ -168,7 +168,7 @@ static int command_loop(const char *child)\n \t\tsize_t i;\n \t\tif (!fgets(buffer, MAXCOMMAND - 1, stdin)) {\n \t\t\tif (ferror(stdin))\n-\t\t\t\tdie(\"Comammand input error\");\n+\t\t\t\tdie(\"Command input error\");\n \t\t\texit(0);\n \t\t}\n \t\t/* Strip end of line characters. */\ndiff --git a/compat/precompose_utf8.c b/compat/precompose_utf8.c\nindex dfbe6d8..4293b53 100644\n--- a/compat/precompose_utf8.c\n+++ b/compat/precompose_utf8.c\n@@ -147,7 +147,7 @@ struct dirent_prec_psx *precompose_utf8_readdir(PREC_DIR *prec_dir)\n \t\t\t\tif (errno || inleft) {\n \t\t\t\t\t/*\n \t\t\t\t\t * iconv() failed and errno could be E2BIG, EILSEQ, EINVAL, EBADF\n-\t\t\t\t\t * MacOS X avoids illegal byte sequemces.\n+\t\t\t\t\t * MacOS X avoids illegal byte sequences.\n \t\t\t\t\t * If they occur on a mounted drive (e.g. NFS) it is not worth to\n \t\t\t\t\t * die() for that, but rather let the user see the original name\n \t\t\t\t\t*/\ndiff --git a/path.c b/path.c\nindex 969b494..a5e953f 100644\n--- a/path.c\n+++ b/path.c\n@@ -134,7 +134,7 @@ static struct common_dir common_list[] = {\n  * definite\n  * definition\n  *\n- * The trie would look look like:\n+ * The trie would look like:\n  * root: len = 0, children a and d non-NULL, value = NULL.\n  *    a: len = 2, contents = bc, value = (data for \"abc\")\n  *    d: len = 2, contents = ef, children i non-NULL, value = (data for \"def\")\ndiff --git a/perl/Git.pm b/perl/Git.pm\nindex 49eb88a..ce7e4e8 100644\n--- a/perl/Git.pm\n+++ b/perl/Git.pm\n@@ -393,7 +393,7 @@ sub command_close_pipe {\n Execute the given C<COMMAND> in the same way as command_output_pipe()\n does but return both an input pipe filehandle and an output pipe filehandle.\n \n-The function will return return C<($pid, $pipe_in, $pipe_out, $ctx)>.\n+The function will return C<($pid, $pipe_in, $pipe_out, $ctx)>.\n See C<command_close_bidi_pipe()> for details.\n \n =cut\ndiff --git a/split-index.c b/split-index.c\nindex 968b780..3c75d4b 100644\n--- a/split-index.c\n+++ b/split-index.c\n@@ -60,7 +60,7 @@ static void mark_base_index_entries(struct index_state *base)\n \t * To keep track of the shared entries between\n \t * istate->base->cache[] and istate->cache[], base entry\n \t * position is stored in each base entry. All positions start\n-\t * from 1 instead of 0, which is resrved to say \"this is a new\n+\t * from 1 instead of 0, which is reserved to say \"this is a new\n \t * entry\".\n \t */\n \tfor (i = 0; i < base->cache_nr; i++)\ndiff --git a/t/t0000-basic.sh b/t/t0000-basic.sh\nindex 79b9074..60811a3 100755\n--- a/t/t0000-basic.sh\n+++ b/t/t0000-basic.sh\n@@ -98,7 +98,7 @@ check_sub_test_lib_test () {\n }\n \n check_sub_test_lib_test_err () {\n-\tname=\"$1\" # stdin is the expected output output from the test\n+\tname=\"$1\" # stdin is the expected output from the test\n \t# expected error output is in descriptior 3\n \t(\n \t\tcd \"$name\" &&\ndiff --git a/transport-helper.c b/transport-helper.c\nindex b934183..13b7a57 100644\n--- a/transport-helper.c\n+++ b/transport-helper.c\n@@ -1152,7 +1152,7 @@ static void udt_close_if_finished(struct unidirectional_transfer *t)\n }\n \n /*\n- * Tries to read read data from source into buffer. If buffer is full,\n+ * Tries to read data from source into buffer. If buffer is full,\n  * no data is read. Returns 0 on success, -1 on error.\n  */\n static int udt_do_read(struct unidirectional_transfer *t)\ndiff --git a/wildmatch.c b/wildmatch.c\nindex f91ba99..57c8765 100644\n--- a/wildmatch.c\n+++ b/wildmatch.c\n@@ -136,7 +136,7 @@ static int dowild(const uchar *p, const uchar *text, unsigned int flags)\n \t\t\t\t/*\n \t\t\t\t * Try to advance faster when an asterisk is\n \t\t\t\t * followed by a literal. We know in this case\n-\t\t\t\t * that the the string before the literal\n+\t\t\t\t * that the string before the literal\n \t\t\t\t * must belong to \"*\".\n \t\t\t\t * If match_slash is false, do not look past\n \t\t\t\t * the first slash as it cannot belong to '*'.\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.2-507-g43e827d\n"},{"id":"285822","messageId":"bac71936-2381-4249-9cfe-def87026a14f.lip@dtdream.com","threadId":"42246","inReplyTo":"xmqqoa8j3xk7.fsf@gitster.mtv.corp.google.com","subject":"回复：[PATCH] utf8: fix duplicate words of \"the\"","fromName":"李三0159","fromEmail":"lip@dtdream.com","sentAt":"2016-05-07T15:10:26Z","receivedAt":"2016-05-07T15:10:26Z","isPatch":true,"sender":{"key":"lip@dtdream.com","avatar":null},"body":"Good job.Cleaner now.\nI found these typos by aspell, and duplicate words by grep -rnIE  '\\b(\\w+)\\s+\\1\\b' :)\nThanks!\n\n\n\n------------------------------------------------------------------\n发件人：Junio C Hamano <gitster@pobox.com>\n发送时间：2016年5月7日(星期六) 02:30\n收件人：李三0159 <lip@dtdream.com>\n抄　送：Jeff King <peff@peff.net>; git <git@vger.kernel.org>\n主　题：Re: [PATCH] utf8: fix duplicate words of \"the\"\n\n\nJunio C Hamano <gitster@pobox.com> writes:\n\n> Jeff King <peff@peff.net> writes:\n>>\n>> IMHO it would be fine to just do all of these in a single patch. They're\n>> different files, yes, but it's all conceptually the same change.\n>\n> I can squash them into a single one.  So far, everything except two\n> I saw was good.\n\nSo I tentatively queued this.\n\n-- >8 --\nFrom: Li Peng <lip@dtdream.com>\nDate: Fri, 6 May 2016 20:36:46 +0800\nSubject: [PATCH] typofix: assorted typofixes in comments, documentation and\n messages\n\nMany instances of duplicate words (e.g. \"the the path\") and\na few typoes are fixed, originally in multiple patches.\n\n    wildmatch: fix duplicate words of \"the\"\n    t: fix duplicate words of \"output\"\n    transport-helper: fix duplicate words of \"read\"\n    Git.pm: fix duplicate words of \"return\"\n    path: fix duplicate words of \"look\"\n    pack-protocol.txt: fix duplicate words of \"the\"\n    precompose-utf8: fix typo of \"sequences\"\n    split-index: fix typo\n    worktree.c: fix typo\n    remote-ext: fix typo\n\nSigned-off-by: Li Peng <lip@dtdream.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n Documentation/technical/pack-protocol.txt | 2 +-\n builtin/remote-ext.c                      | 2 +-\n compat/precompose_utf8.c                  | 2 +-\n path.c                                    | 2 +-\n perl/Git.pm                               | 2 +-\n split-index.c                             | 2 +-\n t/t0000-basic.sh                          | 2 +-\n transport-helper.c                        | 2 +-\n wildmatch.c                               | 2 +-\n worktree.c                                | 2 +-\n 10 files changed, 10 insertions(+), 10 deletions(-)\n\ndiff --git a/Documentation/technical/pack-protocol.txt b/Documentation/technical/pack-protocol.txt\nindex c6977bb..8b36343 100644\n--- a/Documentation/technical/pack-protocol.txt\n+++ b/Documentation/technical/pack-protocol.txt\n@@ -526,7 +526,7 @@ Push Certificate\n \n A push certificate begins with a set of header lines.  After the\n header and an empty line, the protocol commands follow, one per\n-line. Note that the the trailing LF in push-cert PKT-LINEs is _not_\n+line. Note that the trailing LF in push-cert PKT-LINEs is _not_\n optional; it must be present.\n \n Currently, the following header fields are defined:\ndiff --git a/builtin/remote-ext.c b/builtin/remote-ext.c\nindex 7457c74..88eb8f9 100644\n--- a/builtin/remote-ext.c\n+++ b/builtin/remote-ext.c\n@@ -168,7 +168,7 @@ static int command_loop(const char *child)\n   size_t i;\n   if (!fgets(buffer, MAXCOMMAND - 1, stdin)) {\n    if (ferror(stdin))\n-    die(\"Comammand input error\");\n+    die(\"Command input error\");\n    exit(0);\n   }\n   /* Strip end of line characters. */\ndiff --git a/compat/precompose_utf8.c b/compat/precompose_utf8.c\nindex dfbe6d8..4293b53 100644\n--- a/compat/precompose_utf8.c\n+++ b/compat/precompose_utf8.c\n@@ -147,7 +147,7 @@ struct dirent_prec_psx *precompose_utf8_readdir(PREC_DIR *prec_dir)\n     if (errno || inleft) {\n      /*\n       * iconv() failed and errno could be E2BIG, EILSEQ, EINVAL, EBADF\n-      * MacOS X avoids illegal byte sequemces.\n+      * MacOS X avoids illegal byte sequences.\n       * If they occur on a mounted drive (e.g. NFS) it is not worth to\n       * die() for that, but rather let the user see the original name\n      */\ndiff --git a/path.c b/path.c\nindex 969b494..a5e953f 100644\n--- a/path.c\n+++ b/path.c\n@@ -134,7 +134,7 @@ static struct common_dir common_list[] = {\n  * definite\n  * definition\n  *\n- * The trie would look look like:\n+ * The trie would look like:\n  * root: len = 0, children a and d non-NULL, value = NULL.\n  *    a: len = 2, contents = bc, value = (data for \"abc\")\n  *    d: len = 2, contents = ef, children i non-NULL, value = (data for \"def\")\ndiff --git a/perl/Git.pm b/perl/Git.pm\nindex 49eb88a..ce7e4e8 100644\n--- a/perl/Git.pm\n+++ b/perl/Git.pm\n@@ -393,7 +393,7 @@ sub command_close_pipe {\n Execute the given C<COMMAND> in the same way as command_output_pipe()\n does but return both an input pipe filehandle and an output pipe filehandle.\n \n-The function will return return C<($pid, $pipe_in, $pipe_out, $ctx)>.\n+The function will return C<($pid, $pipe_in, $pipe_out, $ctx)>.\n See C<command_close_bidi_pipe()> for details.\n \n =cut\ndiff --git a/split-index.c b/split-index.c\nindex 968b780..3c75d4b 100644\n--- a/split-index.c\n+++ b/split-index.c\n@@ -60,7 +60,7 @@ static void mark_base_index_entries(struct index_state *base)\n   * To keep track of the shared entries between\n   * istate->base->cache[] and istate->cache[], base entry\n   * position is stored in each base entry. All positions start\n-  * from 1 instead of 0, which is resrved to say \"this is a new\n+  * from 1 instead of 0, which is reserved to say \"this is a new\n   * entry\".\n   */\n  for (i = 0; i < base->cache_nr; i++)\ndiff --git a/t/t0000-basic.sh b/t/t0000-basic.sh\nindex 79b9074..60811a3 100755\n--- a/t/t0000-basic.sh\n+++ b/t/t0000-basic.sh\n@@ -98,7 +98,7 @@ check_sub_test_lib_test () {\n }\n \n check_sub_test_lib_test_err () {\n- name=\"$1\" # stdin is the expected output output from the test\n+ name=\"$1\" # stdin is the expected output from the test\n  # expected error output is in descriptior 3\n  (\n   cd \"$name\" &&\ndiff --git a/transport-helper.c b/transport-helper.c\nindex b934183..13b7a57 100644\n--- a/transport-helper.c\n+++ b/transport-helper.c\n@@ -1152,7 +1152,7 @@ static void udt_close_if_finished(struct unidirectional_transfer *t)\n }\n \n /*\n- * Tries to read read data from source into buffer. If buffer is full,\n+ * Tries to read data from source into buffer. If buffer is full,\n  * no data is read. Returns 0 on success, -1 on error.\n  */\n static int udt_do_read(struct unidirectional_transfer *t)\ndiff --git a/wildmatch.c b/wildmatch.c\nindex f91ba99..57c8765 100644\n--- a/wildmatch.c\n+++ b/wildmatch.c\n@@ -136,7 +136,7 @@ static int dowild(const uchar *p, const uchar *text, unsigned int flags)\n     /*\n      * Try to advance faster when an asterisk is\n      * followed by a literal. We know in this case\n-     * that the the string before the literal\n+     * that the string before the literal\n      * must belong to \"*\".\n      * If match_slash is false, do not look past\n      * the first slash as it cannot belong to '*'.\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.2-507-g43e827d\n"}]}