> Subject: stash: make push to be quiet

Nit: maybe "stash: make push -q quiet"?  I think the subject should at
least mention the -q option.

On 08/08, Paul-Sebastian Ungureanu wrote:
> There is a change in behaviour with this commit. When there was
> no initial commit, the shell version of stash would still display
> a message. This commit makes `push` to not display any message if
> `--quiet` or `-q` is specified.

Yeah, not being quiet here cna be considered a bug, so this change in
behaviour makes sense.

Should the "No changes selected" message in 'stash_patch' also be made
quiet?

> ---
>  builtin/stash--helper.c | 41 +++++++++++++++++++++++++++--------------
>  1 file changed, 27 insertions(+), 14 deletions(-)
> 
> diff --git a/builtin/stash--helper.c b/builtin/stash--helper.c
> index c26cad3d5..4fd79532c 100644
> --- a/builtin/stash--helper.c
> +++ b/builtin/stash--helper.c
> @@ -1079,7 +1079,7 @@ static int stash_working_tree(struct stash_info *info,
>  
>  static int do_create_stash(int argc, const char **argv, const char *prefix,
>                          const char **stash_msg, int include_untracked,
> -                        int patch_mode, struct stash_info *info)
> +                        int patch_mode, struct stash_info *info, int quiet)
>  {
>       int untracked_commit_option = 0;
>       int ret = 0;
> @@ -1105,7 +1105,8 @@ static int do_create_stash(int argc, const char **argv, 
> const char *prefix,
>       }
>  
>       if (get_oid("HEAD", &info->b_commit)) {
> -             fprintf_ln(stderr, "You do not have the initial commit yet");
> +             if (!quiet)
> +                     fprintf_ln(stderr, "You do not have the initial commit 
> yet");
>               ret = -1;
>               goto done;
>       } else {
> @@ -1127,7 +1128,8 @@ static int do_create_stash(int argc, const char **argv, 
> const char *prefix,
>       if (write_cache_as_tree(&info->i_tree, 0, NULL) ||
>           commit_tree(commit_tree_label.buf, commit_tree_label.len,
>                       &info->i_tree, parents, &info->i_commit, NULL, NULL)) {
> -             fprintf_ln(stderr, "Cannot save the current index state");
> +             if (!quiet)
> +                     fprintf_ln(stderr, "Cannot save the current index 
> state");
>               ret = -1;
>               goto done;
>       }
> @@ -1135,7 +1137,8 @@ static int do_create_stash(int argc, const char **argv, 
> const char *prefix,
>       if (include_untracked && get_untracked_files(argv, 1,
>                                                    include_untracked, &out)) {
>               if (save_untracked_files(info, &msg, &out)) {
> -                     printf_ln("Cannot save the untracked files");
> +                     if (!quiet)
> +                             printf_ln("Cannot save the untracked files");
>                       ret = -1;
>                       goto done;
>               }
> @@ -1144,14 +1147,16 @@ static int do_create_stash(int argc, const char 
> **argv, const char *prefix,
>       if (patch_mode) {
>               ret = stash_patch(info, argv);
>               if (ret < 0) {
> -                     printf_ln("Cannot save the current worktree state");
> +                     if (!quiet)
> +                             printf_ln("Cannot save the current worktree 
> state");
>                       goto done;
>               } else if (ret > 0) {
>                       goto done;
>               }
>       } else {
>               if (stash_working_tree(info, argv, prefix)) {
> -                     printf_ln("Cannot save the current worktree state");
> +                     if (!quiet)
> +                             printf_ln("Cannot save the current worktree 
> state");
>                       ret = -1;
>                       goto done;
>               }
> @@ -1176,7 +1181,8 @@ static int do_create_stash(int argc, const char **argv, 
> const char *prefix,
>  
>       if (commit_tree(*stash_msg, strlen(*stash_msg), &info->w_tree,
>                       parents, &info->w_commit, NULL, NULL)) {
> -             printf_ln("Cannot record working tree state");
> +             if (!quiet)
> +                     printf_ln("Cannot record working tree state");
>               ret = -1;
>               goto done;
>       }
> @@ -1208,7 +1214,7 @@ static int create_stash(int argc, const char **argv, 
> const char *prefix)
>                            0);
>  
>       ret = do_create_stash(argc, argv, prefix, &stash_msg,
> -                           include_untracked, 0, &info);
> +                           include_untracked, 0, &info, 0);
>  
>       if (!ret)
>               printf_ln("%s", oid_to_hex(&info.w_commit));
> @@ -1261,25 +1267,31 @@ static int do_push_stash(int argc, const char **argv, 
> const char *prefix,
>               return -1;
>  
>       if (!check_changes(argv, include_untracked, prefix)) {
> -             fprintf_ln(stdout, "No local changes to save");
> +             if (!quiet)
> +                     fprintf_ln(stdout, "No local changes to save");
>               return 0;
>       }
>  
>       if (!reflog_exists(ref_stash) && do_clear_stash()) {
> -             fprintf_ln(stderr, "Cannot initialize stash");
> +             if (!quiet)
> +                     fprintf_ln(stderr, "Cannot initialize stash");
>               return -1;
>       }
>  
>       if ((ret = do_create_stash(argc, argv, prefix, &stash_msg,
> -                                include_untracked, patch_mode, &info)))
> +                                include_untracked, patch_mode, &info,
> +                                quiet)))
>               return ret;
>  
>       if (do_store_stash(oid_to_hex(&info.w_commit), stash_msg, 1)) {
> -             fprintf(stderr, "Cannot save the current status");
> +             if (!quiet)
> +                     fprintf_ln(stderr, "Cannot save the current status");
>               return -1;
>       }
>  
> -     fprintf(stdout, "Saved working directory and index state %s", 
> stash_msg);
> +     if (!quiet)
> +             fprintf(stdout, "Saved working directory and index state %s",
> +                     stash_msg);
>  
>       if (!patch_mode) {
>               if (include_untracked && ps.nr == 0) {
> @@ -1367,7 +1379,8 @@ static int do_push_stash(int argc, const char **argv, 
> const char *prefix,
>               argv_array_pushl(&cp.args, "apply", "-R", NULL);
>  
>               if (pipe_command(&cp, patch.buf, patch.len, NULL, 0, NULL, 0)) {
> -                     fprintf_ln(stderr, "Cannot remove worktree changes");
> +                     if (!quiet)
> +                             fprintf_ln(stderr, "Cannot remove worktree 
> changes");
>                       return -1;
>               }
>  
> -- 
> 2.18.0.573.g56500d98f
> 

Reply via email to