{"thread":{"id":"24299","subject":"messages confusing","startedAt":"2010-07-06T05:35:43Z","lastAt":"2010-07-10T00:39:17Z","messageCount":16,"participants":["Nicolas Sebrecht","Junio C Hamano","Wincent Colaiuta","Ævar Arnfjörð Bjarmason"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"144873","messageId":"20100706053543.GA13054@vidovic","threadId":"24299","inReplyTo":null,"subject":"messages confusing","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2010-07-06T05:35:43Z","receivedAt":"2010-07-06T05:35:43Z","isPatch":false,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"Hi all,\n\nI had those messages today\n\n  % git merge origin/master\n    Already uptodate!\n    Merge made by recursive.\n  %\n\nwith git version 1.7.2.rc1.210.g7b476 and I wonder if it is really\nintended.  It did create an empty merge commit but I find both messages\ntogether a bit confusing here.  Why would Git merge if uptodate?\n\nI don't think I will have time to investigate in the comming weeks but\nyou should be able to reproduce it by following these steps (it is by\nnow, at least):\n\n  % git clone git://github.com/nvie/gitflow.git\n  % cd gitflow\n  % git merge origin/master\n  %\n\nThanks,\n  \n-- \nNicolas Sebrecht\n"},{"id":"144882","messageId":"ACE6C748-1F26-473B-BC69-33C59A3969BD@wincent.com","threadId":"24299","inReplyTo":"20100706053543.GA13054@vidovic","subject":"Re: messages confusing","fromName":"Wincent Colaiuta","fromEmail":"win@wincent.com","sentAt":"2010-07-06T05:53:06Z","receivedAt":"2010-07-06T05:53:06Z","isPatch":false,"sender":{"key":"greg@hurrell.net","avatar":"https://avatars.githubusercontent.com/u/7074?v=4"},"body":"El 06/07/2010, a las 07:35, Nicolas Sebrecht escribió:\n\n> Hi all,\n> \n> I had those messages today\n> \n>  % git merge origin/master\n>    Already uptodate!\n>    Merge made by recursive.\n>  %\n> \n> with git version 1.7.2.rc1.210.g7b476 and I wonder if it is really\n> intended.  It did create an empty merge commit but I find both messages\n> together a bit confusing here.  Why would Git merge if uptodate?\n\nIn any case, \"uptodate\" should be written as \"up-to-date\" for consistency with other user-visible messages in Git and in the docs.\n\nWincent\n"},{"id":"144878","messageId":"7v630t5dvo.fsf@alter.siamese.dyndns.org","threadId":"24299","inReplyTo":"20100706053543.GA13054@vidovic","subject":"Re: messages confusing","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-07-06T06:21:47Z","receivedAt":"2010-07-06T06:21:47Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n\n> I had those messages today\n>\n>   % git merge origin/master\n>     Already uptodate!\n>     Merge made by recursive.\n>   %\n\nThis is quite an old message; I don't think it has much to do with 1.7-ness\nof your version.\n\nThe first \"uptodate\" refers to your tree state being up-to-date.  You\nalready had the necessary changes the other history wanted you to\nhave---they were acquired in your history before you started this merge by\nsome other means.  Perhaps merging from other trees, or picking up\nequivalent patches from mailing list, etc.\n\nA merge commit is still created in this case, in order to record the fact\nthat everything origin/master wanted to do to your history has already\nbeen reconciled to your history.  Otherwise \"git log ..origin/master\" will\nstill show commits your history does not have.\n"},{"id":"144890","messageId":"20100706085844.GB13054@vidovic","threadId":"24299","inReplyTo":"7v630t5dvo.fsf@alter.siamese.dyndns.org","subject":"Re: messages confusing","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2010-07-06T08:58:44Z","receivedAt":"2010-07-06T08:58:44Z","isPatch":false,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"The 05/07/10, Junio C Hamano wrote:\n> \n> This is quite an old message; I don't think it has much to do with 1.7-ness\n> of your version.\n> \n> The first \"uptodate\" refers to your tree state being up-to-date.  You\n> already had the necessary changes the other history wanted you to\n> have---they were acquired in your history before you started this merge by\n> some other means.  Perhaps merging from other trees, or picking up\n> equivalent patches from mailing list, etc.\n\nThis is what I was guessing but wanted to be sure that the resulting\nmessages were intended as is.\n\n> A merge commit is still created in this case, in order to record the fact\n> that everything origin/master wanted to do to your history has already\n> been reconciled to your history.  Otherwise \"git log ..origin/master\" will\n> still show commits your history does not have.\n\nThanks for the explanations.\n\n-- \nNicolas Sebrecht\n"},{"id":"144891","messageId":"7012ea639b8beddcd42eceff0898e33ce7c455e9.1278407491.git.nicolas.s.dev@gmx.fr","threadId":"24299","inReplyTo":"ACE6C748-1F26-473B-BC69-33C59A3969BD@wincent.com","subject":"[PATCH] use \"up-to-date\" in messages instead of \"uptodate\" for consistency","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2010-07-06T09:13:57Z","receivedAt":"2010-07-06T09:13:57Z","isPatch":true,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>\n---\n merge-recursive.c |    2 +-\n unpack-trees.c    |    4 ++--\n 2 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/merge-recursive.c b/merge-recursive.c\nindex 856e98c..fb6aa4a 100644\n--- a/merge-recursive.c\n+++ b/merge-recursive.c\n@@ -1214,7 +1214,7 @@ int merge_trees(struct merge_options *o,\n \t}\n \n \tif (sha_eq(common->object.sha1, merge->object.sha1)) {\n-\t\toutput(o, 0, \"Already uptodate!\");\n+\t\toutput(o, 0, \"Already up-to-date!\");\n \t\t*result = head;\n \t\treturn 1;\n \t}\ndiff --git a/unpack-trees.c b/unpack-trees.c\nindex 8cf0da3..024846e 100644\n--- a/unpack-trees.c\n+++ b/unpack-trees.c\n@@ -22,7 +22,7 @@ static struct unpack_trees_error_msgs unpack_plumbing_errors = {\n \t\"Entry '%s' would be overwritten by merge. Cannot merge.\",\n \n \t/* not_uptodate_file */\n-\t\"Entry '%s' not uptodate. Cannot merge.\",\n+\t\"Entry '%s' not up-to-date. Cannot merge.\",\n \n \t/* not_uptodate_dir */\n \t\"Updating '%s' would lose untracked files in it\",\n@@ -34,7 +34,7 @@ static struct unpack_trees_error_msgs unpack_plumbing_errors = {\n \t\"Entry '%s' overlaps with '%s'.  Cannot bind.\",\n \n \t/* sparse_not_uptodate_file */\n-\t\"Entry '%s' not uptodate. Cannot update sparse checkout.\",\n+\t\"Entry '%s' not up-to-date. Cannot update sparse checkout.\",\n \n \t/* would_lose_orphaned */\n \t\"Working tree file '%s' would be %s by sparse checkout update.\",\n-- \n1.7.2.rc1.210.g7b476\n"},{"id":"144901","messageId":"AANLkTimvQ8_SKa_VSvQk1_c3aRVv1lZCMYNOVLXBuC4W@mail.gmail.com","threadId":"24299","inReplyTo":"7012ea639b8beddcd42eceff0898e33ce7c455e9.1278407491.git.nicolas.s.dev@gmx.fr","subject":"Re: [PATCH] use \"up-to-date\" in messages instead of \"uptodate\" for consistency","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2010-07-06T12:47:44Z","receivedAt":"2010-07-06T12:47:44Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Did you run the tests after applying this patch? This looks like it would break:\n\nt/t7110-reset-merge.sh\n176:    grep file1 err.log | grep \"not uptodate\"\n192:    grep file1 err.log | grep \"not uptodate\"\n"},{"id":"144919","messageId":"b49995cd151b36cfff5231b28f5e8ff3970c14a2.1278431239.git.nicolas.s.dev@gmx.fr","threadId":"24299","inReplyTo":"AANLkTimvQ8_SKa_VSvQk1_c3aRVv1lZCMYNOVLXBuC4W@mail.gmail.com","subject":"[PATCH v2] use \"up-to-date\" instead of \"uptodate\" for consistency","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2010-07-06T15:55:44Z","receivedAt":"2010-07-06T15:55:44Z","isPatch":true,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>\n---\n\nThe 06/07/10, Ævar Arnfjörð Bjarmason wrote:\n\n> Did you run the tests after applying this patch? This looks like it would break:\n> \n> t/t7110-reset-merge.sh\n> 176:    grep file1 err.log | grep \"not uptodate\"\n> 192:    grep file1 err.log | grep \"not uptodate\"\n\nI forgot about them. Thanks for a reminder.\n\n\n Documentation/git-checkout.txt |    2 +-\n merge-recursive.c              |    2 +-\n t/t7110-reset-merge.sh         |    4 ++--\n unpack-trees.c                 |    4 ++--\n 4 files changed, 6 insertions(+), 6 deletions(-)\n\ndiff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt\nindex 261dd90..c04eceb 100644\n--- a/Documentation/git-checkout.txt\n+++ b/Documentation/git-checkout.txt\n@@ -263,7 +263,7 @@ the above checkout would fail like this:\n +\n ------------\n $ git checkout mytopic\n-fatal: Entry 'frotz' not uptodate. Cannot merge.\n+fatal: Entry 'frotz' not up-to-date. Cannot merge.\n ------------\n +\n You can give the `-m` flag to the command, which would try a\ndiff --git a/merge-recursive.c b/merge-recursive.c\nindex 856e98c..fb6aa4a 100644\n--- a/merge-recursive.c\n+++ b/merge-recursive.c\n@@ -1214,7 +1214,7 @@ int merge_trees(struct merge_options *o,\n \t}\n \n \tif (sha_eq(common->object.sha1, merge->object.sha1)) {\n-\t\toutput(o, 0, \"Already uptodate!\");\n+\t\toutput(o, 0, \"Already up-to-date!\");\n \t\t*result = head;\n \t\treturn 1;\n \t}\ndiff --git a/t/t7110-reset-merge.sh b/t/t7110-reset-merge.sh\nindex 70cdd8e..6a5f78d 100755\n--- a/t/t7110-reset-merge.sh\n+++ b/t/t7110-reset-merge.sh\n@@ -173,7 +173,7 @@ test_expect_success 'reset --merge fails with changes in file it touches' '\n     sed -e \"s/line 1/changed line 1/\" <file1 >file3 &&\n     mv file3 file1 &&\n     test_must_fail git reset --merge HEAD^ 2>err.log &&\n-    grep file1 err.log | grep \"not uptodate\"\n+    grep file1 err.log | grep \"not up-to-date\"\n '\n \n # The next test will test the following:\n@@ -189,7 +189,7 @@ test_expect_success 'reset --keep fails with changes in file it touches' '\n     sed -e \"s/line 1/changed line 1/\" <file1 >file3 &&\n     mv file3 file1 &&\n     test_must_fail git reset --keep HEAD^ 2>err.log &&\n-    grep file1 err.log | grep \"not uptodate\"\n+    grep file1 err.log | grep \"not up-to-date\"\n '\n \n test_expect_success 'setup 3 different branches' '\ndiff --git a/unpack-trees.c b/unpack-trees.c\nindex 8cf0da3..024846e 100644\n--- a/unpack-trees.c\n+++ b/unpack-trees.c\n@@ -22,7 +22,7 @@ static struct unpack_trees_error_msgs unpack_plumbing_errors = {\n \t\"Entry '%s' would be overwritten by merge. Cannot merge.\",\n \n \t/* not_uptodate_file */\n-\t\"Entry '%s' not uptodate. Cannot merge.\",\n+\t\"Entry '%s' not up-to-date. Cannot merge.\",\n \n \t/* not_uptodate_dir */\n \t\"Updating '%s' would lose untracked files in it\",\n@@ -34,7 +34,7 @@ static struct unpack_trees_error_msgs unpack_plumbing_errors = {\n \t\"Entry '%s' overlaps with '%s'.  Cannot bind.\",\n \n \t/* sparse_not_uptodate_file */\n-\t\"Entry '%s' not uptodate. Cannot update sparse checkout.\",\n+\t\"Entry '%s' not up-to-date. Cannot update sparse checkout.\",\n \n \t/* would_lose_orphaned */\n \t\"Working tree file '%s' would be %s by sparse checkout update.\",\n-- \n1.7.2.rc1.212.g4c287\n"},{"id":"145000","messageId":"7v8w5n2744.fsf@alter.siamese.dyndns.org","threadId":"24299","inReplyTo":"b49995cd151b36cfff5231b28f5e8ff3970c14a2.1278431239.git.nicolas.s.dev@gmx.fr","subject":"Re: [PATCH v2] use \"up-to-date\" instead of \"uptodate\" for consistency","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-07-07T05:28:27Z","receivedAt":"2010-07-07T05:28:27Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n\n> @@ -22,7 +22,7 @@ static struct unpack_trees_error_msgs unpack_plumbing_errors = {\n>  \t\"Entry '%s' would be overwritten by merge. Cannot merge.\",\n>  \n>  \t/* not_uptodate_file */\n> -\t\"Entry '%s' not uptodate. Cannot merge.\",\n> +\t\"Entry '%s' not up-to-date. Cannot merge.\",\n>  \n>  \t/* not_uptodate_dir */\n>  \t\"Updating '%s' would lose untracked files in it\",\n> @@ -34,7 +34,7 @@ static struct unpack_trees_error_msgs unpack_plumbing_errors = {\n>  \t\"Entry '%s' overlaps with '%s'.  Cannot bind.\",\n>  \n>  \t/* sparse_not_uptodate_file */\n> -\t\"Entry '%s' not uptodate. Cannot update sparse checkout.\",\n> +\t\"Entry '%s' not up-to-date. Cannot update sparse checkout.\",\n>  \n>  \t/* would_lose_orphaned */\n>  \t\"Working tree file '%s' would be %s by sparse checkout update.\",\n\nWhat word do you see before \"errors\" on the hunk comment line?\n"},{"id":"145003","messageId":"20100707054621.GC13054@vidovic","threadId":"24299","inReplyTo":"7v8w5n2744.fsf@alter.siamese.dyndns.org","subject":"[PATCH v2] Re: use \"up-to-date\" instead of \"uptodate\" for consistency","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2010-07-07T05:46:21Z","receivedAt":"2010-07-07T05:46:21Z","isPatch":true,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"The 06/07/10, Junio C Hamano wrote:\n> Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n> \n> > @@ -22,7 +22,7 @@ static struct unpack_trees_error_msgs unpack_plumbing_errors = {\n> \n> What word do you see before \"errors\" on the hunk comment line?\n\nSo you'd rather not touching it? Or wait until the next release cycle?\nOr a better commit message? Anything else?\n\n-- \nNicolas Sebrecht\n"},{"id":"145006","messageId":"7vbpajzro3.fsf@alter.siamese.dyndns.org","threadId":"24299","inReplyTo":"20100707054621.GC13054@vidovic","subject":"Re: [PATCH v2] Re: use \"up-to-date\" instead of \"uptodate\" for consistency","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-07-07T07:18:04Z","receivedAt":"2010-07-07T07:18:04Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n\n> The 06/07/10, Junio C Hamano wrote:\n>> Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n>> \n>> > @@ -22,7 +22,7 @@ static struct unpack_trees_error_msgs unpack_plumbing_errors = {\n>> \n>> What word do you see before \"errors\" on the hunk comment line?\n>\n> So you'd rather not touching it?\n\nWell, \"'d rather\" is actually too weak a statement.\n\nThe \"struct unpack_trees_error_msgs\" mechanism was introduced so that we\ncan change the Porcelain level messages without breaking the plumbing API,\nwhich these messages are part of.  Please see 8ccba00 (unpack-trees: allow\nPorcelain to give different error messages, 2008-05-17) and fadd069\n(merge-recursive: give less scary messages when merge did not start,\n2009-09-07) for backstory.\n"},{"id":"145007","messageId":"9aea70210996b395f5fc04ae48a372f9b51ba182.1278489069.git.nicolas.s.dev@gmx.fr","threadId":"24299","inReplyTo":"7vbpajzro3.fsf@alter.siamese.dyndns.org","subject":"[PATCH v3] merge-recursive: use \"up-to-date\" instead of \"uptodate\" in error message for consistency","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2010-07-07T07:54:08Z","receivedAt":"2010-07-07T07:54:08Z","isPatch":true,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>\n---\n\nThe 07/07/10, Junio C Hamano wrote:\n\n> The \"struct unpack_trees_error_msgs\" mechanism was introduced so that we\n> can change the Porcelain level messages without breaking the plumbing API,\n> which these messages are part of.  Please see 8ccba00 (unpack-trees: allow\n> Porcelain to give different error messages, 2008-05-17) and fadd069\n> (merge-recursive: give less scary messages when merge did not start,\n> 2009-09-07) for backstory.\n\nOh, thanks. I was unaware of this mechanism and didn't care about what I was\ntouching.\n\n Documentation/git-checkout.txt |    2 +-\n merge-recursive.c              |    2 +-\n 2 files changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt\nindex 261dd90..c04eceb 100644\n--- a/Documentation/git-checkout.txt\n+++ b/Documentation/git-checkout.txt\n@@ -263,7 +263,7 @@ the above checkout would fail like this:\n +\n ------------\n $ git checkout mytopic\n-fatal: Entry 'frotz' not uptodate. Cannot merge.\n+fatal: Entry 'frotz' not up-to-date. Cannot merge.\n ------------\n +\n You can give the `-m` flag to the command, which would try a\ndiff --git a/merge-recursive.c b/merge-recursive.c\nindex 856e98c..fb6aa4a 100644\n--- a/merge-recursive.c\n+++ b/merge-recursive.c\n@@ -1214,7 +1214,7 @@ int merge_trees(struct merge_options *o,\n \t}\n \n \tif (sha_eq(common->object.sha1, merge->object.sha1)) {\n-\t\toutput(o, 0, \"Already uptodate!\");\n+\t\toutput(o, 0, \"Already up-to-date!\");\n \t\t*result = head;\n \t\treturn 1;\n \t}\n-- \n1.7.2.rc1.214.g95a9e\n"},{"id":"145069","messageId":"7vd3uystsh.fsf@alter.siamese.dyndns.org","threadId":"24299","inReplyTo":"9aea70210996b395f5fc04ae48a372f9b51ba182.1278489069.git.nicolas.s.dev@gmx.fr","subject":"Re: [PATCH v3] merge-recursive: use \"up-to-date\" instead of \"uptodate\" in error message for consistency","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-07-08T00:26:22Z","receivedAt":"2010-07-08T00:26:22Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n\n> Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>\n> ---\n>\n> The 07/07/10, Junio C Hamano wrote:\n>\n>> The \"struct unpack_trees_error_msgs\" mechanism was introduced so that we\n>> can change the Porcelain level messages without breaking the plumbing API,\n>> which these messages are part of.  Please see 8ccba00 (unpack-trees: allow\n>> Porcelain to give different error messages, 2008-05-17) and fadd069\n>> (merge-recursive: give less scary messages when merge did not start,\n>> 2009-09-07) for backstory.\n>\n> Oh, thanks. I was unaware of this mechanism and didn't care about what I was\n> touching.\n\nI suspect that the documentation patch talks about a nonexistent reality.\nSee 8ccba00 again ;-)\n"},{"id":"145238","messageId":"33e9dcc468b1e1ed18a180046f5d4c135921c7ab.1278707023.git.nicolas.s.dev@gmx.fr","threadId":"24299","inReplyTo":"7vd3uystsh.fsf@alter.siamese.dyndns.org","subject":"[PATCH 1/2] checkout: accord documentation to what git does","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2010-07-09T20:27:48Z","receivedAt":"2010-07-09T20:27:48Z","isPatch":true,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>\n---\n\nThe 07/07/10, Junio C Hamano wrote:\n\n> Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n> > Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>\n> > ---\n> >\n> > The 07/07/10, Junio C Hamano wrote:\n> >\n> >> The \"struct unpack_trees_error_msgs\" mechanism was introduced so that we\n> >> can change the Porcelain level messages without breaking the plumbing API,\n> >> which these messages are part of.  Please see 8ccba00 (unpack-trees: allow\n> >> Porcelain to give different error messages, 2008-05-17) and fadd069\n> >> (merge-recursive: give less scary messages when merge did not start,\n> >> 2009-09-07) for backstory.\n> >\n> > Oh, thanks. I was unaware of this mechanism and didn't care about what I was\n> > touching.\n> \n> I suspect that the documentation patch talks about a nonexistent reality.\n> See 8ccba00 again ;-)\n\nDoh! You said in this commit that\n\n\t\"If you do not see something wrong with this output, your brain has already\n\tbeen rotten with use of git for too long a time.\"\n\nbut I claim the right to be rotten in much more ways. :-)\n\n Documentation/git-checkout.txt |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt\nindex 261dd90..1bacd2e 100644\n--- a/Documentation/git-checkout.txt\n+++ b/Documentation/git-checkout.txt\n@@ -263,7 +263,7 @@ the above checkout would fail like this:\n +\n ------------\n $ git checkout mytopic\n-fatal: Entry 'frotz' not uptodate. Cannot merge.\n+error: You have local changes to 'frotz'; not switching branches.\n ------------\n +\n You can give the `-m` flag to the command, which would try a\n-- \n1.7.2.rc2.194.g494e9.dirty\n"},{"id":"145237","messageId":"f5c54a4e27321b4ffb0f1f8542530281ef7841eb.1278707023.git.nicolas.s.dev@gmx.fr","threadId":"24299","inReplyTo":"7vd3uystsh.fsf@alter.siamese.dyndns.org","subject":"[PATCH v4 2/2] merge-recursive: use \"up-to-date\" instead of \"uptodate\" in error message for consistency","fromName":"Nicolas Sebrecht","fromEmail":"nicolas.s.dev@gmx.fr","sentAt":"2010-07-09T20:27:49Z","receivedAt":"2010-07-09T20:27:49Z","isPatch":true,"sender":{"key":"nicolas.s.dev@gmx.fr","avatar":null},"body":"Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>\n---\n merge-recursive.c |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/merge-recursive.c b/merge-recursive.c\nindex 856e98c..fb6aa4a 100644\n--- a/merge-recursive.c\n+++ b/merge-recursive.c\n@@ -1214,7 +1214,7 @@ int merge_trees(struct merge_options *o,\n \t}\n \n \tif (sha_eq(common->object.sha1, merge->object.sha1)) {\n-\t\toutput(o, 0, \"Already uptodate!\");\n+\t\toutput(o, 0, \"Already up-to-date!\");\n \t\t*result = head;\n \t\treturn 1;\n \t}\n-- \n1.7.2.rc2.194.g494e9.dirty\n"},{"id":"145251","messageId":"7v4og8i350.fsf@alter.siamese.dyndns.org","threadId":"24299","inReplyTo":"33e9dcc468b1e1ed18a180046f5d4c135921c7ab.1278707023.git.nicolas.s.dev@gmx.fr","subject":"Re: [PATCH 1/2] checkout: accord documentation to what git does","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-07-10T00:36:43Z","receivedAt":"2010-07-10T00:36:43Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n\n> Doh! You said in this commit that\n>\n> \t\"If you do not see something wrong with this output, your brain has already\n> \tbeen rotten with use of git for too long a time.\"\n>\n> but I claim the right to be rotten in much more ways. :-)\n\nHeh; thanks.\n"},{"id":"145252","messageId":"7vwrt4goga.fsf@alter.siamese.dyndns.org","threadId":"24299","inReplyTo":"f5c54a4e27321b4ffb0f1f8542530281ef7841eb.1278707023.git.nicolas.s.dev@gmx.fr","subject":"Re: [PATCH v4 2/2] merge-recursive: use \"up-to-date\" instead of \"uptodate\" in error message for consistency","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-07-10T00:39:17Z","receivedAt":"2010-07-10T00:39:17Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nicolas Sebrecht <nicolas.s.dev@gmx.fr> writes:\n\n> Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>\n> ---\n>  merge-recursive.c |    2 +-\n>  1 files changed, 1 insertions(+), 1 deletions(-)\n>\n> diff --git a/merge-recursive.c b/merge-recursive.c\n> index 856e98c..fb6aa4a 100644\n> --- a/merge-recursive.c\n> +++ b/merge-recursive.c\n> @@ -1214,7 +1214,7 @@ int merge_trees(struct merge_options *o,\n>  \t}\n>  \n>  \tif (sha_eq(common->object.sha1, merge->object.sha1)) {\n> -\t\toutput(o, 0, \"Already uptodate!\");\n> +\t\toutput(o, 0, \"Already up-to-date!\");\n>  \t\t*result = head;\n>  \t\treturn 1;\n>  \t}\n\nSorry, but the pros-and-cons is not good enough for me to support this\nchange.  It will break users who have been parsing output with scripts.\n\nWe do strongly warn people against relying on Porcelain output, but that\ndoes not mean we are free to change them without having a good reason or\ntwo.  The new spelling won't help the next reader who will find the\nmessage confusing the same way you did a few days ago.\n\nIOW, if we are touching this line anyway, I'd like to make sure we made an\neffort to make it less confusing, not just spelled correctly, while we\nstill have our memory of confusion fresh ;-)\n"}]}