All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Clemens Buchacher <drizzd@aon.at>, Jeff King <peff@peff.net>,
	SZEDER Gabor <szeder@ira.uka.de>,
	git@vger.kernel.org
Subject: Re: [BUG] 'add -u' doesn't work from untracked subdir
Date: Sat, 05 Sep 2009 10:58:56 -0700 (PDT)	[thread overview]
Message-ID: <m3tyzhjmvc.fsf@localhost.localdomain> (raw)
In-Reply-To: <7veiql1etz.fsf@alter.siamese.dyndns.org>

Junio C Hamano <gitster@pobox.com> writes:
> Clemens Buchacher <drizzd@aon.at> writes:
> 
> > "git add -u ." is friendly enough. Just like "git commit ." versus "git
> > commit -a", which is exactly the same concept and should therefore have the
> > same behavior.
> >
> > You are assuming that people are in a subdirectory because they want to
> > limit the scope. But I am usually in a subdirectory for totally
> > versioning-unrelated reasons.
> 
> Limit the scope of what you see in "ls" (no argument) output, shorten the
> paths you must type to non-git commands.  They are the kind of "limit the
> scope" I meant, and they are totally versioning-unrelated.  In other
> words, cwd-centric default helps the users (especially the new ones) by
> making git behave consistently with other commands.

Well, there is still complication that some commands are considered
whole-tree in absence of pathspec, like "git commit".

> 
> So if anything, I personally think it would be much less surprising if all
> git commands worked relative to the cwd (not whole tree root) when run
> without path argument, at least from the newbie's point of view [*1*].

I think it would be very suprising if "git commit" in subdirectory was
limited to changes affecting given subdirectory...

> 
> But notice that the above is qualified with "personally".  An alternative
> would be to declare that in 1.8.0, all commands run without path argument
> will work on the whole tree and you have to give an explicit '.' when you
> want to limit their effect to the cwd.
> 
> This may be slightly less intuitive to newbies than the "relative to cwd",
> but nevertheless that is the course I would suggest us taking, because of
> the following observations:
> 
>  (1) if the commands work on the whole tree when run without paths, it is
>      easy to limit to the cwd with "git frotz ." when you want to.
> 
>  (2) if the commands work on the cwd when run without paths, you have to
>      always be aware how deep you are, and say "git frotz ../../.." when
>      you want to extend their effects to the whole tree.
> 
> The latter is much more irritating.

Well, we can always invent some magic notation meaning either "up to
top directory", e.g. make

  $ git frotz ...

more or less equivalent to

  $ git frotz "$(git rev-parse --show-cdup)"

(The other solution of having "git frotz /" to refer to top directory
is slightly worse, because there are git commands that work without
git repository, and "/" is legitimate parameter, like e.g. for 
"git diff --no-index").

-- 
Jakub Narebski
Poland
ShadeHawk on #git

  reply	other threads:[~2009-09-05 17:59 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-02  8:03 [BUG] 'add -u' doesn't work from untracked subdir SZEDER Gábor
2009-09-02  8:19 ` Jeff King
2009-09-04  7:02   ` Clemens Buchacher
2009-09-05  6:18     ` Jeff King
2009-09-05  7:02       ` Junio C Hamano
2009-09-05  7:20         ` Jeff King
2009-09-05  7:58           ` Junio C Hamano
2009-09-05  8:02             ` Jeff King
2009-09-05  8:23               ` Junio C Hamano
2009-09-06 18:28                 ` Clemens Buchacher
2009-09-09 23:46                 ` Nanako Shiraishi
2009-09-10 19:53                   ` Junio C Hamano
2009-09-10 20:32                     ` Clemens Buchacher
2009-09-05 12:31             ` [PATCH 1/2] grep: accept relative paths outside current working directory Clemens Buchacher
2009-09-05 12:33               ` [PATCH 2/2] add 'scope' config option Clemens Buchacher
2009-09-05 13:10                 ` [PATCH 2/2 v2] " Clemens Buchacher
2009-09-06 22:58               ` [PATCH 1/2] grep: accept relative paths outside current working directory Junio C Hamano
2009-09-07  8:48                 ` [PATCH] grep: fix exit status if external_grep() returns error Clemens Buchacher
2009-09-07 18:13                   ` Junio C Hamano
2009-09-05  8:19           ` [BUG] 'add -u' doesn't work from untracked subdir Jeff King
2009-09-05  7:25         ` Junio C Hamano
2009-09-05  8:46         ` Clemens Buchacher
2009-09-05 17:28           ` Junio C Hamano
2009-09-05 17:58             ` Jakub Narebski [this message]
2009-09-05 18:45             ` Clemens Buchacher
2009-09-05 21:46               ` 'add -u' without path is relative to cwd Junio C Hamano
2009-09-06 12:32           ` [BUG] 'add -u' doesn't work from untracked subdir Matthieu Moy
2009-09-06 18:16             ` Clemens Buchacher
2009-09-07  6:23               ` Matthieu Moy
2009-09-07  7:33                 ` SZEDER Gábor
2009-09-07  8:06                   ` Matthieu Moy
2009-09-07  0:07           ` Nanako Shiraishi
2009-09-07  5:07             ` Junio C Hamano
2009-09-07  7:50             ` Clemens Buchacher
2009-09-04  8:32   ` SZEDER Gábor

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=m3tyzhjmvc.fsf@localhost.localdomain \
    --to=jnareb@gmail.com \
    --cc=drizzd@aon.at \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    --cc=szeder@ira.uka.de \
    /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.