git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 3/4] sequencer: return errors from sequencer_remove_state()

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
May 14, 2019, 18:03 UTC
Message-ID
<20190514180349.17245-4-phillip.wood123@gmail.com>
In-Reply-To
<20190514180349.17245-1-phillip.wood123@gmail.com>
From: Phillip Wood <phillip.wood@dunelm.org.uk>

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>
---
 sequencer.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/sequencer.c b/sequencer.c
index 610b7ece14..258e583156 100644
--- a/sequencer.c
+++ b/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)
 {
 	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)
-- 
2.21.0
Previous: Phillip Wood
Message 15 of 15 in “rebase --abort: cleanup refs/rewritten”
  1. rebase --abort: cleanup refs/rewrittenPhillip Wood, Apr 26, 2019
  2. Johannes SchindelinApr 29, 2019
  3. Phillip WoodApr 30, 2019
  4. Johannes SchindelinApr 30, 2019
  5. Phillip WoodMay 1, 2019
  6. Johannes SchindelinMay 3, 2019
  7. Phillip WoodMay 3, 2019
  8. SZEDER GáborMay 7, 2019
  9. Junio C HamanoMay 7, 2019
  10. Phillip WoodMay 7, 2019
  11. 0/4 rebase --abort/--quit: cleanup refs/rewrittenPhillip Wood, May 14, 2019
  12. 1/4 rebase: fix a memory leakPhillip Wood, May 14, 2019
  13. 2/4 rebase: warn if state directory cannot be removedPhillip Wood, May 14, 2019
  14. 4/4 rebase --abort/--quit: cleanup refs/rewrittenPhillip Wood, May 14, 2019
  15. 3/4 sequencer: return errors from sequencer_remove_state()Phillip Wood, May 14, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.