Git development
 help / color / mirror / Atom feed
* [PATCH] Enter interactive mode if no parameters are given to git-add
@ 2006-12-19 15:16 Andy Parkins
  2006-12-19 16:42 ` Jakub Narebski
  2006-12-19 18:00 ` Junio C Hamano
  0 siblings, 2 replies; 4+ messages in thread
From: Andy Parkins @ 2006-12-19 15:16 UTC (permalink / raw)
  To: git

git-add with no parameters previously adds every modified file.  This
patch instead makes git-add enter interactive mode.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
---
This patch is against pu.

It seemed a bit nasty to add content without explicit instructions to do
so.  Instead, just drop into interactive mode, which they can easily get out
of if it was all a big accident, and additionally is quicker than typing
--interactive.

 builtin-add.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/builtin-add.c b/builtin-add.c
index aa2f0f3..52a63a0 100644
--- a/builtin-add.c
+++ b/builtin-add.c
@@ -96,10 +96,12 @@ int cmd_add(int argc, const char **argv, const char *prefix)
 		if (!strcmp("--interactive", argv[i]))
 			add_interactive++;
 	}
+	if (argc == 1)
+		add_interactive++;
 	if (add_interactive) {
 		const char *args[] = { "add--interactive", NULL };
 
-		if (add_interactive != 1 || argc != 2)
+		if (add_interactive != 1 || argc > 2)
 			die("add --interactive does not take any parameters");
 		execv_git_cmd(args);
 		exit(1);
-- 
1.4.4.2.g95ee-dirty

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] Enter interactive mode if no parameters are given to git-add
  2006-12-19 15:16 [PATCH] Enter interactive mode if no parameters are given to git-add Andy Parkins
@ 2006-12-19 16:42 ` Jakub Narebski
  2006-12-19 18:00 ` Junio C Hamano
  1 sibling, 0 replies; 4+ messages in thread
From: Jakub Narebski @ 2006-12-19 16:42 UTC (permalink / raw)
  To: git

<opublikowany i wysłany>

Andy Parkins wrote:

> gmane.comp.version-control.git
> git-add with no parameters previously adds every modified file.  This
> patch instead makes git-add enter interactive mode.
> 
> Signed-off-by: Andy Parkins <andyparkins@gmail.com>
> ---
> This patch is against pu.
> 
> It seemed a bit nasty to add content without explicit instructions to do
> so.  Instead, just drop into interactive mode, which they can easily get out
> of if it was all a big accident, and additionally is quicker than typing
> --interactive.

Hmmm... --interactive is not documented, and neither is --all (erm, I think
git add -all oatch was not yet added).
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Enter interactive mode if no parameters are given to git-add
  2006-12-19 15:16 [PATCH] Enter interactive mode if no parameters are given to git-add Andy Parkins
  2006-12-19 16:42 ` Jakub Narebski
@ 2006-12-19 18:00 ` Junio C Hamano
  2006-12-19 19:04   ` Linus Torvalds
  1 sibling, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2006-12-19 18:00 UTC (permalink / raw)
  To: Andy Parkins; +Cc: git

Andy Parkins <andyparkins@gmail.com> writes:

> git-add with no parameters previously adds every modified file.  This
> patch instead makes git-add enter interactive mode.
> ...
> It seemed a bit nasty to add content without explicit instructions to do
> so.

Does anybody rely on the current behaviour?

It is nasty and I consider it a bug.  It appears that it has
been like that since the days when it was still a shell script.

While I think nobody should drive 'git add' from script, the
behaviour to add everything when there is no explicit parameter
(or fall back to interactive for that matter) has a problem if
you say "some command | xargs git-add --" (you need "xargs -r"
to fix it, which is GNU).

Let's first have a patch to exit with a warning message (but
status 0) without doing anything when there is no explicit
paths.

Again, does anybody rely on the current behaviour?


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Enter interactive mode if no parameters are given to git-add
  2006-12-19 18:00 ` Junio C Hamano
@ 2006-12-19 19:04   ` Linus Torvalds
  0 siblings, 0 replies; 4+ messages in thread
From: Linus Torvalds @ 2006-12-19 19:04 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Andy Parkins, git



On Tue, 19 Dec 2006, Junio C Hamano wrote:

> Andy Parkins <andyparkins@gmail.com> writes:
> 
> > git-add with no parameters previously adds every modified file.  This
> > patch instead makes git-add enter interactive mode.
> > ...
> > It seemed a bit nasty to add content without explicit instructions to do
> > so.
> 
> Does anybody rely on the current behaviour?

I don't know about "rely", but yes, it's what I normally do. When I import 
a tar-ball, I'll just do

	..untar..
	cd result-x.y.z
	git init-db
	git add
	git commit

and I don't usually use the "." at all, since it's unnecessary.

But hey, if it enters some interactive mode, maybe I can teach myself to 
either just do "git add .", or if the interactive mode has a choice of "a" 
for "all", then why not?

> While I think nobody should drive 'git add' from script, the
> behaviour to add everything when there is no explicit parameter
> (or fall back to interactive for that matter) has a problem if
> you say "some command | xargs git-add --" (you need "xargs -r"
> to fix it, which is GNU).

That's a really good argument against the current behaviour of "git add", 
so while I actually use it without any parameters, I will concur that we 
should probably change it.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-12-19 19:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-19 15:16 [PATCH] Enter interactive mode if no parameters are given to git-add Andy Parkins
2006-12-19 16:42 ` Jakub Narebski
2006-12-19 18:00 ` Junio C Hamano
2006-12-19 19:04   ` Linus Torvalds

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox