Show 103 quoted lines
> From: Harald Nordgren <haraldnordgren@gmail.com>
>
> Add a silent parameter to create_autostash_internal and introduce
> create_autostash_ref_silent so that callers can create an autostash
> without printing the "Created autostash" message.
>
> Signed-off-by: Harald Nordgren <haraldnordgren@gmail.com>
> ---
> builtin/merge.c | 6 ++++--
> sequencer.c | 17 +++++++++++------
> sequencer.h | 3 ++-
> 3 files changed, 17 insertions(+), 9 deletions(-)
>
> diff --git a/builtin/merge.c b/builtin/merge.c
> index 2cbce56f8d..3ebe190ef1 100644
> --- a/builtin/merge.c
> +++ b/builtin/merge.c
> @@ -1672,7 +1672,8 @@ int cmd_merge(int argc,
> }
>
> if (autostash)
> - create_autostash_ref(the_repository, "MERGE_AUTOSTASH");
> + create_autostash_ref(the_repository, "MERGE_AUTOSTASH",
> + NULL, false);
> if (checkout_fast_forward(the_repository,
> &head_commit->object.oid,
> &commit->object.oid,
> @@ -1764,7 +1765,8 @@ int cmd_merge(int argc,
> die_ff_impossible();
>
> if (autostash)
> - create_autostash_ref(the_repository, "MERGE_AUTOSTASH");
> + create_autostash_ref(the_repository, "MERGE_AUTOSTASH",
> + NULL, false);
>
> /* We are going to make a new commit. */
> git_committer_info(IDENT_STRICT);
> diff --git a/sequencer.c b/sequencer.c
> index b7d8dca47f..ff5258f481 100644
> --- a/sequencer.c
> +++ b/sequencer.c
> @@ -4657,7 +4657,9 @@ static enum todo_command peek_command(struct todo_list *todo_list, int offset)
>
> static void create_autostash_internal(struct repository *r,
> const char *path,
> - const char *refname)
> + const char *refname,
> + const char *message,
> + bool silent)
> {
> struct strbuf buf = STRBUF_INIT;
> struct lock_file lock_file = LOCK_INIT;
> @@ -4679,7 +4681,8 @@ static void create_autostash_internal(struct repository *r,
> struct object_id oid;
>
> strvec_pushl(&stash.args,
> - "stash", "create", "autostash", NULL);
> + "stash", "create",
> + message ? message : "autostash", NULL);
> stash.git_cmd = 1;
> stash.no_stdin = 1;
> strbuf_reset(&buf);
> @@ -4702,7 +4705,8 @@ static void create_autostash_internal(struct repository *r,
> &oid, null_oid(the_hash_algo), 0, UPDATE_REFS_DIE_ON_ERR);
> }
>
> - printf(_("Created autostash: %s\n"), buf.buf);
> + if (!silent)
> + printf(_("Created autostash: %s\n"), buf.buf);
> if (reset_head(r, &ropts) < 0)
> die(_("could not reset --hard"));
> discard_index(r->index);
> @@ -4714,12 +4718,13 @@ static void create_autostash_internal(struct repository *r,
>
> void create_autostash(struct repository *r, const char *path)
> {
> - create_autostash_internal(r, path, NULL);
> + create_autostash_internal(r, path, NULL, NULL, false);
> }
>
> -void create_autostash_ref(struct repository *r, const char *refname)
> +void create_autostash_ref(struct repository *r, const char *refname,
> + const char *message, bool silent)
> {
> - create_autostash_internal(r, NULL, refname);
> + create_autostash_internal(r, NULL, refname, message, silent);
> }
>
> static int apply_save_autostash_oid(const char *stash_oid, int attempt_apply)
> diff --git a/sequencer.h b/sequencer.h
> index a6fa670c7c..02d2d9db06 100644
> --- a/sequencer.h
> +++ b/sequencer.h
> @@ -229,7 +229,8 @@ void commit_post_rewrite(struct repository *r,
> const struct object_id *new_head);
>
> void create_autostash(struct repository *r, const char *path);
> -void create_autostash_ref(struct repository *r, const char *refname);
> +void create_autostash_ref(struct repository *r, const char *refname,
> + const char *message, bool silent);
> int save_autostash(const char *path);
> int save_autostash_ref(struct repository *r, const char *refname);
> int apply_autostash(const char *path);