From: Phillip Wood Date: Tue, 28 Apr 2026 09:32:27 GMT Subject: Re: [PATCH v15 2/5] sequencer: allow create_autostash to run silently Message-ID: In-Reply-To: <89e0bfa80326d20d11355ed2e73de0907e5c9e41.1777065012.git.gitgitgadget@gmail.com> Hi Harald This looks good Thanks Phillip On 24/04/2026 22:10, Harald Nordgren via GitGitGadget wrote: > From: Harald Nordgren > > 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 > --- > 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);