threads / patch / 46467

patchbranch: change the error messages to be more meaningful

Subject: [PATCH] branch: change the error messages to be more meaningful

## tl;dr

12 messages between Jul 25, 2017 and Oct 5, 2017. Diffs are folded; open one to read it.

replies: 11people: 2as markdown or json

Kaartic Sivaraam· Jul 25, 2017, 14:39 UTC · lore

The error messages shown when the branch command is misused by supplying it wrong number of parameters wasn't meaningful as it used the the phrase, "too many branches" which is not meaningful in the following case,

        $ git branch
          foo
        * master
        $ git branch -m foo foo test
        fatal: too many branches for a rename operation

It's not meaningful as the implementation assumed all parameters to be branch names. It's not always the case as exemplified above.

Change the messages to be more general thus making no asssumptions about the "parameters".

Signed-off-by: Kaartic Sivaraam <kaarticsivaraam91196@gmail.com>
---
 builtin/branch.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
Show changes to builtin/branch.c +3 −4
diff --git a/builtin/branch.c b/builtin/branch.c
index a3bd2262b3367..59fedf085d3db 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -707,12 +707,12 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
 		else if (argc == 2)
 			rename_branch(argv[0], argv[1], rename > 1);
 		else
-			die(_("too many branches for a rename operation"));
+			die(_("too many parameters for a rename operation"));
 	} else if (new_upstream) {
 		struct branch *branch = branch_get(argv[0]);
 
 		if (argc > 1)
-			die(_("too many branches to set new upstream"));
+			die(_("too many parameters to set new upstream"));
 
 		if (!branch) {
 			if (!argc || !strcmp(argv[0], "HEAD"))
@@ -735,7 +735,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
 		struct strbuf buf = STRBUF_INIT;
 
 		if (argc > 1)
-			die(_("too many branches to unset upstream"));
+			die(_("too many parameters to unset upstream"));
 
 		if (!branch) {
 			if (!argc || !strcmp(argv[0], "HEAD"))

--
https://github.com/git/git/pull/387
Kaartic Sivaraam· Jul 25, 2017, 18:28 UTC · re: Kaartic Sivaraam · lore

The error messages shown when the branch command is misused by supplying it wrong number of parameters wasn't meaningful. That's because it used the the phrase "too many branches" assuming all parameters to be "valid" branch names. It's not always the case as exemplified below,

        $ git branch
          foo
        * master
        $ git branch -m foo foo old
        fatal: too many branches for a rename operation

Change the messages to be more general thus making no assumptions about the "parameters".

Signed-off-by: Kaartic Sivaraam <kaarticsivaraam91196@gmail.com>
---
 builtin/branch.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
Show changes to builtin/branch.c +3 −4
diff --git a/builtin/branch.c b/builtin/branch.c
index a3bd2262b3367..59fedf085d3db 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -707,12 +707,12 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
 		else if (argc == 2)
 			rename_branch(argv[0], argv[1], rename > 1);
 		else
-			die(_("too many branches for a rename operation"));
+			die(_("too many parameters for a rename operation"));
 	} else if (new_upstream) {
 		struct branch *branch = branch_get(argv[0]);
 
 		if (argc > 1)
-			die(_("too many branches to set new upstream"));
+			die(_("too many parameters to set new upstream"));
 
 		if (!branch) {
 			if (!argc || !strcmp(argv[0], "HEAD"))
@@ -735,7 +735,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
 		struct strbuf buf = STRBUF_INIT;
 
 		if (argc > 1)
-			die(_("too many branches to unset upstream"));
+			die(_("too many parameters to unset upstream"));
 
 		if (!branch) {
 			if (!argc || !strcmp(argv[0], "HEAD"))

--
https://github.com/git/git/pull/389
Kaartic Sivaraam· Jul 30, 2017, 11:59 UTC · re: Kaartic Sivaraam · lore

The error messages shown when the branch command is misused by supplying it wrong number of parameters wasn't meaningful. That's because it used the the phrase "too many branches" assuming all parameters to be "valid" branch names. It's not always the case as exemplified below,

        $ git branch
          foo
        * master
        $ git branch -m foo foo old
        fatal: too many branches for a rename operation

Change the messages to be more general thus making no assumptions about the "parameters".

Signed-off-by: Kaartic Sivaraam <kaarticsivaraam91196@gmail.com>
---
 Sending this patch to the correct thread. I apologise if this
 seems reduntant. I'm having hard time keeping up with the patch-flow
 without 'send-email'!
 builtin/branch.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
Show changes to builtin/branch.c +3 −3
diff --git a/builtin/branch.c b/builtin/branch.c
index a3bd2262b..59fedf085 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -707,12 +707,12 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
 		else if (argc == 2)
 			rename_branch(argv[0], argv[1], rename > 1);
 		else
-			die(_("too many branches for a rename operation"));
+			die(_("too many parameters for a rename operation"));
 	} else if (new_upstream) {
 		struct branch *branch = branch_get(argv[0]);
 
 		if (argc > 1)
-			die(_("too many branches to set new upstream"));
+			die(_("too many parameters to set new upstream"));
 
 		if (!branch) {
 			if (!argc || !strcmp(argv[0], "HEAD"))
@@ -735,7 +735,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
 		struct strbuf buf = STRBUF_INIT;
 
 		if (argc > 1)
-			die(_("too many branches to unset upstream"));
+			die(_("too many parameters to unset upstream"));
 
 		if (!branch) {
 			if (!argc || !strcmp(argv[0], "HEAD"))
-- 
2.14.0.rc1.434.g6eded367a
Kaartic Sivaraam· Aug 21, 2017, 13:36 UTC · re: Kaartic Sivaraam · lore

[PATCH v2] branch: change the error messages to be more meaningful

The error messages shown when the branch command is misused by supplying it wrong number of parameters wasn't meaningful. That's because it used the the phrase "too many branches" assuming all parameters to be "valid" branch names. It's not always the case as exemplified below,

        $ git branch
          foo
        * master
        $ git branch -m foo foo old
        fatal: too many branches for a rename operation

Change the messages to be more general thus making no assumptions about the "parameters".

Signed-off-by: Kaartic Sivaraam <kaarticsivaraam91196@gmail.com>
---
 Changes in v2:
    - changed the wordings of the error message
 builtin/branch.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
Show changes to builtin/branch.c +3 −3
diff --git a/builtin/branch.c b/builtin/branch.c
index a3bd2262b..62981d358 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -707,12 +707,12 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
 		else if (argc == 2)
 			rename_branch(argv[0], argv[1], rename > 1);
 		else
-			die(_("too many branches for a rename operation"));
+			die(_("too many arguments for a rename operation"));
 	} else if (new_upstream) {
 		struct branch *branch = branch_get(argv[0]);
 
 		if (argc > 1)
-			die(_("too many branches to set new upstream"));
+			die(_("too many arguments to set new upstream"));
 
 		if (!branch) {
 			if (!argc || !strcmp(argv[0], "HEAD"))
@@ -735,7 +735,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
 		struct strbuf buf = STRBUF_INIT;
 
 		if (argc > 1)
-			die(_("too many branches to unset upstream"));
+			die(_("too many arguments to unset upstream"));
 
 		if (!branch) {
 			if (!argc || !strcmp(argv[0], "HEAD"))
-- 
2.14.0.rc1.434.g6eded367a
Kaartic Sivaraam· Oct 2, 2017, 17:19 UTC · re: Kaartic Sivaraam · lore

Re: [PATCH v2] branch: change the error messages to be more meaningful

On Mon, 2017-08-21 at 19:06 +0530, Kaartic Sivaraam wrote:
Show 53 quoted lines
> The error messages shown when the branch command is misused
> by supplying it wrong number of parameters wasn't meaningful.
> That's because it used the the phrase "too many branches"
> assuming all parameters to be "valid" branch names. It's not
> always the case as exemplified below,
> 
>         $ git branch
>           foo
>         * master
> 
>         $ git branch -m foo foo old
>         fatal: too many branches for a rename operation
> 
> Change the messages to be more general thus making no assumptions
> about the "parameters".
> 
> Signed-off-by: Kaartic Sivaraam <kaarticsivaraam91196@gmail.com>
> ---
>  Changes in v2:
> 
>     - changed the wordings of the error message
> 
>  builtin/branch.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/builtin/branch.c b/builtin/branch.c
> index a3bd2262b..62981d358 100644
> --- a/builtin/branch.c
> +++ b/builtin/branch.c
> @@ -707,12 +707,12 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
>  		else if (argc == 2)
>  			rename_branch(argv[0], argv[1], rename > 1);
>  		else
> -			die(_("too many branches for a rename operation"));
> +			die(_("too many arguments for a rename operation"));
>  	} else if (new_upstream) {
>  		struct branch *branch = branch_get(argv[0]);
>  
>  		if (argc > 1)
> -			die(_("too many branches to set new upstream"));
> +			die(_("too many arguments to set new upstream"));
>  
>  		if (!branch) {
>  			if (!argc || !strcmp(argv[0], "HEAD"))
> @@ -735,7 +735,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
>  		struct strbuf buf = STRBUF_INIT;
>  
>  		if (argc > 1)
> -			die(_("too many branches to unset upstream"));
> +			die(_("too many arguments to unset upstream"));
>  
>  		if (!branch) {
>  			if (!argc || !strcmp(argv[0], "HEAD"))

I was recently searching to find the patches have gone missing in to the void for no obvious reason and found this. Should I consider this to be "Dropped" in terms of the "What's cooking" emails? or has this just not received the required attention?

--- Kaartic

Junio C Hamano· Oct 3, 2017, 00:21 UTC · re: Kaartic Sivaraam · lore

Re: [PATCH v2] branch: change the error messages to be more meaningful

Kaartic Sivaraam <kaarticsivaraam91196@gmail.com> writes:
> I was recently searching to find the patches have gone missing in to
> the void for no obvious reason and found this. Should I consider this
> to be "Dropped" in terms of the "What's cooking" emails? or has this
> just not received the required attention?

I do not even recall what the patches did and if I thought what they wanted to do made sense, so I wouldn't be surprised if I did not pick them up, after seeing nobody's commenting on it.

Kaartic Sivaraam· Oct 3, 2017, 19:14 UTC · re: Junio C Hamano · lore

Re: [PATCH v2] branch: change the error messages to be more meaningful

On Tue, 2017-10-03 at 09:21 +0900, Junio C Hamano wrote:
> Kaartic Sivaraam <kaarticsivaraam91196@gmail.com> writes:
> 
> I do not even recall what the patches did and if I thought what they
> wanted to do made sense, 
I thought you did or may be I misinterpreted the following statement,
On Thursday 17 August 2017 12:58 AM, Junio C Hamano wrote:
> I do not find the s/branch/parameter/ too bad (although I would have
> said "arguments" instead).
>

I interpreted the "not .. too bad" as a "it makes little sense". So, pinged the thread.

--- Kaartic

Junio C Hamano· Oct 4, 2017, 04:11 UTC · re: Kaartic Sivaraam · lore

Re: [PATCH v2] branch: change the error messages to be more meaningful

Kaartic Sivaraam <kaarticsivaraam91196@gmail.com> writes:
> I interpreted the "not .. too bad" as a "it makes little sense". So,
> pinged the thread.
Thanks.  I think what the patch does (sort of) makes sense.  

It is a bit dissapointing that we do not need to touch tests, as it indicates that the logic to diagnose extra arguments as an error has no coverage.

Kaartic Sivaraam· Oct 4, 2017, 12:46 UTC · re: Junio C Hamano · lore

Re: [PATCH v2] branch: change the error messages to be more meaningful

On Wed, 2017-10-04 at 13:11 +0900, Junio C Hamano wrote:
> 
> It is a bit dissapointing that we do not need to touch tests, as it
> indicates that the logic to diagnose extra arguments as an error has
> no coverage.

Even if there were tests I don't think they would have needed any updation as most of the tests (at least those that I came across) that check for failure seem not to be checking for what error message gets printed. They seem to test only if the command fails (using test_must_fail in most cases, I guess).

Moreover, as a consequence of my assumption that the tests don't check for the error messages themselves; I haven't even thought of checking whether the tests or the travis-ci build succeeded as a consequence of my patches that touch "only" the error messages!

--- Kaartic

Junio C Hamano· Oct 5, 2017, 01:13 UTC · re: Kaartic Sivaraam · lore

Re: [PATCH v2] branch: change the error messages to be more meaningful

Kaartic Sivaraam <kaarticsivaraam91196@gmail.com> writes:
> Moreover, as a consequence of my assumption that the tests don't check
> for the error messages themselves; I haven't even thought of checking
> whether the tests or the travis-ci build succeeded as a consequence of
> my patches that touch "only" the error messages!
That's a bad thing, right?
Kaartic Sivaraam· Oct 5, 2017, 12:13 UTC · re: Junio C Hamano · lore

Re: [PATCH v2] branch: change the error messages to be more meaningful

On Thu, 2017-10-05 at 10:13 +0900, Junio C Hamano wrote:
Show 8 quoted lines
> Kaartic Sivaraam <kaarticsivaraam91196@gmail.com> writes:
> 
> > Moreover, as a consequence of my assumption that the tests don't check
> > for the error messages themselves; I haven't even thought of checking
> > whether the tests or the travis-ci build succeeded as a consequence of
> > my patches that touch "only" the error messages!
> 
> That's a bad thing, right?

Might be, but my assumption seems to held at least until now for the two or three patches that I have sent that touch "only" the error messages (I haven't received emails from anyone shouting at me that the build fails as a consequence of one such patches).

The build status for this patch can be found at [1]. Supporting my assumption, it passed too.

That said, you don't have to worry a lot about this. I'll come over my laziness and check if the travis-ci build passes for such patches in the future :-)

[1]: https://travis-ci.org/sivaraam/git/builds/276222235

--- Kaartic

← back to recent threads