sequencer: return errors from sequencer_remove_state()
If there is an error when removing the state directory then we should report it. This matches what the non-interactive rebase does. Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
d3fce47d2d
commit
37e9ee5cb9
11
sequencer.c
11
sequencer.c
@ -274,7 +274,7 @@ static const char *gpg_sign_opt_quoted(struct replay_opts *opts)
|
|||||||
int sequencer_remove_state(struct replay_opts *opts)
|
int sequencer_remove_state(struct replay_opts *opts)
|
||||||
{
|
{
|
||||||
struct strbuf buf = STRBUF_INIT;
|
struct strbuf buf = STRBUF_INIT;
|
||||||
int i;
|
int i, ret = 0;
|
||||||
|
|
||||||
if (is_rebase_i(opts) &&
|
if (is_rebase_i(opts) &&
|
||||||
strbuf_read_file(&buf, rebase_path_refs_to_delete(), 0) > 0) {
|
strbuf_read_file(&buf, rebase_path_refs_to_delete(), 0) > 0) {
|
||||||
@ -283,8 +283,10 @@ int sequencer_remove_state(struct replay_opts *opts)
|
|||||||
char *eol = strchr(p, '\n');
|
char *eol = strchr(p, '\n');
|
||||||
if (eol)
|
if (eol)
|
||||||
*eol = '\0';
|
*eol = '\0';
|
||||||
if (delete_ref("(rebase -i) cleanup", p, NULL, 0) < 0)
|
if (delete_ref("(rebase -i) cleanup", p, NULL, 0) < 0) {
|
||||||
warning(_("could not delete '%s'"), p);
|
warning(_("could not delete '%s'"), p);
|
||||||
|
ret = -1;
|
||||||
|
}
|
||||||
if (!eol)
|
if (!eol)
|
||||||
break;
|
break;
|
||||||
p = eol + 1;
|
p = eol + 1;
|
||||||
@ -300,10 +302,11 @@ int sequencer_remove_state(struct replay_opts *opts)
|
|||||||
|
|
||||||
strbuf_reset(&buf);
|
strbuf_reset(&buf);
|
||||||
strbuf_addstr(&buf, get_dir(opts));
|
strbuf_addstr(&buf, get_dir(opts));
|
||||||
remove_dir_recursively(&buf, 0);
|
if (remove_dir_recursively(&buf, 0))
|
||||||
|
ret = error(_("could not remove '%s'"), buf.buf);
|
||||||
strbuf_release(&buf);
|
strbuf_release(&buf);
|
||||||
|
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *action_name(const struct replay_opts *opts)
|
static const char *action_name(const struct replay_opts *opts)
|
||||||
|
Loading…
Reference in New Issue
Block a user