After the last patch, "git status" now suggests

- add                  to stage some changes
- restore [--worktree] to undo worktree changes
- restore --staged     to undo index changes
- rm --cached          to remove files from the index

This change is to make the suggestions for more consistent by using
--staged across all suggested commands instead of the
still-a-bit-hard-to-understand --cached.

PS. Should we suggest "git stage" instead of "git add"? Maybe that's
going too far?

Signed-off-by: Nguyễn Thái Ngọc Duy <pclo...@gmail.com>
---
 Documentation/git-rm.txt | 7 ++++---
 builtin/rm.c             | 7 ++++---
 t/t3600-rm.sh            | 6 +++---
 t/t7508-status.sh        | 2 +-
 wt-status.c              | 4 ++--
 5 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/Documentation/git-rm.txt b/Documentation/git-rm.txt
index b5c46223c4..4271fc5eaa 100644
--- a/Documentation/git-rm.txt
+++ b/Documentation/git-rm.txt
@@ -8,7 +8,7 @@ git-rm - Remove files from the working tree and from the index
 SYNOPSIS
 --------
 [verse]
-'git rm' [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] 
<file>...
+'git rm' [-f | --force] [-n] [-r] [--staged] [--ignore-unmatch] [--quiet] [--] 
<file>...
 
 DESCRIPTION
 -----------
@@ -55,10 +55,11 @@ OPTIONS
        the list of files, (useful when filenames might be mistaken
        for command-line options).
 
+--staged::
 --cached::
        Use this option to unstage and remove paths only from the index.
-       Working tree files, whether modified or not, will be
-       left alone.
+       Working tree files, whether modified or not, will be left
+       alone. `--cached` is synonym for `--staged`.
 
 --ignore-unmatch::
        Exit with a zero status even if no files matched.
diff --git a/builtin/rm.c b/builtin/rm.c
index db85b33982..47c8eb100b 100644
--- a/builtin/rm.c
+++ b/builtin/rm.c
@@ -217,7 +217,7 @@ static int check_local_mod(struct object_id *head, int 
index_only)
                             "staged in the index:",
                             "the following files have changes "
                             "staged in the index:", files_cached.nr),
-                         _("\n(use --cached to keep the file,"
+                         _("\n(use --staged to keep the file,"
                            " or -f to force removal)"),
                          &errs);
        string_list_clear(&files_cached, 0);
@@ -226,7 +226,7 @@ static int check_local_mod(struct object_id *head, int 
index_only)
                          Q_("the following file has local modifications:",
                             "the following files have local modifications:",
                             files_local.nr),
-                         _("\n(use --cached to keep the file,"
+                         _("\n(use --staged to keep the file,"
                            " or -f to force removal)"),
                          &errs);
        string_list_clear(&files_local, 0);
@@ -240,7 +240,8 @@ static int ignore_unmatch = 0;
 static struct option builtin_rm_options[] = {
        OPT__DRY_RUN(&show_only, N_("dry run")),
        OPT__QUIET(&quiet, N_("do not list removed files")),
-       OPT_BOOL( 0 , "cached",         &index_only, N_("only remove from the 
index")),
+       OPT_BOOL( 0 , "staged",         &index_only, N_("only remove from the 
index")),
+       OPT_BOOL( 0 , "cached",         &index_only, N_("synonym for 
--staged")),
        OPT__FORCE(&force, N_("override the up-to-date check"), 
PARSE_OPT_NOCOMPLETE),
        OPT_BOOL('r', NULL,             &recursive,  N_("allow recursive 
removal")),
        OPT_BOOL( 0 , "ignore-unmatch", &ignore_unmatch,
diff --git a/t/t3600-rm.sh b/t/t3600-rm.sh
index 04e5d42bd3..5686032b8c 100755
--- a/t/t3600-rm.sh
+++ b/t/t3600-rm.sh
@@ -797,7 +797,7 @@ test_expect_success 'rm file with local modification' '
        cat >expect <<-\EOF &&
        error: the following file has local modifications:
            foo.txt
-       (use --cached to keep the file, or -f to force removal)
+       (use --staged to keep the file, or -f to force removal)
        EOF
        git commit -m "testing rm 3" &&
        echo content3 >foo.txt &&
@@ -819,7 +819,7 @@ test_expect_success 'rm file with changes in the index' '
        cat >expect <<-\EOF &&
        error: the following file has changes staged in the index:
            foo.txt
-       (use --cached to keep the file, or -f to force removal)
+       (use --staged to keep the file, or -f to force removal)
        EOF
        git reset --hard &&
        echo content5 >foo.txt &&
@@ -845,7 +845,7 @@ test_expect_success 'rm files with two different errors' '
        (use -f to force removal)
        error: the following file has changes staged in the index:
            bar1.txt
-       (use --cached to keep the file, or -f to force removal)
+       (use --staged to keep the file, or -f to force removal)
        EOF
        echo content >foo1.txt &&
        git add foo1.txt &&
diff --git a/t/t7508-status.sh b/t/t7508-status.sh
index 681bc314b4..738f3df2f9 100755
--- a/t/t7508-status.sh
+++ b/t/t7508-status.sh
@@ -71,7 +71,7 @@ test_expect_success 'setup' '
 '
 
 test_expect_success 'status (1)' '
-       test_i18ngrep "use \"git rm --cached <file>\.\.\.\" to unstage" output
+       test_i18ngrep "use \"git rm --staged <file>\.\.\.\" to unstage" output
 '
 
 strip_comments () {
diff --git a/wt-status.c b/wt-status.c
index 19fd1add75..4d065ce89e 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -187,7 +187,7 @@ static void wt_longstatus_print_unmerged_header(struct 
wt_status *s)
                                         _("  (use \"git restore --source=%s 
--staged <file>...\" to unstage)"),
                                         s->reference);
        } else
-               status_printf_ln(s, c, _("  (use \"git rm --cached <file>...\" 
to unstage)"));
+               status_printf_ln(s, c, _("  (use \"git rm --staged <file>...\" 
to unstage)"));
 
        if (!both_deleted) {
                if (!del_mod_conflict)
@@ -220,7 +220,7 @@ static void wt_longstatus_print_cached_header(struct 
wt_status *s)
                                         _("  (use \"git restore --source=%s 
--staged <file>...\" to unstage)"),
                                         s->reference);
        } else
-               status_printf_ln(s, c, _("  (use \"git rm --cached <file>...\" 
to unstage)"));
+               status_printf_ln(s, c, _("  (use \"git rm --staged <file>...\" 
to unstage)"));
        status_printf_ln(s, c, "%s", "");
 }
 
-- 
2.21.0.682.g30d2204636

Reply via email to