sequencer: allow create_autostash to run silently

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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
next
Harald Nordgren 2026-04-12 11:51:43 +00:00 committed by Junio C Hamano
parent 09a43fe49f
commit 4a6a1581fe
2 changed files with 12 additions and 4 deletions

View File

@ -4657,7 +4657,8 @@ 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,
bool silent)
{
struct strbuf buf = STRBUF_INIT;
struct lock_file lock_file = LOCK_INIT;
@ -4702,7 +4703,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 +4716,17 @@ 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, false);
}

void create_autostash_ref(struct repository *r, const char *refname)
{
create_autostash_internal(r, NULL, refname);
create_autostash_internal(r, NULL, refname, false);
}

void create_autostash_ref_silent(struct repository *r, const char *refname)
{
create_autostash_internal(r, NULL, refname, true);
}

static int apply_save_autostash_oid(const char *stash_oid, int attempt_apply)

View File

@ -230,6 +230,7 @@ void commit_post_rewrite(struct repository *r,

void create_autostash(struct repository *r, const char *path);
void create_autostash_ref(struct repository *r, const char *refname);
void create_autostash_ref_silent(struct repository *r, const char *refname);
int save_autostash(const char *path);
int save_autostash_ref(struct repository *r, const char *refname);
int apply_autostash(const char *path);