{"thread":{"id":"36122","subject":"[PATCH] status merge: guarentee space between msg and path","startedAt":"2014-03-11T16:30:47Z","lastAt":"2014-03-12T20:43:11Z","messageCount":10,"participants":["Sandy Carter","Junio C Hamano","Duy Nguyen"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"236509","messageId":"1394555447-1805-1-git-send-email-sandy.carter@savoirfairelinux.com","threadId":"36122","inReplyTo":null,"subject":"[PATCH] status merge: guarentee space between msg and path","fromName":"Sandy Carter","fromEmail":"sandy.carter@savoirfairelinux.com","sentAt":"2014-03-11T16:30:47Z","receivedAt":"2014-03-11T16:30:47Z","isPatch":true,"sender":{"key":"sandy.carter@savoirfairelinux.com","avatar":"https://gravatar.com/avatar/f7200eeb1d898456afeba0045b3db9fc44992c1a1472c467883d32528048cd3e?d=mp&s=160"},"body":"Add space between how and one when printing status of unmerged data.\nThis fixes an appending of the how message when it is longer than 20.\nThis is the case in some translations such as the french one where\nthe colon gets appended to the file:\n\n    supprimé par nous :wt-status.c\n    modifié des deux côtés :wt-status.h\n\nAdditionally, having a space makes the file in question easier to select\nin console to quickly address the problem. Without the space, the colon\n(and, sometimes the last word) of the message is selected along with the\nfile.\n\nThe previous french example should now print as the following, which is\nmore proper:\n\n    supprimé par nous : wt-status.c\n    modifié des deux côtés : wt-status.h\n\nSigned-off-by: Sandy Carter <sandy.carter@savoirfairelinux.com>\n---\n wt-status.c | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/wt-status.c b/wt-status.c\nindex a452407..69e0dfc 100644\n--- a/wt-status.c\n+++ b/wt-status.c\n@@ -264,7 +264,7 @@ static void wt_status_print_unmerged_data(struct wt_status *s,\n \tcase 6: how = _(\"both added:\"); break;\n \tcase 7: how = _(\"both modified:\"); break;\n \t}\n-\tstatus_printf_more(s, c, \"%-20s%s\\n\", how, one);\n+\tstatus_printf_more(s, c, \"%-19s %s\\n\", how, one);\n \tstrbuf_release(&onebuf);\n }\n \n-- \n1.9.0\n"},{"id":"236526","messageId":"xmqqeh28pkuu.fsf@gitster.dls.corp.google.com","threadId":"36122","inReplyTo":"1394555447-1805-1-git-send-email-sandy.carter@savoirfairelinux.com","subject":"Re: [PATCH] status merge: guarentee space between msg and path","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-03-11T19:59:37Z","receivedAt":"2014-03-11T19:59:37Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Sandy Carter <sandy.carter@savoirfairelinux.com> writes:\n\n> diff --git a/wt-status.c b/wt-status.c\n> index a452407..69e0dfc 100644\n> --- a/wt-status.c\n> +++ b/wt-status.c\n> @@ -264,7 +264,7 @@ static void wt_status_print_unmerged_data(struct wt_status *s,\n>  \tcase 6: how = _(\"both added:\"); break;\n>  \tcase 7: how = _(\"both modified:\"); break;\n>  \t}\n> -\tstatus_printf_more(s, c, \"%-20s%s\\n\", how, one);\n> +\tstatus_printf_more(s, c, \"%-19s %s\\n\", how, one);\n>  \tstrbuf_release(&onebuf);\n>  }\n\nThanks; I have to wonder if we would want to do something similar to\nwhat 3651e45c (wt-status: take the alignment burden off translators,\n2013-11-05) to the other parts of the output, though.\n"},{"id":"236530","messageId":"531F706C.1080901@savoirfairelinux.com","threadId":"36122","inReplyTo":"xmqqeh28pkuu.fsf@gitster.dls.corp.google.com","subject":"Re: [PATCH] status merge: guarentee space between msg and path","fromName":"Sandy Carter","fromEmail":"sandy.carter@savoirfairelinux.com","sentAt":"2014-03-11T20:22:04Z","receivedAt":"2014-03-11T20:22:04Z","isPatch":true,"sender":{"key":"sandy.carter@savoirfairelinux.com","avatar":"https://gravatar.com/avatar/f7200eeb1d898456afeba0045b3db9fc44992c1a1472c467883d32528048cd3e?d=mp&s=160"},"body":"Le 2014-03-11 15:59, Junio C Hamano a écrit :\n> Sandy Carter <sandy.carter@savoirfairelinux.com> writes:\n>\n>> diff --git a/wt-status.c b/wt-status.c\n>> index a452407..69e0dfc 100644\n>> --- a/wt-status.c\n>> +++ b/wt-status.c\n>> @@ -264,7 +264,7 @@ static void wt_status_print_unmerged_data(struct wt_status *s,\n>>   \tcase 6: how = _(\"both added:\"); break;\n>>   \tcase 7: how = _(\"both modified:\"); break;\n>>   \t}\n>> -\tstatus_printf_more(s, c, \"%-20s%s\\n\", how, one);\n>> +\tstatus_printf_more(s, c, \"%-19s %s\\n\", how, one);\n>>   \tstrbuf_release(&onebuf);\n>>   }\n>\n> Thanks; I have to wonder if we would want to do something similar to\n> what 3651e45c (wt-status: take the alignment burden off translators,\n> 2013-11-05) to the other parts of the output, though.\n>\n\nI could, do this. It would be cleaner, but there's just the issue of the \ncolon (:) which requires a space before it in the french language[1]. As \nyou can see in po/fr.po, the french translators have done a good job at \nincluding it [2].\n\n3651e45c takes the colon out of the control of the translators.\n\n+       if (status == DIFF_STATUS_COPIED || status == DIFF_STATUS_RENAMED)\n+               status_printf_more(s, c, \"%s:%.*s%s -> %s\",\n+                                  what, len, padding, one, two);\n+       else\n+               status_printf_more(s, c, \"%s:%.*s%s\",\n+                                  what, len, padding, one);\n\n\n[1] https://en.wikipedia.org/wiki/Colon_%28punctuation%29#Spacing\n[2] https://github.com/git/git/blob/master/po/fr.po#L585\n"},{"id":"236532","messageId":"xmqqwqg0o518.fsf@gitster.dls.corp.google.com","threadId":"36122","inReplyTo":"531F706C.1080901@savoirfairelinux.com","subject":"Re: [PATCH] status merge: guarentee space between msg and path","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-03-11T20:26:43Z","receivedAt":"2014-03-11T20:26:43Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Sandy Carter <sandy.carter@savoirfairelinux.com> writes:\n\n> Le 2014-03-11 15:59, Junio C Hamano a écrit :\n>> Sandy Carter <sandy.carter@savoirfairelinux.com> writes:\n>>\n>>> diff --git a/wt-status.c b/wt-status.c\n>>> index a452407..69e0dfc 100644\n>>> --- a/wt-status.c\n>>> +++ b/wt-status.c\n>>> @@ -264,7 +264,7 @@ static void wt_status_print_unmerged_data(struct wt_status *s,\n>>>   \tcase 6: how = _(\"both added:\"); break;\n>>>   \tcase 7: how = _(\"both modified:\"); break;\n>>>   \t}\n>>> -\tstatus_printf_more(s, c, \"%-20s%s\\n\", how, one);\n>>> +\tstatus_printf_more(s, c, \"%-19s %s\\n\", how, one);\n>>>   \tstrbuf_release(&onebuf);\n>>>   }\n>>\n>> Thanks; I have to wonder if we would want to do something similar to\n>> what 3651e45c (wt-status: take the alignment burden off translators,\n>> 2013-11-05) to the other parts of the output, though.\n>>\n>\n> I could, do this. It would be cleaner, but there's just the issue of\n> the colon (:) which requires a space before it in the french\n> language[1]. As you can see in po/fr.po, the french translators have\n> done a good job at including it [2].\n>\n> 3651e45c takes the colon out of the control of the translators.\n\nThat is a separate bug we would need to address, then.  Duy Cc'ed.\n\n> +       if (status == DIFF_STATUS_COPIED || status == DIFF_STATUS_RENAMED)\n> +               status_printf_more(s, c, \"%s:%.*s%s -> %s\",\n> +                                  what, len, padding, one, two);\n> +       else\n> +               status_printf_more(s, c, \"%s:%.*s%s\",\n> +                                  what, len, padding, one);\n>\n>\n> [1] https://en.wikipedia.org/wiki/Colon_%28punctuation%29#Spacing\n> [2] https://github.com/git/git/blob/master/po/fr.po#L585\n"},{"id":"236550","messageId":"1394580211-13383-1-git-send-email-sandy.carter@savoirfairelinux.com","threadId":"36122","inReplyTo":"1394555447-1805-1-git-send-email-sandy.carter@savoirfairelinux.com","subject":"[PATCH v2] status merge: guarentee space between msg and path","fromName":"Sandy Carter","fromEmail":"sandy.carter@savoirfairelinux.com","sentAt":"2014-03-11T23:23:31Z","receivedAt":"2014-03-11T23:23:31Z","isPatch":true,"sender":{"key":"sandy.carter@savoirfairelinux.com","avatar":"https://gravatar.com/avatar/f7200eeb1d898456afeba0045b3db9fc44992c1a1472c467883d32528048cd3e?d=mp&s=160"},"body":"Add space between how and one when printing status of unmerged data.\nThis fixes an appending of the how message when it is longer than 20,\nsuch  is the case in some translations such as the french one where the\ncolon gets appended to the file:\n    supprimé par nous :wt-status.c\n    modifié des deux côtés :wt-status.h\nAdditionally, having a space makes the file in question easier to select\nin console to quickly address the problem. Without the space, the colon\n(and, sometimes the last word) of the message is selected along with the\nfile.\n\nThe previous french example should now print as, which is more proper:\n    supprimé par nous :      wt-status.c\n    modifié des deux côtés : wt-status.h\n\ntry 2:\nAdd function so wt_status_print_unmerged_data() and\nwt_status_print_change_data() make use of the same padding technique\ndefined as wt_status_status_padding_string()\n\nThis has the additionnal advantage of aligning unmerged paths with paths\nof regular statuses.\n\nSigned-off-by: Sandy Carter <sandy.carter@savoirfairelinux.com>\n---\n t/t7060-wtstatus.sh         |  16 +++----\n t/t7506-status-submodule.sh |  18 ++++----\n t/t7508-status.sh           |  94 +++++++++++++++++++--------------------\n t/t7512-status-help.sh      |  30 ++++++-------\n wt-status.c                 | 104 +++++++++++++++++++++++++++++---------------\n 5 files changed, 149 insertions(+), 113 deletions(-)\n\ndiff --git a/t/t7060-wtstatus.sh b/t/t7060-wtstatus.sh\nindex 7d467c0..f49f3b3 100755\n--- a/t/t7060-wtstatus.sh\n+++ b/t/t7060-wtstatus.sh\n@@ -38,7 +38,7 @@ You have unmerged paths.\n Unmerged paths:\n   (use \"git add/rm <file>...\" as appropriate to mark resolution)\n \n-\tdeleted by us:      foo\n+\tdeleted by us:   foo\n \n no changes added to commit (use \"git add\" and/or \"git commit -a\")\n EOF\n@@ -142,8 +142,8 @@ You have unmerged paths.\n Unmerged paths:\n   (use \"git add/rm <file>...\" as appropriate to mark resolution)\n \n-\tboth added:         conflict.txt\n-\tdeleted by them:    main.txt\n+\tboth added:      conflict.txt\n+\tdeleted by them: main.txt\n \n no changes added to commit (use \"git add\" and/or \"git commit -a\")\n EOF\n@@ -175,9 +175,9 @@ You have unmerged paths.\n Unmerged paths:\n   (use \"git add/rm <file>...\" as appropriate to mark resolution)\n \n-\tboth deleted:       main.txt\n-\tadded by them:      sub_master.txt\n-\tadded by us:        sub_second.txt\n+\tboth deleted:    main.txt\n+\tadded by them:   sub_master.txt\n+\tadded by us:     sub_second.txt\n \n no changes added to commit (use \"git add\" and/or \"git commit -a\")\n EOF\n@@ -198,12 +198,12 @@ You have unmerged paths.\n \n Changes to be committed:\n \n-\tnew file:   sub_master.txt\n+\tnew file:        sub_master.txt\n \n Unmerged paths:\n   (use \"git rm <file>...\" to mark resolution)\n \n-\tboth deleted:       main.txt\n+\tboth deleted:    main.txt\n \n Untracked files not listed (use -u option to show untracked files)\n EOF\ndiff --git a/t/t7506-status-submodule.sh b/t/t7506-status-submodule.sh\nindex d31b34d..745d88b 100755\n--- a/t/t7506-status-submodule.sh\n+++ b/t/t7506-status-submodule.sh\n@@ -38,7 +38,7 @@ test_expect_success 'status with modified file in submodule' '\n \t(cd sub && git reset --hard) &&\n \techo \"changed\" >sub/foo &&\n \tgit status >output &&\n-\ttest_i18ngrep \"modified:   sub (modified content)\" output\n+\ttest_i18ngrep \"modified:        sub (modified content)\" output\n '\n \n test_expect_success 'status with modified file in submodule (porcelain)' '\n@@ -53,7 +53,7 @@ test_expect_success 'status with modified file in submodule (porcelain)' '\n test_expect_success 'status with added file in submodule' '\n \t(cd sub && git reset --hard && echo >foo && git add foo) &&\n \tgit status >output &&\n-\ttest_i18ngrep \"modified:   sub (modified content)\" output\n+\ttest_i18ngrep \"modified:        sub (modified content)\" output\n '\n \n test_expect_success 'status with added file in submodule (porcelain)' '\n@@ -68,7 +68,7 @@ test_expect_success 'status with untracked file in submodule' '\n \t(cd sub && git reset --hard) &&\n \techo \"content\" >sub/new-file &&\n \tgit status >output &&\n-\ttest_i18ngrep \"modified:   sub (untracked content)\" output\n+\ttest_i18ngrep \"modified:        sub (untracked content)\" output\n '\n \n test_expect_success 'status -uno with untracked file in submodule' '\n@@ -87,7 +87,7 @@ test_expect_success 'status with added and untracked file in submodule' '\n \t(cd sub && git reset --hard && echo >foo && git add foo) &&\n \techo \"content\" >sub/new-file &&\n \tgit status >output &&\n-\ttest_i18ngrep \"modified:   sub (modified content, untracked content)\" output\n+\ttest_i18ngrep \"modified:        sub (modified content, untracked content)\" output\n '\n \n test_expect_success 'status with added and untracked file in submodule (porcelain)' '\n@@ -105,7 +105,7 @@ test_expect_success 'status with modified file in modified submodule' '\n \t(cd sub && echo \"next change\" >foo && git commit -m \"next change\" foo) &&\n \techo \"changed\" >sub/foo &&\n \tgit status >output &&\n-\ttest_i18ngrep \"modified:   sub (new commits, modified content)\" output\n+\ttest_i18ngrep \"modified:        sub (new commits, modified content)\" output\n '\n \n test_expect_success 'status with modified file in modified submodule (porcelain)' '\n@@ -120,7 +120,7 @@ test_expect_success 'status with modified file in modified submodule (porcelain)\n test_expect_success 'status with added file in modified submodule' '\n \t(cd sub && git reset --hard && echo >foo && git add foo) &&\n \tgit status >output &&\n-\ttest_i18ngrep \"modified:   sub (new commits, modified content)\" output\n+\ttest_i18ngrep \"modified:        sub (new commits, modified content)\" output\n '\n \n test_expect_success 'status with added file in modified submodule (porcelain)' '\n@@ -135,7 +135,7 @@ test_expect_success 'status with untracked file in modified submodule' '\n \t(cd sub && git reset --hard) &&\n \techo \"content\" >sub/new-file &&\n \tgit status >output &&\n-\ttest_i18ngrep \"modified:   sub (new commits, untracked content)\" output\n+\ttest_i18ngrep \"modified:        sub (new commits, untracked content)\" output\n '\n \n test_expect_success 'status with untracked file in modified submodule (porcelain)' '\n@@ -149,7 +149,7 @@ test_expect_success 'status with added and untracked file in modified submodule'\n \t(cd sub && git reset --hard && echo >foo && git add foo) &&\n \techo \"content\" >sub/new-file &&\n \tgit status >output &&\n-\ttest_i18ngrep \"modified:   sub (new commits, modified content, untracked content)\" output\n+\ttest_i18ngrep \"modified:        sub (new commits, modified content, untracked content)\" output\n '\n \n test_expect_success 'status with added and untracked file in modified submodule (porcelain)' '\n@@ -174,7 +174,7 @@ test_expect_success 'setup .git file for sub' '\n test_expect_success 'status with added file in modified submodule with .git file' '\n \t(cd sub && git reset --hard && echo >foo && git add foo) &&\n \tgit status >output &&\n-\ttest_i18ngrep \"modified:   sub (new commits, modified content)\" output\n+\ttest_i18ngrep \"modified:        sub (new commits, modified content)\" output\n '\n \n test_expect_success 'rm submodule contents' '\ndiff --git a/t/t7508-status.sh b/t/t7508-status.sh\nindex c987b5e..460c653 100755\n--- a/t/t7508-status.sh\n+++ b/t/t7508-status.sh\n@@ -72,13 +72,13 @@ test_expect_success 'status --column' '\n # Changes to be committed:\n #   (use \"git reset HEAD <file>...\" to unstage)\n #\n-#\tnew file:   dir2/added\n+#\tnew file:        dir2/added\n #\n # Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n-#\tmodified:   dir1/modified\n+#\tmodified:        dir1/modified\n #\n # Untracked files:\n #   (use \"git add <file>...\" to include in what will be committed)\n@@ -102,13 +102,13 @@ cat >expect <<\\EOF\n # Changes to be committed:\n #   (use \"git reset HEAD <file>...\" to unstage)\n #\n-#\tnew file:   dir2/added\n+#\tnew file:        dir2/added\n #\n # Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n-#\tmodified:   dir1/modified\n+#\tmodified:        dir1/modified\n #\n # Untracked files:\n #   (use \"git add <file>...\" to include in what will be committed)\n@@ -158,10 +158,10 @@ test_expect_success 'commit ignores status.displayCommentPrefix=false in COMMIT_\n cat >expect <<\\EOF\n On branch master\n Changes to be committed:\n-\tnew file:   dir2/added\n+\tnew file:        dir2/added\n \n Changes not staged for commit:\n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Untracked files:\n \tdir1/untracked\n@@ -233,13 +233,13 @@ On branch master\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tnew file:   dir2/added\n+\tnew file:        dir2/added\n \n Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Untracked files:\n   (use \"git add <file>...\" to include in what will be committed)\n@@ -296,13 +296,13 @@ On branch master\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tnew file:   dir2/added\n+\tnew file:        dir2/added\n \n Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Ignored files:\n   (use \"git add -f <file>...\" to include in what will be committed)\n@@ -362,13 +362,13 @@ On branch master\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tnew file:   dir2/added\n+\tnew file:        dir2/added\n \n Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Untracked files not listed (use -u option to show untracked files)\n EOF\n@@ -386,10 +386,10 @@ test_expect_success 'status -uno (advice.statusHints false)' '\n \tcat >expect <<EOF &&\n On branch master\n Changes to be committed:\n-\tnew file:   dir2/added\n+\tnew file:        dir2/added\n \n Changes not staged for commit:\n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Untracked files not listed\n EOF\n@@ -419,13 +419,13 @@ On branch master\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tnew file:   dir2/added\n+\tnew file:        dir2/added\n \n Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Untracked files:\n   (use \"git add <file>...\" to include in what will be committed)\n@@ -477,13 +477,13 @@ On branch master\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tnew file:   dir2/added\n+\tnew file:        dir2/added\n \n Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Untracked files:\n   (use \"git add <file>...\" to include in what will be committed)\n@@ -540,13 +540,13 @@ On branch master\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tnew file:   ../dir2/added\n+\tnew file:        ../dir2/added\n \n Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   modified\n+\tmodified:        modified\n \n Untracked files:\n   (use \"git add <file>...\" to include in what will be committed)\n@@ -611,13 +611,13 @@ On branch <GREEN>master<RESET>\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\t<GREEN>new file:   dir2/added<RESET>\n+\t<GREEN>new file:        dir2/added<RESET>\n \n Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\t<RED>modified:   dir1/modified<RESET>\n+\t<RED>modified:        dir1/modified<RESET>\n \n Untracked files:\n   (use \"git add <file>...\" to include in what will be committed)\n@@ -741,13 +741,13 @@ On branch master\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tnew file:   dir2/added\n+\tnew file:        dir2/added\n \n Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Untracked files:\n   (use \"git add <file>...\" to include in what will be committed)\n@@ -791,7 +791,7 @@ On branch master\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Untracked files:\n   (use \"git add <file>...\" to include in what will be committed)\n@@ -833,14 +833,14 @@ On branch master\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tnew file:   dir2/added\n-\tnew file:   sm\n+\tnew file:        dir2/added\n+\tnew file:        sm\n \n Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Untracked files:\n   (use \"git add <file>...\" to include in what will be committed)\n@@ -893,14 +893,14 @@ On branch master\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tnew file:   dir2/added\n-\tnew file:   sm\n+\tnew file:        dir2/added\n+\tnew file:        sm\n \n Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Submodule changes to be committed:\n \n@@ -956,7 +956,7 @@ Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Untracked files:\n   (use \"git add <file>...\" to include in what will be committed)\n@@ -1005,14 +1005,14 @@ On branch master\n Changes to be committed:\n   (use \"git reset HEAD^1 <file>...\" to unstage)\n \n-\tnew file:   dir2/added\n-\tnew file:   sm\n+\tnew file:        dir2/added\n+\tnew file:        sm\n \n Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Submodule changes to be committed:\n \n@@ -1060,13 +1060,13 @@ On branch master\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tmodified:   sm\n+\tmodified:        sm\n \n Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Submodule changes to be committed:\n \n@@ -1170,15 +1170,15 @@ On branch master\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tmodified:   sm\n+\tmodified:        sm\n \n Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n   (commit or discard the untracked or modified content in submodules)\n \n-\tmodified:   dir1/modified\n-\tmodified:   sm (modified content)\n+\tmodified:        dir1/modified\n+\tmodified:        sm (modified content)\n \n Submodule changes to be committed:\n \n@@ -1228,14 +1228,14 @@ On branch master\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tmodified:   sm\n+\tmodified:        sm\n \n Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   dir1/modified\n-\tmodified:   sm (new commits)\n+\tmodified:        dir1/modified\n+\tmodified:        sm (new commits)\n \n Submodule changes to be committed:\n \n@@ -1310,14 +1310,14 @@ cat > expect << EOF\n ; Changes to be committed:\n ;   (use \"git reset HEAD <file>...\" to unstage)\n ;\n-;\tmodified:   sm\n+;\tmodified:        sm\n ;\n ; Changes not staged for commit:\n ;   (use \"git add <file>...\" to update what will be committed)\n ;   (use \"git checkout -- <file>...\" to discard changes in working directory)\n ;\n-;\tmodified:   dir1/modified\n-;\tmodified:   sm (new commits)\n+;\tmodified:        dir1/modified\n+;\tmodified:        sm (new commits)\n ;\n ; Submodule changes to be committed:\n ;\n@@ -1361,7 +1361,7 @@ Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   dir1/modified\n+\tmodified:        dir1/modified\n \n Untracked files:\n   (use \"git add <file>...\" to include in what will be committed)\ndiff --git a/t/t7512-status-help.sh b/t/t7512-status-help.sh\nindex 3cec57a..8fa69b0 100755\n--- a/t/t7512-status-help.sh\n+++ b/t/t7512-status-help.sh\n@@ -33,7 +33,7 @@ You have unmerged paths.\n Unmerged paths:\n   (use \"git add <file>...\" to mark resolution)\n \n-\tboth modified:      main.txt\n+\tboth modified:   main.txt\n \n no changes added to commit (use \"git add\" and/or \"git commit -a\")\n EOF\n@@ -54,7 +54,7 @@ All conflicts fixed but you are still merging.\n \n Changes to be committed:\n \n-\tmodified:   main.txt\n+\tmodified:        main.txt\n \n Untracked files not listed (use -u option to show untracked files)\n EOF\n@@ -87,7 +87,7 @@ Unmerged paths:\n   (use \"git reset HEAD <file>...\" to unstage)\n   (use \"git add <file>...\" to mark resolution)\n \n-\tboth modified:      main.txt\n+\tboth modified:   main.txt\n \n no changes added to commit (use \"git add\" and/or \"git commit -a\")\n EOF\n@@ -111,7 +111,7 @@ You are currently rebasing branch '\\''rebase_conflicts'\\'' on '\\''$ONTO'\\''.\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tmodified:   main.txt\n+\tmodified:        main.txt\n \n Untracked files not listed (use -u option to show untracked files)\n EOF\n@@ -146,7 +146,7 @@ Unmerged paths:\n   (use \"git reset HEAD <file>...\" to unstage)\n   (use \"git add <file>...\" to mark resolution)\n \n-\tboth modified:      main.txt\n+\tboth modified:   main.txt\n \n no changes added to commit (use \"git add\" and/or \"git commit -a\")\n EOF\n@@ -169,7 +169,7 @@ You are currently rebasing branch '\\''rebase_i_conflicts_second'\\'' on '\\''$ONTO\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tmodified:   main.txt\n+\tmodified:        main.txt\n \n Untracked files not listed (use -u option to show untracked files)\n EOF\n@@ -224,7 +224,7 @@ Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   main.txt\n+\tmodified:        main.txt\n \n no changes added to commit (use \"git add\" and/or \"git commit -a\")\n EOF\n@@ -307,7 +307,7 @@ Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   main.txt\n+\tmodified:        main.txt\n \n no changes added to commit (use \"git add\" and/or \"git commit -a\")\n EOF\n@@ -379,7 +379,7 @@ Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   main.txt\n+\tmodified:        main.txt\n \n no changes added to commit (use \"git add\" and/or \"git commit -a\")\n EOF\n@@ -456,7 +456,7 @@ Changes not staged for commit:\n   (use \"git add <file>...\" to update what will be committed)\n   (use \"git checkout -- <file>...\" to discard changes in working directory)\n \n-\tmodified:   main.txt\n+\tmodified:        main.txt\n \n no changes added to commit (use \"git add\" and/or \"git commit -a\")\n EOF\n@@ -602,7 +602,7 @@ rebase in progress; onto $ONTO\n You are currently rebasing branch '\\''statushints_disabled'\\'' on '\\''$ONTO'\\''.\n \n Unmerged paths:\n-\tboth modified:      main.txt\n+\tboth modified:   main.txt\n \n no changes added to commit\n EOF\n@@ -636,7 +636,7 @@ You are currently cherry-picking commit $TO_CHERRY_PICK.\n Unmerged paths:\n   (use \"git add <file>...\" to mark resolution)\n \n-\tboth modified:      main.txt\n+\tboth modified:   main.txt\n \n no changes added to commit (use \"git add\" and/or \"git commit -a\")\n EOF\n@@ -660,7 +660,7 @@ You are currently cherry-picking commit $TO_CHERRY_PICK.\n \n Changes to be committed:\n \n-\tmodified:   main.txt\n+\tmodified:        main.txt\n \n Untracked files not listed (use -u option to show untracked files)\n EOF\n@@ -707,7 +707,7 @@ Unmerged paths:\n   (use \"git reset HEAD <file>...\" to unstage)\n   (use \"git add <file>...\" to mark resolution)\n \n-\tboth modified:      to-revert.txt\n+\tboth modified:   to-revert.txt\n \n no changes added to commit (use \"git add\" and/or \"git commit -a\")\n EOF\n@@ -727,7 +727,7 @@ You are currently reverting commit $TO_REVERT.\n Changes to be committed:\n   (use \"git reset HEAD <file>...\" to unstage)\n \n-\tmodified:   to-revert.txt\n+\tmodified:        to-revert.txt\n \n Untracked files not listed (use -u option to show untracked files)\n EOF\ndiff --git a/wt-status.c b/wt-status.c\nindex a452407..5990c99 100644\n--- a/wt-status.c\n+++ b/wt-status.c\n@@ -245,27 +245,26 @@ static void wt_status_print_trailer(struct wt_status *s)\n \n #define quote_path quote_path_relative\n \n-static void wt_status_print_unmerged_data(struct wt_status *s,\n-\t\t\t\t\t  struct string_list_item *it)\n+static const char *wt_status_unmerged_status_string(int status)\n {\n-\tconst char *c = color(WT_STATUS_UNMERGED, s);\n-\tstruct wt_status_change_data *d = it->util;\n-\tstruct strbuf onebuf = STRBUF_INIT;\n-\tconst char *one, *how = _(\"bug\");\n-\n-\tone = quote_path(it->string, s->prefix, &onebuf);\n-\tstatus_printf(s, color(WT_STATUS_HEADER, s), \"\\t\");\n-\tswitch (d->stagemask) {\n-\tcase 1: how = _(\"both deleted:\"); break;\n-\tcase 2: how = _(\"added by us:\"); break;\n-\tcase 3: how = _(\"deleted by them:\"); break;\n-\tcase 4: how = _(\"added by them:\"); break;\n-\tcase 5: how = _(\"deleted by us:\"); break;\n-\tcase 6: how = _(\"both added:\"); break;\n-\tcase 7: how = _(\"both modified:\"); break;\n+\tswitch (status) {\n+\tcase 1:\n+\t\treturn _(\"both deleted\");\n+\tcase 2:\n+\t\treturn _(\"added by us\");\n+\tcase 3:\n+\t\treturn _(\"deleted by them\");\n+\tcase 4:\n+\t\treturn _(\"added by them\");\n+\tcase 5:\n+\t\treturn _(\"deleted by us\");\n+\tcase 6:\n+\t\treturn _(\"both added\");\n+\tcase 7:\n+\t\treturn _(\"both modified\");\n+\tdefault:\n+\t\treturn NULL;\n \t}\n-\tstatus_printf_more(s, c, \"%-20s%s\\n\", how, one);\n-\tstrbuf_release(&onebuf);\n }\n \n static const char *wt_status_diff_status_string(int status)\n@@ -292,28 +291,25 @@ static const char *wt_status_diff_status_string(int status)\n \t}\n }\n \n-static void wt_status_print_change_data(struct wt_status *s,\n-\t\t\t\t\tint change_type,\n-\t\t\t\t\tstruct string_list_item *it)\n+static const char *wt_status_status_padding_string()\n {\n-\tstruct wt_status_change_data *d = it->util;\n-\tconst char *c = color(change_type, s);\n-\tint status;\n-\tchar *one_name;\n-\tchar *two_name;\n-\tconst char *one, *two;\n-\tstruct strbuf onebuf = STRBUF_INIT, twobuf = STRBUF_INIT;\n-\tstruct strbuf extra = STRBUF_INIT;\n \tstatic char *padding;\n-\tconst char *what;\n+\tconst char *message;\n+\tint status;\n \tint len;\n \n \tif (!padding) {\n \t\tint width = 0;\n-\t\t/* If DIFF_STATUS_* uses outside this range, we're in trouble */\n+\t\t/* Obtain width of widest status message */\n+\t\tfor (status = 1; status <= 7; status++) {\n+\t\t\tmessage = wt_status_unmerged_status_string(status);\n+\t\t\tlen = message ? strlen(message) : 0;\n+\t\t\tif (len > width)\n+\t\t\t\twidth = len;\n+\t\t}\n \t\tfor (status = 'A'; status <= 'Z'; status++) {\n-\t\t\twhat = wt_status_diff_status_string(status);\n-\t\t\tlen = what ? strlen(what) : 0;\n+\t\t\tmessage = wt_status_diff_status_string(status);\n+\t\t\tlen = message ? strlen(message) : 0;\n \t\t\tif (len > width)\n \t\t\t\twidth = len;\n \t\t}\n@@ -322,6 +318,46 @@ static void wt_status_print_change_data(struct wt_status *s,\n \t\tmemset(padding, ' ', width);\n \t}\n \n+\treturn padding;\n+}\n+\n+static void wt_status_print_unmerged_data(struct wt_status *s,\n+\t\t\t\t\t  struct string_list_item *it)\n+{\n+\tconst char *c = color(WT_STATUS_UNMERGED, s);\n+\tstruct wt_status_change_data *d = it->util;\n+\tstruct strbuf onebuf = STRBUF_INIT;\n+\tconst char *one, *how = _(\"bug\");\n+\tconst char *padding = wt_status_status_padding_string();\n+\tint len;\n+\n+\tpadding = wt_status_status_padding_string();\n+\tone = quote_path(it->string, s->prefix, &onebuf);\n+\tstatus_printf(s, color(WT_STATUS_HEADER, s), \"\\t\");\n+\thow = wt_status_unmerged_status_string(d->stagemask);\n+\t/* 1 for colon, which is not part of \"what\" */\n+\tlen = strlen(padding) - (utf8_strwidth(how) + 1);\n+\tstatus_printf_more(s, c, \"%s:%.*s%s\\n\",\n+\t\t\t   how, len, padding, one);\n+\tstrbuf_release(&onebuf);\n+}\n+\n+static void wt_status_print_change_data(struct wt_status *s,\n+\t\t\t\t\tint change_type,\n+\t\t\t\t\tstruct string_list_item *it)\n+{\n+\tstruct wt_status_change_data *d = it->util;\n+\tconst char *c = color(change_type, s);\n+\tint status;\n+\tchar *one_name;\n+\tchar *two_name;\n+\tconst char *one, *two;\n+\tstruct strbuf onebuf = STRBUF_INIT, twobuf = STRBUF_INIT;\n+\tstruct strbuf extra = STRBUF_INIT;\n+\tconst char *padding = wt_status_status_padding_string();\n+\tconst char *what;\n+\tint len;\n+\n \tone_name = two_name = it->string;\n \tswitch (change_type) {\n \tcase WT_STATUS_UPDATED:\n-- \n1.9.0\n"},{"id":"236552","messageId":"CACsJy8DvBVxtP_+qbcxL0J8D3iokGeMVW0jxFtZD=Jk_A=mwQg@mail.gmail.com","threadId":"36122","inReplyTo":"xmqqwqg0o518.fsf@gitster.dls.corp.google.com","subject":"Re: [PATCH] status merge: guarentee space between msg and path","fromName":"Duy Nguyen","fromEmail":"pclouds@gmail.com","sentAt":"2014-03-11T23:33:25Z","receivedAt":"2014-03-11T23:33:25Z","isPatch":true,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"On Wed, Mar 12, 2014 at 3:26 AM, Junio C Hamano <gitster@pobox.com> wrote:\n> Sandy Carter <sandy.carter@savoirfairelinux.com> writes:\n>\n>> Le 2014-03-11 15:59, Junio C Hamano a écrit :\n>>> Sandy Carter <sandy.carter@savoirfairelinux.com> writes:\n>>>\n>>>> diff --git a/wt-status.c b/wt-status.c\n>>>> index a452407..69e0dfc 100644\n>>>> --- a/wt-status.c\n>>>> +++ b/wt-status.c\n>>>> @@ -264,7 +264,7 @@ static void wt_status_print_unmerged_data(struct wt_status *s,\n>>>>     case 6: how = _(\"both added:\"); break;\n>>>>     case 7: how = _(\"both modified:\"); break;\n>>>>     }\n>>>> -   status_printf_more(s, c, \"%-20s%s\\n\", how, one);\n>>>> +   status_printf_more(s, c, \"%-19s %s\\n\", how, one);\n>>>>     strbuf_release(&onebuf);\n>>>>   }\n>>>\n>>> Thanks; I have to wonder if we would want to do something similar to\n>>> what 3651e45c (wt-status: take the alignment burden off translators,\n>>> 2013-11-05) to the other parts of the output, though.\n>>>\n>>\n>> I could, do this. It would be cleaner, but there's just the issue of\n>> the colon (:) which requires a space before it in the french\n>> language[1]. As you can see in po/fr.po, the french translators have\n>> done a good job at including it [2].\n>>\n>> 3651e45c takes the colon out of the control of the translators.\n>\n> That is a separate bug we would need to address, then.  Duy Cc'ed.\n\nWe went through this before\n\nhttp://thread.gmane.org/gmane.linux.debian.devel.bugs.general/1109239/focus=239560\n\nIf the colon needs language specific treatment then it should be part\nof the translatable strings.\n-- \nDuy\n"},{"id":"236598","messageId":"xmqqeh27mfc5.fsf@gitster.dls.corp.google.com","threadId":"36122","inReplyTo":"CACsJy8DvBVxtP_+qbcxL0J8D3iokGeMVW0jxFtZD=Jk_A=mwQg@mail.gmail.com","subject":"Re: [PATCH] status merge: guarentee space between msg and path","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-03-12T18:39:22Z","receivedAt":"2014-03-12T18:39:22Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Duy Nguyen <pclouds@gmail.com> writes:\n\n> On Wed, Mar 12, 2014 at 3:26 AM, Junio C Hamano <gitster@pobox.com> wrote:\n>> Sandy Carter <sandy.carter@savoirfairelinux.com> writes:\n>>\n>>> 3651e45c takes the colon out of the control of the translators.\n>>\n>> That is a separate bug we would need to address, then.  Duy Cc'ed.\n>\n> We went through this before\n>\n> http://thread.gmane.org/gmane.linux.debian.devel.bugs.general/1109239/focus=239560\n>\n> If the colon needs language specific treatment then it should be part\n> of the translatable strings.\n\nOK.  So we should resurrect $gmane/239537 and adjust the codepath\nthat was touched by 3651e45c to move the colon into translatable\nstring?\n\nWhat other places do we assume that colons are to immediately follow\nwhatever human-readable text used as a label/heading, I wonder...\n"},{"id":"236608","messageId":"xmqqmwgvkyig.fsf@gitster.dls.corp.google.com","threadId":"36122","inReplyTo":"1394580211-13383-1-git-send-email-sandy.carter@savoirfairelinux.com","subject":"Re: [PATCH v2] status merge: guarentee space between msg and path","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-03-12T19:28:07Z","receivedAt":"2014-03-12T19:28:07Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Sandy Carter <sandy.carter@savoirfairelinux.com> writes:\n\n> Add space between how and one when printing status of unmerged data.\n> This fixes an appending of the how message when it is longer than 20,\n> such  is the case in some translations such as the french one where the\n> colon gets appended to the file:\n>     supprimé par nous :wt-status.c\n>     modifié des deux côtés :wt-status.h\n> Additionally, having a space makes the file in question easier to select\n> in console to quickly address the problem. Without the space, the colon\n> (and, sometimes the last word) of the message is selected along with the\n> file.\n>\n> The previous french example should now print as, which is more proper:\n>     supprimé par nous :      wt-status.c\n>     modifié des deux côtés : wt-status.h\n>\n> try 2:\n> Add function so wt_status_print_unmerged_data() and\n> wt_status_print_change_data() make use of the same padding technique\n> defined as wt_status_status_padding_string()\n>\n> This has the additionnal advantage of aligning unmerged paths with paths\n> of regular statuses.\n>\n> Signed-off-by: Sandy Carter <sandy.carter@savoirfairelinux.com>\n> ---\n>  t/t7060-wtstatus.sh         |  16 +++----\n>  t/t7506-status-submodule.sh |  18 ++++----\n>  t/t7508-status.sh           |  94 +++++++++++++++++++--------------------\n>  t/t7512-status-help.sh      |  30 ++++++-------\n\nThis is too noisy a patch to be reviewed.  I tried to resurrect\nJonathan's fix from Dec 2013 and posted it elsewhere---does it work\nfor you?\n"},{"id":"236620","messageId":"5320BED8.3040108@savoirfairelinux.com","threadId":"36122","inReplyTo":"xmqqmwgvkyig.fsf@gitster.dls.corp.google.com","subject":"Re: [PATCH v2] status merge: guarentee space between msg and path","fromName":"Sandy Carter","fromEmail":"sandy.carter@savoirfairelinux.com","sentAt":"2014-03-12T20:08:56Z","receivedAt":"2014-03-12T20:08:56Z","isPatch":true,"sender":{"key":"sandy.carter@savoirfairelinux.com","avatar":"https://gravatar.com/avatar/f7200eeb1d898456afeba0045b3db9fc44992c1a1472c467883d32528048cd3e?d=mp&s=160"},"body":"\nLe 2014-03-12 15:28, Junio C Hamano a écrit :\n> Sandy Carter <sandy.carter@savoirfairelinux.com> writes:\n>\n>> Add space between how and one when printing status of unmerged data.\n>> This fixes an appending of the how message when it is longer than 20,\n>> such  is the case in some translations such as the french one where the\n>> colon gets appended to the file:\n>>      supprimé par nous :wt-status.c\n>>      modifié des deux côtés :wt-status.h\n>> Additionally, having a space makes the file in question easier to select\n>> in console to quickly address the problem. Without the space, the colon\n>> (and, sometimes the last word) of the message is selected along with the\n>> file.\n>>\n>> The previous french example should now print as, which is more proper:\n>>      supprimé par nous :      wt-status.c\n>>      modifié des deux côtés : wt-status.h\n>>\n>> try 2:\n>> Add function so wt_status_print_unmerged_data() and\n>> wt_status_print_change_data() make use of the same padding technique\n>> defined as wt_status_status_padding_string()\n>>\n>> This has the additionnal advantage of aligning unmerged paths with paths\n>> of regular statuses.\n>>\n>> Signed-off-by: Sandy Carter <sandy.carter@savoirfairelinux.com>\n>> ---\n>>   t/t7060-wtstatus.sh         |  16 +++----\n>>   t/t7506-status-submodule.sh |  18 ++++----\n>>   t/t7508-status.sh           |  94 +++++++++++++++++++--------------------\n>>   t/t7512-status-help.sh      |  30 ++++++-------\n>\n> This is too noisy a patch to be reviewed.  I tried to resurrect\n> Jonathan's fix from Dec 2013 and posted it elsewhere---does it work\n> for you?\n\nSeems fine except for the bit about returning _(\"bug\"), which I brought up.\n\nSeems to do the same thing as my proposal without changing the alignment \nof paths in of regular status output. No changes to tests necessary, \nless noisy.\n\nIt works for me.\n\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n>\n"},{"id":"236627","messageId":"xmqqsiqnjggw.fsf@gitster.dls.corp.google.com","threadId":"36122","inReplyTo":"5320BED8.3040108@savoirfairelinux.com","subject":"Re: [PATCH v2] status merge: guarentee space between msg and path","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-03-12T20:43:11Z","receivedAt":"2014-03-12T20:43:11Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Sandy Carter <sandy.carter@savoirfairelinux.com> writes:\n\n> Seems fine except for the bit about returning _(\"bug\"), which I brought up.\n>\n> Seems to do the same thing as my proposal without changing the\n> alignment of paths in of regular status output. No changes to tests\n> necessary, less noisy.\n>\n> It works for me.\n\nThanks.  I'll work on a better split, then, and resend them later.\n"}]}