threads / patch / 16541

patchadded a built-in alias for 'stage' to the 'add' command

Subject: [PATCH] added a built-in alias for 'stage' to the 'add' command

## tl;dr

3 messages between Dec 1, 2008 and Dec 2, 2008. Diffs are folded; open one to read it.

replies: 2people: 3as markdown or json

Scott Chacon· Dec 1, 2008, 17:29 UTC · lore

this comes from conversation at the GitTogether where we thought it would be helpful to be able to teach people to 'stage' files because it tends to cause confusion when told that they have to keep 'add'ing them.

This continues the movement to start referring to the index as a staging area (eg: the --staged alias to 'git diff'). Also added a doc file for 'git stage' that basically points to the docs for 'git add'.

Signed-off-by: Scott Chacon <schacon@gmail.com>
---
 Documentation/git-stage.txt |   21 +++++++++++++++++++++
 git.c                       |    1 +
 2 files changed, 22 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/git-stage.txt
Show changes to 2 files +22 −0

Documentation/git-stage.txt, git.c

diff --git a/Documentation/git-stage.txt b/Documentation/git-stage.txt
new file mode 100644
index 0000000..0640198
--- /dev/null
+++ b/Documentation/git-stage.txt
@@ -0,0 +1,21 @@
+git-stage(1)
+==============
+
+NAME
+----
+git-stage - Add file contents to the staging area
+
+
+SYNOPSIS
+--------
+[verse]
+'git stage' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]
+	  [--all | [--update | -u]] [--intent-to-add | -N]
+	  [--refresh] [--ignore-errors] [--] <filepattern>...
+
+
+DESCRIPTION
+-----------
+
+This is a synonym for linkgit:git-add[1].  Please refer to the
+documentation of that command.
diff --git a/git.c b/git.c
index 89feb0b..9e5813c 100644
--- a/git.c
+++ b/git.c
@@ -266,6 +266,7 @@ static void handle_internal_command(int argc, const char **argv)
 	const char *cmd = argv[0];
 	static struct cmd_struct commands[] = {
 		{ "add", cmd_add, RUN_SETUP | NEED_WORK_TREE },
+		{ "stage", cmd_add, RUN_SETUP | NEED_WORK_TREE },
 		{ "annotate", cmd_annotate, RUN_SETUP },
 		{ "apply", cmd_apply },
 		{ "archive", cmd_archive },
-- 
1.6.0.8.gc9c8
Jeff King· Dec 1, 2008, 18:25 UTC · re: Scott Chacon · lore

Re: [PATCH] added a built-in alias for 'stage' to the 'add' command

On Mon, Dec 01, 2008 at 09:29:02AM -0800, Scott Chacon wrote:
Show 8 quoted lines
> this comes from conversation at the GitTogether where we thought it would
> be helpful to be able to teach people to 'stage' files because it tends
> to cause confusion when told that they have to keep 'add'ing them.
> 
> This continues the movement to start referring to the index as a
> staging area (eg: the --staged alias to 'git diff'). Also added a
> doc file for 'git stage' that basically points to the docs for
> 'git add'.

FWIW, I think this is a step in the right direction. Or at least if it's the wrong direction, I don't think we're actually _hurting_ anybody, since we're not changing existing commands.

Out of curiosity, have you had any experiences referring to this as "git stage" (maybe just by setting a per-user alias) with new users?

Show 6 quoted lines
> +SYNOPSIS
> +--------
> +[verse]
> +'git stage' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]
> +	  [--all | [--update | -u]] [--intent-to-add | -N]
> +	  [--refresh] [--ignore-errors] [--] <filepattern>...

It seems like this might get stale with respect to git-add(1). Since we're not hiding the fact that this is really an alias for "add", maybe it would be better to just have "git stage [options] [--] <filepattern>" (or maybe even something simpler).

-Peff
Junio C Hamano· Dec 2, 2008, 01:38 UTC · re: Scott Chacon · lore

Re: [PATCH] added a built-in alias for 'stage' to the 'add' command

Scott Chacon <schacon@gmail.com> writes:
> Subject: Re: [PATCH] added a built-in alias for 'stage' to the 'add' command
s/added/Add/;

Write your commit log message in present tense (recall David Brown's talk at GitTogether '08? ;-)

> this comes from conversation at the GitTogether where we thought it would
s/this/This/;
Show 9 quoted lines
> be helpful to be able to teach people to 'stage' files because it tends
> to cause confusion when told that they have to keep 'add'ing them.
>
> This continues the movement to start referring to the index as a
> staging area (eg: the --staged alias to 'git diff'). Also added a
> doc file for 'git stage' that basically points to the docs for
> 'git add'.
>
> Signed-off-by: Scott Chacon <schacon@gmail.com>

I think this is fine but I'd rather not risk the documentation getting stale over time, so...

Show 6 quoted lines
> +SYNOPSIS
> +--------
> +[verse]
> +'git stage' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]
> +	  [--all | [--update | -u]] [--intent-to-add | -N]
> +	  [--refresh] [--ignore-errors] [--] <filepattern>...
...I think this should read something like
	'git stage' args...

← back to recent threads