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:
Phillip Wood 2019-05-14 19:03:48 +01:00 коммит произвёл Junio C Hamano
Родитель d3fce47d2d
Коммит 37e9ee5cb9
1 изменённых файлов: 7 добавлений и 4 удалений

Просмотреть файл

@ -274,7 +274,7 @@ static const char *gpg_sign_opt_quoted(struct replay_opts *opts)
int sequencer_remove_state(struct replay_opts *opts)
{
struct strbuf buf = STRBUF_INIT;
int i;
int i, ret = 0;
if (is_rebase_i(opts) &&
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');
if (eol)
*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);
ret = -1;
}
if (!eol)
break;
p = eol + 1;
@ -300,10 +302,11 @@ int sequencer_remove_state(struct replay_opts *opts)
strbuf_reset(&buf);
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);
return 0;
return ret;
}
static const char *action_name(const struct replay_opts *opts)