git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/4] usability: fix am and checkout for nevermind questions

From
Jean-Noël AVILA <jn.avila@free.fr>
Date
May 3, 2017, 18:35 UTC
Message-ID
<2001640.bFkheBfX4c@cayenne>
In-Reply-To
<20170503165158.GZ28740@aiede.svl.corp.google.com>
Le mercredi 3 mai 2017 09:51:58 CEST, vous avez écrit :
Show 40 quoted lines
> Jean-Noel Avila wrote:
> > Subject: usability: fix am and checkout for nevermind questions
> > 
> > Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
> 
> Thanks for working on improving Git's UX.  I agree with the goal in
> general (we should not gratuitously surprise users) but I think I
> lack context for appreciating this particular example.
> 
> This is a good place to describe the motivation behind the patch and
> what effective change it would have.
> 
> [...]
> 
> > +++ b/builtin/am.c
> 
> [...]
> 
> >  	if (is_empty_file(am_path(state, "patch"))) {
> > 
> > -		printf_ln(_("Patch is empty. Was it split wrong?"));
> > +		printf_ln(_("Patch is empty. It may have been split wrong."));
> 
> [...]
> 
> >  	if (unmerged_cache()) {
> >  	
> >  		printf_ln(_("You still have unmerged paths in your index.\n"
> > 
> > -			"Did you forget to use 'git add'?"));
> > +			"You might want to use 'git add' on them."));
> 
> [...]
> 
> >  		if (opts.new_branch && argc == 1)
> >  		
> >  			die(_("Cannot update paths and switch to branch '%s' at the same
> >  			time.\n"
> > 
> > -			      "Did you intend to checkout '%s' which can not be resolved 
as
Show 8 quoted lines
> > commit?"), +			      "'%s' can not be resolved as commit, but it
> > should."),
> 
> In the current state I think this patch makes things worse (questions
> are not automatically a bad thing), which would make it especially
> useful to see more about the motivation so we can find out whether
> there's another way.
> 

I am not a UX designer, but for me, in the context of interaction with a command line program, any question that does not accept a reply is bad design. That also means that any command that does not run interactively should not ask questions. The shell interface is too informal to allow being loose on the program side. Comparatively to a GUI, where a label is formally informative and a popping-up dialog box asks for user input.

This patch should indeed be squashed with the first one. They are small changes in strings printed when dying. They would share the more extended commit message.

Previous: Jonathan NiederNext: Jean-Noel Avila
Message 4 of 41 in “usability: don't ask questions if no reply is required”
  1. 1/4 usability: don't ask questions if no reply is requiredJean-Noel Avila, May 3, 2017
  2. 2/4 usability: fix am and checkout for nevermind questionsJean-Noel Avila, May 3, 2017
  3. Jonathan NiederMay 3, 2017
  4. Jean-Noël AVILAMay 3, 2017
  5. 3/4 read-tree.c: rework UI when merging no treesJean-Noel Avila, May 3, 2017
  6. Jonathan NiederMay 3, 2017
  7. Jean-Noël AVILAMay 3, 2017
  8. 4/4 git-filter-branch: be assertative on dying messageJean-Noel Avila, May 3, 2017
  9. Jonathan NiederMay 3, 2017
  10. Jonathan NiederMay 3, 2017
  11. Stefan BellerMay 3, 2017
  12. Jean-Noël AVILAMay 3, 2017
  13. 1/3 usability: don't ask questions if no reply is requiredJean-Noel Avila, May 3, 2017
  14. 2/3 read-tree -m: make error message for merging 0 trees less smart aleckJean-Noel Avila, May 3, 2017
  15. Junio C HamanoMay 11, 2017
  16. read-tree: "read-tree -m --empty" does not make senseJunio C Hamano, May 11, 2017
  17. 3/3 git-filter-branch: make the error msg when missing branch more openJean-Noel Avila, May 3, 2017
  18. Junio C HamanoMay 11, 2017
  19. Kerry, RichardMay 4, 2017
  20. Ævar Arnfjörð BjarmasonMay 4, 2017
  21. Kerry, RichardMay 4, 2017
  22. Jean-Noël AVILAMay 9, 2017
  23. Ævar Arnfjörð BjarmasonMay 9, 2017
  24. Jean-Noël AVILAMay 4, 2017
  25. Junio C HamanoMay 11, 2017
  26. Kerry, RichardMay 11, 2017
  27. Konstantin KhomoutovMay 11, 2017
  28. Ævar Arnfjörð BjarmasonMay 11, 2017
  29. 1/3 usability: don't ask questions if no reply is requiredJean-Noel Avila, May 11, 2017
  30. 2/3 read-tree -m: make error message for merging 0 trees less smart aleckJean-Noel Avila, May 11, 2017
  31. Jonathan NiederMay 11, 2017
  32. Junio C HamanoMay 12, 2017
  33. Jean-Noël AVILAMay 12, 2017
  34. 3/3 git-filter-branch:Jean-Noel Avila, May 11, 2017
  35. Junio C HamanoMay 12, 2017
  36. 1/3 usability: don't ask questions if no reply is requiredJean-Noel Avila, May 12, 2017
  37. 2/3 read-tree -m: make error message for merging 0 trees less smart aleckJean-Noel Avila, May 12, 2017
  38. 3/3 git-filter-branch: be more direct in an error messageJean-Noel Avila, May 12, 2017
  39. Junio C HamanoMay 12, 2017
  40. Johannes SixtMay 13, 2017
  41. Junio C HamanoMay 15, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.