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

Re: [PATCH v2 0/2] clone: simplify progress message

From
PHPete Harlan <pgit@pcharlan.com>
Date
May 10, 2010, 23:22 UTC
Message-ID
<4BE8954E.3030405@pcharlan.com>
In-Reply-To
<4BE7E09F.3040303@drmicha.warpmail.net>
On 05/10/2010 03:31 AM, Michael J Gruber wrote:
Show 34 quoted lines
> Jeff King venit, vidit, dixit 10.05.2010 07:47:
>> On Sun, May 09, 2010 at 01:09:14PM -0700, Pete Harlan wrote:
>> 
>>>> I guess it comes down to how much detail we want to show.
>>> 
>>> For me it isn't only a matter of detail; I find "Cloning into 
>>> bar/.git" misleading, since bar is getting more than a .git 
>>> directory.
>> 
>> Yeah, I can buy that line of reasoning. Junio's nitpick aside, I 
>> think most users perceive the clone process as creating the whole 
>> "bar" directory.
>> 
>>> Thank you for looking at this.  I agree with you, and have added 
>>> a second patch that implements that.
>> 
>> These patches look good to me. I agree with Junio about just 
>> squashing them.
>> 
>> -Peff
> 
> Back from a conference, I'm being late for the party (Which way
> round is better? ;) ).
> 
> But I still want to suggest not sacrificing correctness for "user's 
> expectations" and rather trying to do combine them. So how about 
> saying
> 
> Cloning into $GIT_DIR... Checking out branch $branch in $WORK_DIR...
> 
> where the latter happens for non-bare repos only, of course, and 
> incidently confirms the use of "-b" or of the default.
> 
> Michael
Thanks for looking at this.  The patch you posted reports, e.g.:
  % git clone foo bar
  Cloning into /tmp/git/bar/.git...
  done.
  Checking out branch master into worktree bar.
  %

I'd like to see "worktree" either omitted or replaced with "working directory". Git works on trees, but "working directory" is a term ordinary users understand and "bar" is a directory being populated with files so there's nothing wrong with the user thinking of it that way.

But on a different note, I think we don't have to be so verbose. If the user asks for details with -v then be as chatty as we want, but for the most part operations that succeed should do so quietly.

My original (unsent) patch was based on master from a couple of weeks ago and was merely going to remove the db-initialization message and replace it with nothing, so a successful local clone would look like:

  % git clone foo bar
  %

I don't think it needs to be more complicated than that. And there's real value in silent success: every message output has to be read by the user because it might be an error message.

Since Junio solved the original problem in a different way (still reporting a message but making it less scary) I made a patch to make his message more (in my opinion) friendly, but I think output from normal commands should be as simple as possible.

At my previous job I converted a team of ten or so people from Subversion to Git, and virtually everyone on the team besides myself considered Git difficult to use and not worth the trouble. We didn't have enough time with it (three months) so I couldn't tell if they ever would have come around, but each little thing that a user could perceive as complicated adds up.

So: I'm fine with your patch (with a removed "worktree" or replace it
with "working directory") if writing a thorough message is considered
desirable.  But my vote is for more simple output (as in my patches),
or better yet nothing at all unless there's a problem.  The user can
ask for progress with -v if they want it.
--Pete
Previous: Michael J GruberNext: Michael J Gruber
Message 13 of 14 in “clone: have progress report mention top level dir, not git dir”
  1. clone: have progress report mention top level dir, not git dirPete Harlan, May 9, 2010
  2. Jeff KingMay 9, 2010
  3. 0/2 clone: simplify progress messagePete Harlan, May 9, 2010
  4. 1/2 clone: have progress report mention top level dir, not git dirPete Harlan, May 9, 2010
  5. 2/2 clone: add bare clone to the progress messagePete Harlan, May 9, 2010
  6. Junio C HamanoMay 9, 2010
  7. Pete HarlanMay 9, 2010
  8. Jeff KingMay 10, 2010
  9. Michael J GruberMay 10, 2010
  10. clone: report check out for non-bare clonesMichael J Gruber, May 10, 2010
  11. Junio C HamanoMay 12, 2010
  12. Michael J GruberMay 12, 2010
  13. Pete HarlanMay 10, 2010
  14. Michael J GruberMay 11, 2010

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.