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

Re: [PATCH 17/18] revert: Introduce --continue to continue the operation

From
Christian Couder <chriscool@tuxfamily.org>
Date
Jul 31, 2011, 15:51 UTC
Message-ID
<201107311751.52965.chriscool@tuxfamily.org>
In-Reply-To
<1311871951-3497-18-git-send-email-artagnon@gmail.com>
On Thursday 28 July 2011 18:52:30 Ramkumar Ramachandra wrote:
Show 13 quoted lines
> +static void read_populate_todo(struct commit_list **todo_list,
> +			struct replay_opts *opts)
> +{
> +	const char *todo_file = git_path(SEQ_TODO_FILE);
> +	struct strbuf buf = STRBUF_INIT;
> +	struct commit_list **next;
> +	struct commit *commit;
> +	char *p;
> +	int fd;
> +
> +	fd = open(todo_file, O_RDONLY);
> +	if (fd < 0) {
> +		strbuf_release(&buf);
We don't need to release buf here.
> +		die_errno(_("Could not open %s."), todo_file);
> +	}
> +	if (strbuf_read(&buf, fd, 0) < buf.len) {

The other places in the code are using "strbuf_read(...) < 0" to detect an error.

Show 8 quoted lines
> +		close(fd);
> +		strbuf_release(&buf);
> +		die(_("Could not read %s."), todo_file);
> +	}
> +	close(fd);
> +
> +	next = todo_list;
> +	for (p = buf.buf; *p; p = strchr(p, '\n') + 1) {
This relies on a "\n" at the end of the last line...
Show 13 quoted lines
> +		commit = parse_insn_line(p, opts);
> +		if (!commit)
> +			goto error;
> +		next = commit_list_append(commit, next);
> +	}
> +	if (!*todo_list)
> +		goto error;
> +	strbuf_release(&buf);
> +	return;
> +error:
> +	strbuf_release(&buf);
> +	die(_("Unusable instruction sheet: %s"), todo_file);
> +}

Thanks, Christian.

Previous: Ramkumar RamachandraNext: Ramkumar Ramachandra
Message 30 of 36 in “Sequencer for inclusion v4”
  1. 00/18 Sequencer for inclusion v4Ramkumar Ramachandra, Jul 28, 2011
  2. 01/18 advice: Introduce error_resolve_conflictRamkumar Ramachandra, Jul 28, 2011
  3. 02/18 config: Introduce functions to write non-standard fileRamkumar Ramachandra, Jul 28, 2011
  4. Jonathan NiederJul 28, 2011
  5. Ramkumar RamachandraJul 28, 2011
  6. 03/18 revert: Simplify and inline add_message_to_msgRamkumar Ramachandra, Jul 28, 2011
  7. 04/18 revert: Don't check lone argument in get_encodingRamkumar Ramachandra, Jul 28, 2011
  8. 05/18 revert: Rename no_replay to record_originRamkumar Ramachandra, Jul 28, 2011
  9. 06/18 revert: Eliminate global "commit" variableRamkumar Ramachandra, Jul 28, 2011
  10. 07/18 revert: Introduce struct to keep command-line optionsRamkumar Ramachandra, Jul 28, 2011
  11. 08/18 revert: Separate cmdline parsing from functional codeRamkumar Ramachandra, Jul 28, 2011
  12. 09/18 revert: Don't create invalid replay_opts in parse_argsRamkumar Ramachandra, Jul 28, 2011
  13. 10/18 revert: Save data for continuing after conflict resolutionRamkumar Ramachandra, Jul 28, 2011
  14. Jonathan NiederJul 28, 2011
  15. Ramkumar RamachandraJul 28, 2011
  16. 11/18 revert: Save command-line options for continuing operationRamkumar Ramachandra, Jul 28, 2011
  17. Christian CouderJul 31, 2011
  18. Ramkumar RamachandraAug 1, 2011
  19. 12/18 revert: Make pick_commits functionally act on a commit listRamkumar Ramachandra, Jul 28, 2011
  20. Christian CouderJul 31, 2011
  21. Christian CouderJul 31, 2011
  22. Ramkumar RamachandraAug 1, 2011
  23. 13/18 revert: Introduce --reset to remove sequencer stateRamkumar Ramachandra, Jul 28, 2011
  24. Christian CouderJul 31, 2011
  25. Ramkumar RamachandraAug 1, 2011
  26. 14/18 reset: Make reset remove the sequencer stateRamkumar Ramachandra, Jul 28, 2011
  27. 15/18 revert: Remove sequencer state when no commits are pendingRamkumar Ramachandra, Jul 28, 2011
  28. 16/18 revert: Don't implictly stomp pending sequencer operationRamkumar Ramachandra, Jul 28, 2011
  29. 17/18 revert: Introduce --continue to continue the operationRamkumar Ramachandra, Jul 28, 2011
  30. Christian CouderJul 31, 2011
  31. Ramkumar RamachandraAug 1, 2011
  32. Jonathan NiederAug 3, 2011
  33. Junio C HamanoAug 3, 2011
  34. Ramkumar RamachandraAug 3, 2011
  35. 18/18 revert: Propogate errors upwards from do_pick_commitRamkumar Ramachandra, Jul 28, 2011
  36. Ramkumar RamachandraJul 28, 2011

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.