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

[PATCH] format-patch: assume --cover-letter for diff in multi-patch series

From
Rubén Justo <rjusto@gmail.com>
Date
Jun 3, 2024, 22:49 UTC
Message-ID
<6269eed5-f1ff-43f3-9249-d6a0f1852a6c@gmail.com>

If either `--interdiff` or `--range-diff` is specified without `--cover-letter`, we'll abort if it would result in a multi-patch series being generated. Because the cover-letter is needed to give the diff text in a multi-patch series.

Considering that `format-patch` generates a multi-patch as needed, let's adopt a similar "cover as necessary" approach when using `--interdiff` or `--range-diff`.

Signed-off-by: Rubén Justo <rjusto@gmail.com>
---
 builtin/log.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/builtin/log.c b/builtin/log.c
index c8ce0c0d88..56101672f8 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -2286,8 +2286,10 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
 		rev.total = total + start_number - 1;
 
 	if (idiff_prev.nr) {
-		if (!cover_letter && total != 1)
-			die(_("--interdiff requires --cover-letter or single patch"));
+		if (!cover_letter && total != 1) {
+			warning(_("--interdiff implies --cover-letter for multi-patch series"));
+			cover_letter = 1;
+		}
 		rev.idiff_oid1 = &idiff_prev.oid[idiff_prev.nr - 1];
 		rev.idiff_oid2 = get_commit_tree_oid(list[0]);
 		rev.idiff_title = diff_title(&idiff_title, reroll_count,
@@ -2301,8 +2303,10 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
 		die(_("the option '%s' requires '%s'"), "--creation-factor", "--range-diff");
 
 	if (rdiff_prev) {
-		if (!cover_letter && total != 1)
-			die(_("--range-diff requires --cover-letter or single patch"));
+		if (!cover_letter && total != 1) {
+			warning(_("--range-diff implies --cover-letter for multi-patch series"));
+			cover_letter = 1;
+		}
 
 		infer_range_diff_ranges(&rdiff1, &rdiff2, rdiff_prev,
 					origin, list[0]);
-- 
2.45.2.405.gf8e6085128
Next: Patrick Steinhardt
Message 1 of 21 in “format-patch: assume --cover-letter for diff in multi-patch series”
  1. format-patch: assume --cover-letter for diff in multi-patch seriesRubén Justo, Jun 3, 2024
  2. Patrick SteinhardtJun 4, 2024
  3. Junio C HamanoJun 4, 2024
  4. Rubén JustoJun 5, 2024
  5. Junio C HamanoJun 5, 2024
  6. Junio C HamanoJun 5, 2024
  7. format-patch: assume --cover-letter for diff in multi-patch seriesRubén Justo, Jun 5, 2024
  8. Junio C HamanoJun 5, 2024
  9. Rubén JustoJun 5, 2024
  10. Junio C HamanoJun 5, 2024
  11. Rubén JustoJun 5, 2024
  12. 0/2 format-patch: assume --cover-letter for diff in multi-patch seriesRubén Justo, Jun 7, 2024
  13. 1/2 t4014: cleanups in a few testsRubén Justo, Jun 7, 2024
  14. Junio C HamanoJun 7, 2024
  15. Rubén JustoJun 7, 2024
  16. Junio C HamanoJun 7, 2024
  17. 2/2 format-patch: assume --cover-letter for diff in multi-patch seriesRubén Justo, Jun 7, 2024
  18. 0/2 format-patch: assume --cover-letter for diff in multi-patch seriesRubén Justo, Jun 7, 2024
  19. 1/2 t4014: cleanups in a few testsRubén Justo, Jun 7, 2024
  20. 2/2 format-patch: assume --cover-letter for diff in multi-patch seriesRubén Justo, Jun 7, 2024
  21. Junio C HamanoJun 7, 2024

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.