Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> --- 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