{"thread":{"id":"10604","subject":"[PATCH] errors: \"strict subset\" -> \"ancestor\"","startedAt":"2007-11-03T02:39:44Z","lastAt":"2007-11-05T21:28:09Z","messageCount":10,"participants":["J. Bruce Fields","Steffen Prohaska","David Symonds","Wincent Colaiuta","Jeff King"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"58064","messageId":"20071103023944.GA15379@fieldses.org","threadId":"10604","inReplyTo":null,"subject":"[PATCH] errors: \"strict subset\" -> \"ancestor\"","fromName":"J. Bruce Fields","fromEmail":"bfields@fieldses.org","sentAt":"2007-11-03T02:39:44Z","receivedAt":"2007-11-03T02:39:44Z","isPatch":true,"sender":{"key":"bfields@citi.umich.edu","avatar":null},"body":"From: J. Bruce Fields <bfields@citi.umich.edu>\n\nThe term \"ancestor\" is a bit more intuitive (and more consistent with\nthe documentation) than the term \"strict subset\".\n\nAlso, remove superfluous \"ref\", capitalize, and add some carriage\nreturns, changing:\n\n\terror: remote 'refs/heads/master' is not a strict subset of local ref 'refs/heads/master'. maybe you are not up-to-date and need to pull first?\n\terror: failed to push to 'ssh://linux-nfs.org/~bfields/exports/git.git'\n\nto:\n\n\terror: remote 'refs/heads/master' is not an ancestor of\n\t local 'refs/heads/master'.\n\t Maybe you are not up-to-date and need to pull first?\n\terror: failed to push to 'ssh://linux-nfs.org/~bfields/exports/git.git'\n\nSigned-off-by: J. Bruce Fields <bfields@citi.umich.edu>\n---\n builtin-branch.c |    2 +-\n http-push.c      |    8 ++++----\n send-pack.c      |    6 +++---\n 3 files changed, 8 insertions(+), 8 deletions(-)\n\ndiff --git a/builtin-branch.c b/builtin-branch.c\nindex 3da8b55..e8de27e 100644\n--- a/builtin-branch.c\n+++ b/builtin-branch.c\n@@ -142,7 +142,7 @@ static int delete_branches(int argc, const char **argv, int force, int kinds)\n \n \t\tif (!force &&\n \t\t    !in_merge_bases(rev, &head_rev, 1)) {\n-\t\t\terror(\"The branch '%s' is not a strict subset of \"\n+\t\t\terror(\"The branch '%s' is not an ancestor of \"\n \t\t\t\t\"your current HEAD.\\n\"\n \t\t\t\t\"If you are sure you want to delete it, \"\n \t\t\t\t\"run 'git branch -D %s'.\", argv[i], argv[i]);\ndiff --git a/http-push.c b/http-push.c\nindex c02a3af..5960d7c 100644\n--- a/http-push.c\n+++ b/http-push.c\n@@ -2241,7 +2241,7 @@ static int delete_remote_branch(char *pattern, int force)\n \n \t\t/* Remote branch must be an ancestor of remote HEAD */\n \t\tif (!verify_merge_base(head_sha1, remote_ref->old_sha1)) {\n-\t\t\treturn error(\"The branch '%s' is not a strict subset of your current HEAD.\\nIf you are sure you want to delete it, run:\\n\\t'git http-push -D %s %s'\", remote_ref->name, remote->url, pattern);\n+\t\t\treturn error(\"The branch '%s' is not an ancestor of your current HEAD.\\nIf you are sure you want to delete it, run:\\n\\t'git http-push -D %s %s'\", remote_ref->name, remote->url, pattern);\n \t\t}\n \t}\n \n@@ -2424,9 +2424,9 @@ int main(int argc, char **argv)\n \t\t\t\t * commits at the remote end and likely\n \t\t\t\t * we were not up to date to begin with.\n \t\t\t\t */\n-\t\t\t\terror(\"remote '%s' is not a strict \"\n-\t\t\t\t      \"subset of local ref '%s'. \"\n-\t\t\t\t      \"maybe you are not up-to-date and \"\n+\t\t\t\terror(\"remote '%s' is not an ancestor of\\n\"\n+\t\t\t\t      \" local '%s'.\\n\"\n+\t\t\t\t      \" Maybe you are not up-to-date and \"\n \t\t\t\t      \"need to pull first?\",\n \t\t\t\t      ref->name,\n \t\t\t\t      ref->peer_ref->name);\ndiff --git a/send-pack.c b/send-pack.c\nindex 5e127a1..b74fd45 100644\n--- a/send-pack.c\n+++ b/send-pack.c\n@@ -297,9 +297,9 @@ static int send_pack(int in, int out, struct remote *remote, int nr_refspec, cha\n \t\t\t\t * commits at the remote end and likely\n \t\t\t\t * we were not up to date to begin with.\n \t\t\t\t */\n-\t\t\t\terror(\"remote '%s' is not a strict \"\n-\t\t\t\t      \"subset of local ref '%s'. \"\n-\t\t\t\t      \"maybe you are not up-to-date and \"\n+\t\t\t\terror(\"remote '%s' is not an ancestor of\\n\"\n+\t\t\t\t      \" local  '%s'.\\n\"\n+\t\t\t\t      \" Maybe you are not up-to-date and \"\n \t\t\t\t      \"need to pull first?\",\n \t\t\t\t      ref->name,\n \t\t\t\t      ref->peer_ref->name);\n-- \n1.5.3.5.475.g477d-dirty\n"},{"id":"58071","messageId":"A4169B7B-C05B-4CA0-B41B-E1E2D71491B6@zib.de","threadId":"10604","inReplyTo":"20071103023944.GA15379@fieldses.org","subject":"Re: [PATCH] errors: \"strict subset\" -> \"ancestor\"","fromName":"Steffen Prohaska","fromEmail":"prohaska@zib.de","sentAt":"2007-11-03T07:08:55Z","receivedAt":"2007-11-03T07:08:55Z","isPatch":true,"sender":{"key":"prohaska@zib.de","avatar":"https://avatars.githubusercontent.com/u/217580?v=4"},"body":"\nOn Nov 3, 2007, at 3:39 AM, J. Bruce Fields wrote:\n\n> diff --git a/send-pack.c b/send-pack.c\n> index 5e127a1..b74fd45 100644\n> --- a/send-pack.c\n> +++ b/send-pack.c\n> @@ -297,9 +297,9 @@ static int send_pack(int in, int out, struct  \n> remote *remote, int nr_refspec, cha\n>  \t\t\t\t * commits at the remote end and likely\n>  \t\t\t\t * we were not up to date to begin with.\n>  \t\t\t\t */\n> -\t\t\t\terror(\"remote '%s' is not a strict \"\n> -\t\t\t\t      \"subset of local ref '%s'. \"\n> -\t\t\t\t      \"maybe you are not up-to-date and \"\n> +\t\t\t\terror(\"remote '%s' is not an ancestor of\\n\"\n> +\t\t\t\t      \" local  '%s'.\\n\"\n\nTwo spaces in a row after local and before '%s'.\n\n\tSteffen\n"},{"id":"58072","messageId":"ee77f5c20711030014x23ac6206rec81fe5968992147@mail.gmail.com","threadId":"10604","inReplyTo":"A4169B7B-C05B-4CA0-B41B-E1E2D71491B6@zib.de","subject":"Re: [PATCH] errors: \"strict subset\" -> \"ancestor\"","fromName":"David Symonds","fromEmail":"dsymonds@gmail.com","sentAt":"2007-11-03T07:14:06Z","receivedAt":"2007-11-03T07:14:06Z","isPatch":true,"sender":{"key":"dsymonds@gmail.com","avatar":"https://gravatar.com/avatar/b22f5051cbfc11836e36cf7a690e6cde4e225d835e13295ff98d15c7a9ee3c0f?d=mp&s=160"},"body":"On 11/3/07, Steffen Prohaska <prohaska@zib.de> wrote:\n>\n> On Nov 3, 2007, at 3:39 AM, J. Bruce Fields wrote:\n>\n> > diff --git a/send-pack.c b/send-pack.c\n> > index 5e127a1..b74fd45 100644\n> > --- a/send-pack.c\n> > +++ b/send-pack.c\n> > @@ -297,9 +297,9 @@ static int send_pack(int in, int out, struct\n> > remote *remote, int nr_refspec, cha\n> >                                * commits at the remote end and likely\n> >                                * we were not up to date to begin with.\n> >                                */\n> > -                             error(\"remote '%s' is not a strict \"\n> > -                                   \"subset of local ref '%s'. \"\n> > -                                   \"maybe you are not up-to-date and \"\n> > +                             error(\"remote '%s' is not an ancestor of\\n\"\n> > +                                   \" local  '%s'.\\n\"\n>\n> Two spaces in a row after local and before '%s'.\n\nSo? That's presumably to align the remote and local strings.\n\n\nDave.\n"},{"id":"58075","messageId":"2B1935E5-C490-4EB4-9BE6-0DD7F33FFE36@zib.de","threadId":"10604","inReplyTo":"ee77f5c20711030014x23ac6206rec81fe5968992147@mail.gmail.com","subject":"Re: [PATCH] errors: \"strict subset\" -> \"ancestor\"","fromName":"Steffen Prohaska","fromEmail":"prohaska@zib.de","sentAt":"2007-11-03T07:24:29Z","receivedAt":"2007-11-03T07:24:29Z","isPatch":true,"sender":{"key":"prohaska@zib.de","avatar":"https://avatars.githubusercontent.com/u/217580?v=4"},"body":"\nOn Nov 3, 2007, at 8:14 AM, David Symonds wrote:\n\n> On 11/3/07, Steffen Prohaska <prohaska@zib.de> wrote:\n>>\n>> On Nov 3, 2007, at 3:39 AM, J. Bruce Fields wrote:\n>>\n>>> diff --git a/send-pack.c b/send-pack.c\n>>> index 5e127a1..b74fd45 100644\n>>> --- a/send-pack.c\n>>> +++ b/send-pack.c\n>>> @@ -297,9 +297,9 @@ static int send_pack(int in, int out, struct\n>>> remote *remote, int nr_refspec, cha\n>>>                                * commits at the remote end and  \n>>> likely\n>>>                                * we were not up to date to begin  \n>>> with.\n>>>                                */\n>>> -                             error(\"remote '%s' is not a strict \"\n>>> -                                   \"subset of local ref '%s'. \"\n>>> -                                   \"maybe you are not up-to-date  \n>>> and \"\n>>> +                             error(\"remote '%s' is not an  \n>>> ancestor of\\n\"\n>>> +                                   \" local  '%s'.\\n\"\n>>\n>> Two spaces in a row after local and before '%s'.\n>\n> So? That's presumably to align the remote and local strings.\n\nThey are not aligned. The second line is indented with one\nspace. Look at examples in the commit message. The first line\nstarts with \"error:\", which already destroys the alignment.\n\n\tSteffen\n"},{"id":"58077","messageId":"3F4A5458-AB2F-40C7-AA0E-9D26981BCE9D@zib.de","threadId":"10604","inReplyTo":"20071103023944.GA15379@fieldses.org","subject":"Re: [PATCH] errors: \"strict subset\" -> \"ancestor\"","fromName":"Steffen Prohaska","fromEmail":"prohaska@zib.de","sentAt":"2007-11-03T07:51:29Z","receivedAt":"2007-11-03T07:51:29Z","isPatch":true,"sender":{"key":"prohaska@zib.de","avatar":"https://avatars.githubusercontent.com/u/217580?v=4"},"body":"\nOn Nov 3, 2007, at 3:39 AM, J. Bruce Fields wrote:\n\n> From: J. Bruce Fields <bfields@citi.umich.edu>\n>\n> The term \"ancestor\" is a bit more intuitive (and more consistent with\n> the documentation) than the term \"strict subset\".\n>\n> Also, remove superfluous \"ref\", capitalize, and add some carriage\n> returns, changing:\n>\n> \terror: remote 'refs/heads/master' is not a strict subset of local  \n> ref 'refs/heads/master'. maybe you are not up-to-date and need to  \n> pull first?\n> \terror: failed to push to 'ssh://linux-nfs.org/~bfields/exports/ \n> git.git'\n>\n> to:\n>\n> \terror: remote 'refs/heads/master' is not an ancestor of\n> \t local 'refs/heads/master'.\n> \t Maybe you are not up-to-date and need to pull first?\n> \terror: failed to push to 'ssh://linux-nfs.org/~bfields/exports/ \n> git.git'\n\n\nJunio suggested in [1] (see also earlier messages in that\nthread) to replace the recommendation to pull with a hint\nwhere to look in the user manual.\n\n[1] http://marc.info/?l=git&m=119398999317677&w=2\n\n\nThe point is, there are various ways to resolve the problem.\npull is not necessarily the right solution. At least, you should\nconsider to rebase. Or maybe just something else went wrong.\n\nNonetheless I think it could be a good idea to keep the most\nlikely cases. So, how about\n\n\"Are you up-to-date? Did you forget to pull or rebase? See User's  \nManual for details.\"\n\nI put it as questions to avoid making a suggestion. The questions\nshould give sufficient hints for searching in the User's Manual.\nI haven't found the single section that would explain exactly\nthe situation we're dealing with.\n\nI attached the commit that originally introduced the suggestion.\n\n\tSteffen\n\n\ncommit 69310a34cb6dcca32b08cf3ea9e91ab19354a874\nAuthor: Junio C Hamano <junkio@cox.net>\nDate:   Thu Dec 22 12:39:39 2005 -0800\n\n     send-pack: reword non-fast-forward error message.\n\n     Wnen refusing to push a head, we said cryptic \"remote 'branch'\n     object X does not exist on local\" or \"remote ref 'branch' is not\n     a strict subset of local ref 'branch'\".  That was gittish.\n\n     Since the most likely reason this happens is because the pushed\n     head was not up-to-date, clarify the error message to say that\n     straight, and suggest pulling first.\n\n     First noticed by Johannes and seconded by Andreas.\n\n     Signed-off-by: Junio C Hamano <junkio@cox.net>\n"},{"id":"58313","messageId":"20071104215947.GB22762@fieldses.org","threadId":"10604","inReplyTo":"2B1935E5-C490-4EB4-9BE6-0DD7F33FFE36@zib.de","subject":"[PATCH] errors: \"strict subset\" -> \"ancestor\"","fromName":"J. Bruce Fields","fromEmail":"bfields@fieldses.org","sentAt":"2007-11-04T21:59:47Z","receivedAt":"2007-11-04T21:59:47Z","isPatch":true,"sender":{"key":"bfields@citi.umich.edu","avatar":null},"body":"From: J. Bruce Fields <bfields@citi.umich.edu>\n\nThe term \"ancestor\" is a bit more intuitive (and more consistent with\nthe documentation) than the term \"strict subset\".\n\nAlso, remove superfluous \"ref\", and capitalize, changing:\n\n\terror: remote 'refs/heads/master' is not a strict subset of local ref 'refs/heads/master'. maybe you are not up-to-date and need to pull first?\n\terror: failed to push to 'ssh://linux-nfs.org/~bfields/exports/git.git'\n\nto:\n\n\terror: remote 'refs/heads/master' is not an ancestor of\n\t local 'refs/heads/master'.\n\t Maybe you are not up-to-date and need to pull first?\n\terror: failed to push to 'ssh://linux-nfs.org/~bfields/exports/git.git'\n\nSigned-off-by: J. Bruce Fields <bfields@citi.umich.edu>\n---\n builtin-branch.c |    2 +-\n http-push.c      |    8 ++++----\n send-pack.c      |    6 +++---\n 3 files changed, 8 insertions(+), 8 deletions(-)\n\nOn Sat, Nov 03, 2007 at 08:24:29AM +0100, Steffen Prohaska wrote:\n> They are not aligned. The second line is indented with one\n> space. Look at examples in the commit message. The first line\n> starts with \"error:\", which already destroys the alignment.\n\nYup, I think that's exactly what happened--I said \"hey, maybe I should\ntry aligning this and see what it looks like?\", then saw the problem,\nthen forgot to revert the extra space from everywhere.... Thanks for\nnoticing.  Here's an updated patch.--b.\n\ndiff --git a/builtin-branch.c b/builtin-branch.c\nindex 3da8b55..e8de27e 100644\n--- a/builtin-branch.c\n+++ b/builtin-branch.c\n@@ -142,7 +142,7 @@ static int delete_branches(int argc, const char **argv, int force, int kinds)\n \n \t\tif (!force &&\n \t\t    !in_merge_bases(rev, &head_rev, 1)) {\n-\t\t\terror(\"The branch '%s' is not a strict subset of \"\n+\t\t\terror(\"The branch '%s' is not an ancestor of \"\n \t\t\t\t\"your current HEAD.\\n\"\n \t\t\t\t\"If you are sure you want to delete it, \"\n \t\t\t\t\"run 'git branch -D %s'.\", argv[i], argv[i]);\ndiff --git a/http-push.c b/http-push.c\nindex c02a3af..5960d7c 100644\n--- a/http-push.c\n+++ b/http-push.c\n@@ -2241,7 +2241,7 @@ static int delete_remote_branch(char *pattern, int force)\n \n \t\t/* Remote branch must be an ancestor of remote HEAD */\n \t\tif (!verify_merge_base(head_sha1, remote_ref->old_sha1)) {\n-\t\t\treturn error(\"The branch '%s' is not a strict subset of your current HEAD.\\nIf you are sure you want to delete it, run:\\n\\t'git http-push -D %s %s'\", remote_ref->name, remote->url, pattern);\n+\t\t\treturn error(\"The branch '%s' is not an ancestor of your current HEAD.\\nIf you are sure you want to delete it, run:\\n\\t'git http-push -D %s %s'\", remote_ref->name, remote->url, pattern);\n \t\t}\n \t}\n \n@@ -2424,9 +2424,9 @@ int main(int argc, char **argv)\n \t\t\t\t * commits at the remote end and likely\n \t\t\t\t * we were not up to date to begin with.\n \t\t\t\t */\n-\t\t\t\terror(\"remote '%s' is not a strict \"\n-\t\t\t\t      \"subset of local ref '%s'. \"\n-\t\t\t\t      \"maybe you are not up-to-date and \"\n+\t\t\t\terror(\"remote '%s' is not an ancestor of\\n\"\n+\t\t\t\t      \" local '%s'.\\n\"\n+\t\t\t\t      \" Maybe you are not up-to-date and \"\n \t\t\t\t      \"need to pull first?\",\n \t\t\t\t      ref->name,\n \t\t\t\t      ref->peer_ref->name);\ndiff --git a/send-pack.c b/send-pack.c\nindex 5e127a1..fbf2462 100644\n--- a/send-pack.c\n+++ b/send-pack.c\n@@ -297,9 +297,9 @@ static int send_pack(int in, int out, struct remote *remote, int nr_refspec, cha\n \t\t\t\t * commits at the remote end and likely\n \t\t\t\t * we were not up to date to begin with.\n \t\t\t\t */\n-\t\t\t\terror(\"remote '%s' is not a strict \"\n-\t\t\t\t      \"subset of local ref '%s'. \"\n-\t\t\t\t      \"maybe you are not up-to-date and \"\n+\t\t\t\terror(\"remote '%s' is not an ancestor of\\n\"\n+\t\t\t\t      \" local '%s'.\\n\"\n+\t\t\t\t      \" Maybe you are not up-to-date and \"\n \t\t\t\t      \"need to pull first?\",\n \t\t\t\t      ref->name,\n \t\t\t\t      ref->peer_ref->name);\n-- \n1.5.3.5.475.g477d-dirty\n"},{"id":"58314","messageId":"20071104220810.GC22762@fieldses.org","threadId":"10604","inReplyTo":"3F4A5458-AB2F-40C7-AA0E-9D26981BCE9D@zib.de","subject":"Re: [PATCH] errors: \"strict subset\" -> \"ancestor\"","fromName":"J. Bruce Fields","fromEmail":"bfields@fieldses.org","sentAt":"2007-11-04T22:08:10Z","receivedAt":"2007-11-04T22:08:10Z","isPatch":true,"sender":{"key":"bfields@citi.umich.edu","avatar":null},"body":"On Sat, Nov 03, 2007 at 08:51:29AM +0100, Steffen Prohaska wrote:\n>\n> On Nov 3, 2007, at 3:39 AM, J. Bruce Fields wrote:\n>\n>> From: J. Bruce Fields <bfields@citi.umich.edu>\n>>\n>> The term \"ancestor\" is a bit more intuitive (and more consistent with\n>> the documentation) than the term \"strict subset\".\n>>\n>> Also, remove superfluous \"ref\", capitalize, and add some carriage\n>> returns, changing:\n>>\n>> \terror: remote 'refs/heads/master' is not a strict subset of local ref \n>> 'refs/heads/master'. maybe you are not up-to-date and need to pull first?\n>> \terror: failed to push to 'ssh://linux-nfs.org/~bfields/exports/git.git'\n>>\n>> to:\n>>\n>> \terror: remote 'refs/heads/master' is not an ancestor of\n>> \t local 'refs/heads/master'.\n>> \t Maybe you are not up-to-date and need to pull first?\n>> \terror: failed to push to 'ssh://linux-nfs.org/~bfields/exports/git.git'\n>\n>\n> Junio suggested in [1] (see also earlier messages in that\n> thread) to replace the recommendation to pull with a hint\n> where to look in the user manual.\n>\n> [1] http://marc.info/?l=git&m=119398999317677&w=2\n>\n>\n> The point is, there are various ways to resolve the problem.\n> pull is not necessarily the right solution. At least, you should\n> consider to rebase. Or maybe just something else went wrong.\n\nYeah, actually in my case I usually want to force....\n\nSo I think it's a good suggestion, but I'm putting it off for now as I'm\nnot sure yet where to refer people to, and don't like making the error a\nlot longer.\n\nHm.  I wonder if extra \"help\" commandline flags would be a way to get\npeople extra guidance on particular situations without cluttering up the\ndefault messages (\"not sure what to try next?  Try -h notanancestor...\"\nMaybe not.)\n\n>\n> Nonetheless I think it could be a good idea to keep the most\n> likely cases. So, how about\n>\n> \"Are you up-to-date? Did you forget to pull or rebase? See User's Manual \n> for details.\"\n>\n> I put it as questions to avoid making a suggestion. The questions\n> should give sufficient hints for searching in the User's Manual.\n> I haven't found the single section that would explain exactly\n> the situation we're dealing with.\n\nMe neither.  And I don't think a reference to the whole thing is\nhelpful.\n\n--b.\n"},{"id":"58319","messageId":"E7C9B9EC-F7DA-4A27-823B-5435161CBFB5@zib.de","threadId":"10604","inReplyTo":"20071104220810.GC22762@fieldses.org","subject":"Re: [PATCH] errors: \"strict subset\" -> \"ancestor\"","fromName":"Steffen Prohaska","fromEmail":"prohaska@zib.de","sentAt":"2007-11-04T23:13:26Z","receivedAt":"2007-11-04T23:13:26Z","isPatch":true,"sender":{"key":"prohaska@zib.de","avatar":"https://avatars.githubusercontent.com/u/217580?v=4"},"body":"\nOn Nov 4, 2007, at 11:08 PM, J. Bruce Fields wrote:\n\n> On Sat, Nov 03, 2007 at 08:51:29AM +0100, Steffen Prohaska wrote:\n>>\n>> On Nov 3, 2007, at 3:39 AM, J. Bruce Fields wrote:\n>>\n>>> From: J. Bruce Fields <bfields@citi.umich.edu>\n>>>\n>>> The term \"ancestor\" is a bit more intuitive (and more consistent  \n>>> with\n>>> the documentation) than the term \"strict subset\".\n>>>\n>>> Also, remove superfluous \"ref\", capitalize, and add some carriage\n>>> returns, changing:\n>>>\n>>> \terror: remote 'refs/heads/master' is not a strict subset of  \n>>> local ref\n>>> 'refs/heads/master'. maybe you are not up-to-date and need to  \n>>> pull first?\n>>> \terror: failed to push to 'ssh://linux-nfs.org/~bfields/exports/ \n>>> git.git'\n>>>\n>>> to:\n>>>\n>>> \terror: remote 'refs/heads/master' is not an ancestor of\n>>> \t local 'refs/heads/master'.\n>>> \t Maybe you are not up-to-date and need to pull first?\n>>> \terror: failed to push to 'ssh://linux-nfs.org/~bfields/exports/ \n>>> git.git'\n>>\n>>\n>> Junio suggested in [1] (see also earlier messages in that\n>> thread) to replace the recommendation to pull with a hint\n>> where to look in the user manual.\n>>\n>> [1] http://marc.info/?l=git&m=119398999317677&w=2\n>>\n>>\n>> The point is, there are various ways to resolve the problem.\n>> pull is not necessarily the right solution. At least, you should\n>> consider to rebase. Or maybe just something else went wrong.\n>\n> Yeah, actually in my case I usually want to force....\n>\n> So I think it's a good suggestion, but I'm putting it off for now  \n> as I'm\n> not sure yet where to refer people to, and don't like making the  \n> error a\n> lot longer.\n\nI agree. And it's probably a waste of time anyway, because\nsooner or later the mega-terse fetch output will be extended\nto push.\n\n\n> Hm.  I wonder if extra \"help\" commandline flags would be a way to get\n> people extra guidance on particular situations without cluttering  \n> up the\n> default messages (\"not sure what to try next?  Try -h  \n> notanancestor...\"\n> Maybe not.)\n\nThe first step would be to describe the error messages in the\nmanual (or the man pages), and provide hints how to resolve\nthem. Currently we have no place we could link to, even if we\nhad a mechanism to do so.\n\n\tSteffen\n"},{"id":"58376","messageId":"E7B0CBAA-BB97-40A0-8CFB-A6F01A047D17@wincent.com","threadId":"10604","inReplyTo":"ee77f5c20711030014x23ac6206rec81fe5968992147@mail.gmail.com","subject":"Re: [PATCH] errors: \"strict subset\" -> \"ancestor\"","fromName":"Wincent Colaiuta","fromEmail":"win@wincent.com","sentAt":"2007-11-05T13:06:35Z","receivedAt":"2007-11-05T13:06:35Z","isPatch":true,"sender":{"key":"greg@hurrell.net","avatar":"https://avatars.githubusercontent.com/u/7074?v=4"},"body":"El 3/11/2007, a las 8:14, David Symonds escribió:\n\n> On 11/3/07, Steffen Prohaska <prohaska@zib.de> wrote:\n>>\n>> On Nov 3, 2007, at 3:39 AM, J. Bruce Fields wrote:\n>>\n>>> diff --git a/send-pack.c b/send-pack.c\n>>> index 5e127a1..b74fd45 100644\n>>> --- a/send-pack.c\n>>> +++ b/send-pack.c\n>>> @@ -297,9 +297,9 @@ static int send_pack(int in, int out, struct\n>>> remote *remote, int nr_refspec, cha\n>>>                               * commits at the remote end and likely\n>>>                               * we were not up to date to begin  \n>>> with.\n>>>                               */\n>>> -                             error(\"remote '%s' is not a strict \"\n>>> -                                   \"subset of local ref '%s'. \"\n>>> -                                   \"maybe you are not up-to-date  \n>>> and \"\n>>> +                             error(\"remote '%s' is not an  \n>>> ancestor of\\n\"\n>>> +                                   \" local  '%s'.\\n\"\n>>\n>> Two spaces in a row after local and before '%s'.\n>\n> So? That's presumably to align the remote and local strings.\n\nKind of: it aligns \"error:\" with \"local\":\n\n\terror: remote 'refs/heads/master' is not an ancestor of\n\t local 'refs/heads/master'.\n\nPersonal I think it would be better to align the right edges of  \n\"remote\" and \"local\" so that it looks like the following; this more  \nclearly shows the correspondence between the remote and local refs:\n\n\terror: remote 'refs/heads/master' is not an ancestor of\n\t        local 'refs/heads/master'.\n\nOr alternatively:\n\n\terror: remote 'refs/heads/master' is not an ancestor of\n\t       local  'refs/heads/master'.\n\n\nCheers,\nWincent\n"},{"id":"58423","messageId":"20071105212808.GB9520@sigill.intra.peff.net","threadId":"10604","inReplyTo":"E7B0CBAA-BB97-40A0-8CFB-A6F01A047D17@wincent.com","subject":"Re: [PATCH] errors: \"strict subset\" -> \"ancestor\"","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2007-11-05T21:28:09Z","receivedAt":"2007-11-05T21:28:09Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Nov 05, 2007 at 02:06:35PM +0100, Wincent Colaiuta wrote:\n\n> Kind of: it aligns \"error:\" with \"local\":\n>\n> \terror: remote 'refs/heads/master' is not an ancestor of\n> \t local 'refs/heads/master'.\n\nFYI, in the thread 'more terse push output', there is discussion of\neliminating this message entirely. So I wanted to point readers of this\nthread in that direction.\n\n-Peff\n"}]}