threads / patch / 36821

patcherror_resolve_conflict: rewrap advice message

Subject: [PATCH] error_resolve_conflict: rewrap advice message

## tl;dr

3 messages between Jun 3, 2014 and Jun 3, 2014. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Jeff King· Jun 3, 2014, 07:17 UTC · lore

If you try to commit with unresolved conflicts in the index, you get this message:

	$ git commit
	U       foo
	error: 'commit' is not possible because you have unmerged files.
	hint: Fix them up in the work tree,
	hint: and then use 'git add/rm <file>' as
	hint: appropriate to mark resolution and make a commit,
	hint: or use 'git commit -a'.
	fatal: Exiting because of an unresolved conflict.

The irregular line-wrapping makes this awkward to read, and it takes up more lines than necessary. Instead, let's rewrap it to about 60 characters per line:

	$ git commit
	U       foo
	error: 'commit' is not possible because you have unmerged files.
	hint: Fix them up in the work tree, and then use 'git add/rm <file>'
	hint: as appropriate to mark resolution and make a commit, or use
	hint: 'git commit -a'.
	fatal: Exiting because of an unresolved conflict.
Signed-off-by: Jeff King <peff@peff.net>
---
This always bugs me when I see it, so I thought I'd finally do something
about it. I left the wording alone, though I'd also be happy to see it
shortened to just advise "git add/rm" and not mention "git commit -a" at
all.
 advice.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
Show changes to advice.c +3 −4
diff --git a/advice.c b/advice.c
index 486f823..ef24733 100644
--- a/advice.c
+++ b/advice.c
@@ -82,10 +82,9 @@ int error_resolve_conflict(const char *me)
 		 * Message used both when 'git commit' fails and when
 		 * other commands doing a merge do.
 		 */
-		advise(_("Fix them up in the work tree,\n"
-			 "and then use 'git add/rm <file>' as\n"
-			 "appropriate to mark resolution and make a commit,\n"
-			 "or use 'git commit -a'."));
+		advise(_("Fix them up in the work tree, and then use 'git add/rm <file>'\n"
+			 "as appropriate to mark resolution and make a commit, or use\n"
+			 "'git commit -a'."));
 	return -1;
 }
 
-- 
2.0.0.rc1.436.g03cb729
Jeff King· Jun 3, 2014, 07:23 UTC · re: Jeff King · lore

[PATCH] error_resolve_conflict: drop quotations around operation

When you try to commit with unmerged entries, you get an error like:

  $ git commit
  error: 'commit' is not possible because you have unmerged files.

The quotes around "commit" are clunky; the user doesn't care that this message is a template with the command-name filled in. Saying:

  error: commit is not possible because you have unmerged files

is easier to read. As this code is called from other places, we may also end up with:

  $ git merge
  error: merge is not possible because you have unmerged files
  $ git cherry-pick foo
  error: cherry-pick is not possible because you have unmerged files
  $ git revert foo
  error: revert is not possible because you have unmerged files

All of which look better without the quotes. This also happens to match the behavior of "git pull", which generates a similar message (but does not share code, as it is a shell script).

Signed-off-by: Jeff King <peff@peff.net>
---
I realize this may just be a matter of taste, but I thought I'd put it
forth as a possibility.
I also considered switching the wording to:
  error: cannot commit because you have unmerged files
which I find a little more natural.
 advice.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to advice.c +1 −1
diff --git a/advice.c b/advice.c
index ef24733..c50ebdf 100644
--- a/advice.c
+++ b/advice.c
@@ -76,7 +76,7 @@ int git_default_advice_config(const char *var, const char *value)
 
 int error_resolve_conflict(const char *me)
 {
-	error("'%s' is not possible because you have unmerged files.", me);
+	error("%s is not possible because you have unmerged files.", me);
 	if (advice_resolve_conflict)
 		/*
 		 * Message used both when 'git commit' fails and when
-- 
2.0.0.rc1.436.g03cb729
Junio C Hamano· Jun 3, 2014, 17:02 UTC · re: Jeff King · lore

Re: [PATCH] error_resolve_conflict: drop quotations around operation

Jeff King <peff@peff.net> writes:
Show 33 quoted lines
> When you try to commit with unmerged entries, you get an
> error like:
>
>   $ git commit
>   error: 'commit' is not possible because you have unmerged files.
>
> The quotes around "commit" are clunky; the user doesn't care
> that this message is a template with the command-name filled
> in.  Saying:
>
>   error: commit is not possible because you have unmerged files
>
> is easier to read. As this code is called from other places,
> we may also end up with:
>
>   $ git merge
>   error: merge is not possible because you have unmerged files
>
>   $ git cherry-pick foo
>   error: cherry-pick is not possible because you have unmerged files
>
>   $ git revert foo
>   error: revert is not possible because you have unmerged files
>
> All of which look better without the quotes. This also
> happens to match the behavior of "git pull", which generates
> a similar message (but does not share code, as it is a shell
> script).
>
> Signed-off-by: Jeff King <peff@peff.net>
> ---
> I realize this may just be a matter of taste, but I thought I'd put it
> forth as a possibility.

If the template were filled with 'git commit', 'git merge', etc., then the quotes around %s may make it clearer, but 'me' here is designed to be a single subcommand name, so this change is good.

Show 5 quoted lines
> I also considered switching the wording to:
>
>   error: cannot commit because you have unmerged files
>
> which I find a little more natural.

Perhaps. As long as the subcommand name that can come here as 'me' is always a verb, that would work (I didn't think about l10n, tho).

Show 16 quoted lines
>  advice.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/advice.c b/advice.c
> index ef24733..c50ebdf 100644
> --- a/advice.c
> +++ b/advice.c
> @@ -76,7 +76,7 @@ int git_default_advice_config(const char *var, const char *value)
>  
>  int error_resolve_conflict(const char *me)
>  {
> -	error("'%s' is not possible because you have unmerged files.", me);
> +	error("%s is not possible because you have unmerged files.", me);
>  	if (advice_resolve_conflict)
>  		/*
>  		 * Message used both when 'git commit' fails and when

← back to recent threads