From: Steven Grimm <koreth@midwinter.com>
To: Josef Weidendorfer <Josef.Weidendorfer@gmx.de>
Cc: Junio C Hamano <junkio@cox.net>,
Andy Parkins <andyparkins@gmail.com>,
git@vger.kernel.org
Subject: Re: [PATCH 3/3] Allow whole-tree operations to be started from a subdirectory
Date: Sat, 13 Jan 2007 16:52:21 -0800 [thread overview]
Message-ID: <45A97EC5.10401@midwinter.com> (raw)
In-Reply-To: <200701140111.20671.Josef.Weidendorfer@gmx.de>
Josef Weidendorfer wrote:
> Why not add a general "--top" option to the "git" wrapper,
> to temporarily let git change to the toplevel while running
> the command?
>
If I can add a config entry so --top is the default, then that's
acceptable, but IMO it should be the default and we should, at most,
spit out a warning if a command is run in a subdirectory and there's a
chance of confusion.
When I run one of the commands that currently can't run in a
subdirectory and it spits out its error message, I NEVER react to that
by saying, "Oops, forgot I was in a subdirectory, guess I didn't want to
run that after all." (Have any of you said that, even once?) I react by
grimacing and typing "cd" so the command will do what I told it to do. I
have done that every single time I've gotten the in-a-subdirectory
error. And muttering under my breath something along the lines of, "The
code knows everything it needs to know to do what I just told it to, but
it's making me take seconds to do by hand what it could have done on its
own in nanoseconds."
Which is why I think the commands should just cd to the top directory as
needed. Doing otherwise is just making the user do pointless busywork.
IMO any command that, if run in a subdirectory, currently does nothing
but spit out a "hey, you can't run me in a subdirectory!" error is not
doing what the user wanted. The user never runs one of those commands
hoping to see an error message or to test whether he's in the top-level
directory. I can't think of any situation in which I'd want to see that
error instead of the --top behavior.
It is entirely possible that automatically changing to the top directory
will also do something other than what the user wanted some percentage
of the time, but that percentage will be far, far lower than 100, which
is what it is now. And I posit that the number of users confused or
frustrated by the whole-tree operations after the first time they see it
happen (after which it won't be unexpected) will be far smaller than the
number frustrated by the current pointless error message on a regular basis.
> The wish to allow git-fetch from subdirectories is the
> inconvenience to have to cd up, and later down. This is
> avoided by running "git --top fetch", and theses people
> should be happy.
>
> Yet, if the command outputs some relative paths, the
> user is very well aware that these paths are from the
> toplevel, as he explicitly specified "--top".
>
That would be covered just as well by outputting a status message before
any relative paths, e.g.
Updating /home/john/git-repo ...
Conflict: src/foo.c
(Not that that's real git output, but you get the idea.) It could be
suppressed when the command is run from the top-level directory, though
I think it'd be better to just always output it for consistency's sake.
-Steve
next prev parent reply other threads:[~2007-01-14 0:52 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-12 2:43 What's in git.git and announcing GIT v1.5.0-rc1 Junio C Hamano
2007-01-12 3:59 ` [PATCH] reflog-expire: brown paper bag fix Junio C Hamano
2007-01-12 4:02 ` Shawn O. Pearce
2007-01-12 15:01 ` What's in git.git and announcing GIT v1.5.0-rc1 Andy Parkins
2007-01-12 18:35 ` [PATCH] Friendlier error message for commands that can't be run from a subdirectory koreth
2007-01-12 18:39 ` What's in git.git and announcing GIT v1.5.0-rc1 Steven Grimm
2007-01-12 19:10 ` [PATCH] Change to the repository's root directory if needed koreth
2007-01-12 21:18 ` Junio C Hamano
2007-01-12 22:11 ` Steven Grimm
2007-01-12 23:17 ` Junio C Hamano
2007-01-12 20:26 ` [PATCH] Explain "Not a git repository: '.git'" Junio C Hamano
2007-01-12 20:55 ` Junio C Hamano
2007-01-12 20:55 ` [PATCH 1/3] Define cd_to_toplevel shell function in git-sh-setup Junio C Hamano
2007-01-12 20:55 ` [PATCH 2/3] Use cd_to_toplevel in scripts that implement it by hand Junio C Hamano
2007-01-12 20:56 ` [PATCH 3/3] Allow whole-tree operations to be started from a subdirectory Junio C Hamano
2007-01-13 16:42 ` Andy Parkins
2007-01-14 0:11 ` Josef Weidendorfer
2007-01-14 0:21 ` Shawn O. Pearce
2007-01-14 0:39 ` Josef Weidendorfer
2007-01-14 0:50 ` Junio C Hamano
2007-01-14 0:52 ` Steven Grimm [this message]
2007-01-14 1:37 ` Junio C Hamano
2007-01-14 18:13 ` Steven Grimm
2007-01-14 18:29 ` Steven Grimm
2007-01-14 19:36 ` Junio C Hamano
2007-01-14 1:50 ` Junio C Hamano
2007-01-16 15:14 ` Andreas Ericsson
2007-01-14 23:36 ` What's in git.git and announcing GIT v1.5.0-rc1 lamikr
2007-01-15 2:21 ` Horst H. von Brand
2007-01-15 20:54 ` lamikr
2007-01-15 21:56 ` Junio C Hamano
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=45A97EC5.10401@midwinter.com \
--to=koreth@midwinter.com \
--cc=Josef.Weidendorfer@gmx.de \
--cc=andyparkins@gmail.com \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
/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.