[PATCH 3/7] stage: add 'add' subcommand
From: Felipe Contreras <hidden>
Date: 2021-08-11 04:57:39
Subsystem:
documentation, the rest · Maintainers:
Jonathan Corbet, Linus Torvalds
Signed-off-by: Felipe Contreras <redacted> --- Documentation/git-stage.txt | 15 ++++++++++++--- builtin/stage.c | 4 ++++ contrib/completion/git-completion.bash | 5 +++++ t/t3710-stage.sh | 6 ++++++ 4 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/Documentation/git-stage.txt b/Documentation/git-stage.txt
index 3f7b036901..348d7d1d92 100644
--- a/Documentation/git-stage.txt
+++ b/Documentation/git-stage.txt@@ -3,21 +3,30 @@ git-stage(1) NAME ---- -git-stage - Add file contents to the staging area +git-stage - Manage the staging area SYNOPSIS -------- [verse] 'git stage' [options] [--] [<paths>...] +'git stage' (-a | --add) [options] [--] [<paths>...] DESCRIPTION ----------- -The staging area is a location where changes are stored in preparation for a commit. +This command is useful to manage the staging area which is a location where +changes are stored in preparation for a commit. + +Without arguments it's a synonym for linkgit:git-add[1]. + +OPTIONS +------- +-a:: +--add:: + Add changes to the staging area. See linkgit:git-add[1]. -This is a synonym for linkgit:git-add[1]. SEE ALSO --------
diff --git a/builtin/stage.c b/builtin/stage.c
index 49016b0d5f..5a80bbc76c 100644
--- a/builtin/stage.c
+++ b/builtin/stage.c@@ -8,6 +8,7 @@ static const char *const stage_usage[] = { N_("git stage [options] [--] <paths>..."), + N_("git stage --add [options] [--] <paths>..."), NULL };
@@ -34,7 +35,10 @@ static int rerun(int argc, const char **argv, ...) int cmd_stage(int argc, const char **argv, const char *prefix) { + int add = 0; + struct option options[] = { + OPT_BOOL_F('a', "add", &add, N_("add changes"), PARSE_OPT_NONEG), OPT_END() };
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index b50c5d0ea3..8656c47f39 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash@@ -2376,6 +2376,11 @@ _git_send_email () _git_stage () { + if [[ "$cur" == --* ]]; then + __gitcomp_builtin stage + return + fi + _git_add }
diff --git a/t/t3710-stage.sh b/t/t3710-stage.sh
index 2bf59905ca..225c6dd739 100755
--- a/t/t3710-stage.sh
+++ b/t/t3710-stage.sh@@ -17,4 +17,10 @@ test_expect_success 'basic' ' in_stage foo ' +test_expect_success 'add' ' + touch bar && + git stage --add bar && + in_stage bar +' + test_done
--
2.32.0.48.g096519100f