All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: git@vger.kernel.org
Subject: git annoyances
Date: Wed, 9 Apr 2008 12:14:28 +0200	[thread overview]
Message-ID: <20080409101428.GA2637@elte.hu> (raw)


i just had a rather annoying session with git - here's the dump and 
commentary, in case anyone is interested in usability fineprint.

it was with git-core-1.5.4.3-2.fc8 - so if it's all fixed/improved in 
1.5.5, or if this is blatant user error for which i deserve to be 
punished then my apologies!

usually i just have a single git repo that tracks everything 
interesting, but this time i did something i rarely do: i tried to merge 
one local tree of mine into another local tree of mine. So i had no 
commands (or even concepts) cached in my short-term memory that would 
achieve this goal, i just tried the commands that i thought to be 
'obvious', without applying much (or any) IQ to those commands:

 $ cd linux-2.6-sched-devel.git

 $ git-remote add ~/linux-2.6-x86.git

 $ git-remote show x86
  * remote x86
    URL: /home/mingo/linux-2.6-x86.git
  New remote branches (next fetch will store in remotes/x86)
  base for-akpm for-linus latest master testing

 $ git-merge x86/latest
 x86/latest - not something we can merge

 #
 # ho hum. Not something 'we' can merge. Do i care? :-) There's no 
 # actionable reference given to the user about how to resolve this 
 # problem. So i kept on trying:
 #

 $ git-fetch x86/latest
 fatal: 'x86/latest': unable to chdir or not a git archive
 fatal: The remote end hung up unexpectedly

 $ git-pull x86/latest
 fatal: 'x86/latest': unable to chdir or not a git archive
 fatal: The remote end hung up unexpectedly

 #
 # hm. two fatal messages, suggesting that there's something really 
 # wrong while there's nothing wrong.
 #

what got me going after experimenting around some more was this exact 
command:

 $ git-pull x86 latest

(that fetch+merge went problem-free.)

but it was a PITA and all of git's messages about the problem were not 
only unhelpful, they confused me into looking for problems where there 
were none IMO. I was starting to wonder whether i have to have some git 
daemon running on that box for example. But in retrospect IMO it was 
rather clear from the outset what i wanted git to do (merge the tip of 
my other tree into the tip of this tree, on the local box, no frills), i 
just didnt figure out the exact command to do it.

another (minor) usability annoyance: one of the first things i tried was 
to verify the remote setup, via:

$ git-remote show

which gave me this answer:

 Usage: git remote show <remote>

then i tried git-remote show -a (to list all repositories, etc.) - what 
i didnt figure out was to show all repositories is to do a simple 
"git-remote". I think "git-remote show" should output all repositories, 
or at least indicate it in its help line what to do to get such a list. 
(for us poor sobs forgetting commandline details ;)

also, the first natural thing i did was to just type:

 $ git-merge ~/linux-2.6-x86.git/

which i naively assumed would sort things out for me and provide some 
reasonable default behavior - but instead it just gave an annoyingly 
unhelpful error message:

 /home/mingo/linux-2.6-x86.git/ - not something we can merge

there should really be a consciously established "route of failure 
resolution" - directing people towards relevant sources of information 
or commands when the git command-line utilities return some error due to 
user incompetence. Otherwise users just guess around and get frustrated.

also, i think this session also probably matches the newbie's experience 
about git, and making certain git operations so hard to achieve is 
certainly not a reassuring experience for them either. [ Or shall they 
all be filtered out as fundamentally incompetent people? ;-) ]

	Ingo

             reply	other threads:[~2008-04-09 10:15 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-09 10:14 Ingo Molnar [this message]
2008-04-09 10:41 ` git annoyances Björn Steinbrink
2008-04-09 14:57 ` Jeff King
2008-04-09 15:15   ` [PATCH] git-remote: show all remotes with "git remote show" Jeff King
2008-04-09 16:54     ` Johannes Schindelin
2008-04-10 10:56       ` Junio C Hamano
2008-04-09 20:07     ` Ingo Molnar
2008-04-10 19:59     ` Ingo Molnar
2008-04-09 17:08   ` git annoyances Avery Pennarun
2008-04-10  8:41     ` Karl Hasselström
2008-04-10 15:05       ` Avery Pennarun
2008-04-11  7:00         ` Karl Hasselström
2008-04-09 20:08   ` Friendly refspecs (Was: Re: git annoyances) Teemu Likonen
2008-04-09 20:32     ` Avery Pennarun
2008-04-09 20:34     ` Jeff King
2008-04-09 22:25       ` Teemu Likonen
2008-04-09 22:51         ` Jeff King
2008-04-10  0:03           ` Jeff King
2008-04-10  0:11             ` Jeff King
2008-04-10  7:51               ` Friendly refspecs Junio C Hamano
2008-04-10  8:03                 ` Jeff King
     [not found]           ` <bd6139dc0804091616k53f4e0c1sf75aa9585c5a54c5@mail.gmail.com>
2008-04-10  0:33             ` Friendly refspecs (Was: Re: git annoyances) Jeff King
2008-04-10  7:58               ` Sverre Rabbelier
2008-04-13  9:31           ` Friendly refspecs Teemu Likonen
2008-04-13  9:34             ` [PATCH] Add examples section to 'git fetch' manual Teemu Likonen
2008-04-13 18:56               ` Junio C Hamano
2008-04-13 19:48                 ` Matt Graham
2008-04-13 20:05                 ` Teemu Likonen
2008-04-14  1:02                   ` Junio C Hamano
2008-04-16  3:48             ` Friendly refspecs Jeff King
2008-04-16  4:25               ` Jeff King
2008-04-16  4:41               ` Junio C Hamano
2008-04-16  4:47                 ` Jeff King
2008-04-16 15:42               ` Daniel Barkalow
2008-04-16 20:03                 ` Junio C Hamano
2008-04-22 10:56                   ` Jeff King
2008-04-22 16:52                     ` Junio C Hamano
2008-04-22 17:19                       ` Daniel Barkalow
2008-04-22 20:12                         ` Jeff King
2008-04-22 20:05                       ` Jeff King
2008-04-22 20:45                         ` Junio C Hamano
2008-04-22 21:52                           ` Jeff King
2008-04-23  4:24                           ` Teemu Likonen
2008-04-23  5:52                             ` Junio C Hamano
2008-04-23  6:24                               ` Andreas Ericsson
2008-04-23  9:16                               ` Jeff King
2008-04-23  9:21                                 ` Jeff King
2008-04-23 11:15                                   ` Teemu Likonen
2008-04-09 21:21     ` Junio C Hamano
2008-04-10  7:38       ` Teemu Likonen
2008-04-12 18:59   ` git annoyances Santiago Gala
2008-04-09 19:21 ` Daniel Barkalow
2008-04-09 20:41   ` Ingo Molnar
2008-04-10 14:08     ` Daniel Barkalow
2008-04-09 21:04 ` Junio C Hamano
2008-04-09 21:39   ` Jon Loeliger
2008-04-09 23:45     ` Nicolas Pitre
2008-04-09 21:45   ` Jeff King
2008-04-09 23:56   ` André Goddard Rosa
2008-04-10 19:45     ` Govind Salinas
2008-04-10  6:08   ` Jean-Christian de Rivaz
2008-04-10  8:19     ` Sverre Rabbelier
2008-04-10 11:47 ` git-bisect annoyances Ingo Molnar
2008-04-11  5:41   ` Christian Couder
2008-04-11 11:41     ` Ingo Molnar
2008-04-12  6:56       ` Christian Couder
2008-04-11  5:56   ` Junio C Hamano
2008-04-10 23:25 ` [PATCH] When a remote is added but not fetched, tell the user Gabriel
2008-04-11 15:21   ` Johannes Schindelin
2008-04-11 18:35     ` Gabriel
2008-04-11 18:39       ` [PATCH] Default to fetching a remote after adding it Gabriel
2008-04-11 19:17         ` Stephen Sinclair
2008-04-12 14:33         ` Johannes Schindelin
2008-04-12 15:13           ` Gabriel
2008-04-12 15:24             ` Johannes Schindelin
2008-04-11 19:08       ` [PATCH] When a remote is added but not fetched, tell the user Teemu Likonen
2008-04-11 21:39         ` Junio C Hamano
2008-04-11 22:35           ` Sverre Rabbelier
2008-04-11 23:15             ` Junio C Hamano
2008-04-11 23:20               ` Sverre Rabbelier
2008-04-15  3:15         ` Miles Bader
2008-04-11 19:29       ` [PATCH] Default to fetching a remote after adding it Gabriel
2008-04-11 19:36         ` Wincent Colaiuta
2008-04-11 19:46           ` Gabriel
2008-04-11 10:15 ` git annoyances Luciano Rocha
2008-04-11 10:27   ` Wincent Colaiuta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080409101428.GA2637@elte.hu \
    --to=mingo@elte.hu \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.