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

[PATCH 11/20] diff-parseopt: convert --[src|dst]-prefix

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Mar 20, 2019, 11:46 UTC
Message-ID
<20190320114703.18659-12-pclouds@gmail.com>
In-Reply-To
<20190320114703.18659-1-pclouds@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 diff.c          | 14 ++++++--------
 parse-options.h |  3 ++-
 2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/diff.c b/diff.c
index 30baf21021..2d34dc878e 100644
--- a/diff.c
+++ b/diff.c
@@ -5255,6 +5255,12 @@ static void prep_parse_options(struct diff_options *options)
 			    N_("do not munge pathnames and use NULs as output field terminators in --raw or --numstat"),
 			    0),
 		OPT__ABBREV(&options->abbrev),
+		OPT_STRING_F(0, "src-prefix", &options->a_prefix, N_("<prefix>"),
+			     N_("show the given source prefix instead of \"a/\""),
+			     PARSE_OPT_NONEG),
+		OPT_STRING_F(0, "dst-prefix", &options->b_prefix, N_("<prefix>"),
+			     N_("show the given source prefix instead of \"b/\""),
+			     PARSE_OPT_NONEG),
 		OPT_CALLBACK_F(0, "output-indicator-new",
 			       &options->output_indicators[OUTPUT_INDICATOR_NEW],
 			       N_("<char>"),
@@ -5449,20 +5455,12 @@ int diff_opt_parse(struct diff_options *options,
 	}
 
 	/* misc options */
-	else if ((argcount = parse_long_opt("src-prefix", av, &optarg))) {
-		options->a_prefix = optarg;
-		return argcount;
-	}
 	else if ((argcount = parse_long_opt("line-prefix", av, &optarg))) {
 		options->line_prefix = optarg;
 		options->line_prefix_length = strlen(options->line_prefix);
 		graph_setup_line_prefix(options);
 		return argcount;
 	}
-	else if ((argcount = parse_long_opt("dst-prefix", av, &optarg))) {
-		options->b_prefix = optarg;
-		return argcount;
-	}
 	else if (!strcmp(arg, "--no-prefix"))
 		options->a_prefix = options->b_prefix = "";
 	else if (opt_arg(arg, '\0', "inter-hunk-context",
diff --git a/parse-options.h b/parse-options.h
index 7d83e2971d..c95cbe26f0 100644
--- a/parse-options.h
+++ b/parse-options.h
@@ -136,6 +136,7 @@ struct option {
 #define OPT_BOOL_F(s, l, v, h, f)   OPT_SET_INT_F(s, l, v, h, 1, f)
 #define OPT_CALLBACK_F(s, l, v, a, h, f, cb)			\
 	{ OPTION_CALLBACK, (s), (l), (v), (a), (h), (f), (cb) }
+#define OPT_STRING_F(s, l, v, a, h, f)   { OPTION_STRING,  (s), (l), (v), (a), (h), (f) }
 
 #define OPT_END()                   { OPTION_END }
 #define OPT_ARGUMENT(l, h)          { OPTION_ARGUMENT, 0, (l), NULL, NULL, \
@@ -157,7 +158,7 @@ struct option {
 #define OPT_INTEGER(s, l, v, h)     { OPTION_INTEGER, (s), (l), (v), N_("n"), (h) }
 #define OPT_MAGNITUDE(s, l, v, h)   { OPTION_MAGNITUDE, (s), (l), (v), \
 				      N_("n"), (h), PARSE_OPT_NONEG }
-#define OPT_STRING(s, l, v, a, h)   { OPTION_STRING,  (s), (l), (v), (a), (h) }
+#define OPT_STRING(s, l, v, a, h)   OPT_STRING_F(s, l, v, a, h, 0)
 #define OPT_STRING_LIST(s, l, v, a, h) \
 				    { OPTION_CALLBACK, (s), (l), (v), (a), \
 				      (h), 0, &parse_opt_string_list }
-- 
2.21.0.548.gd3c7d92dc2
Previous: Duy NguyenNext: Nguyễn Thái Ngọc Duy
Message 16 of 52 in “nd/diff-parseopt the last part”
  1. 00/20 nd/diff-parseopt the last partNguyễn Thái Ngọc Duy, Mar 20, 2019
  2. 01/20 diff-parseopt: convert --ws-error-highlightNguyễn Thái Ngọc Duy, Mar 20, 2019
  3. Martin ÅgrenMar 20, 2019
  4. 02/20 diff-parseopt: convert --ita-[in]visible-in-indexNguyễn Thái Ngọc Duy, Mar 20, 2019
  5. 03/20 diff-parseopt: convert -zNguyễn Thái Ngọc Duy, Mar 20, 2019
  6. 04/20 diff-parseopt: convert -lNguyễn Thái Ngọc Duy, Mar 20, 2019
  7. 05/20 diff-parseopt: convert -S|-GNguyễn Thái Ngọc Duy, Mar 20, 2019
  8. 06/20 diff-parseopt: convert --pickaxe-all|--pickaxe-regexNguyễn Thái Ngọc Duy, Mar 20, 2019
  9. 07/20 diff-parseopt: convert -ONguyễn Thái Ngọc Duy, Mar 20, 2019
  10. Martin ÅgrenMar 20, 2019
  11. 08/20 diff-parseopt: convert --find-objectNguyễn Thái Ngọc Duy, Mar 20, 2019
  12. 09/20 diff-parseopt: convert --diff-filterNguyễn Thái Ngọc Duy, Mar 20, 2019
  13. 10/20 diff-parseopt: convert --[no-]abbrevNguyễn Thái Ngọc Duy, Mar 20, 2019
  14. Ævar Arnfjörð BjarmasonMar 20, 2019
  15. Duy NguyenMar 21, 2019
  16. 11/20 diff-parseopt: convert --[src|dst]-prefixNguyễn Thái Ngọc Duy, Mar 20, 2019
  17. 12/20 diff-parseopt: convert --line-prefixNguyễn Thái Ngọc Duy, Mar 20, 2019
  18. 13/20 diff-parseopt: convert --no-prefixNguyễn Thái Ngọc Duy, Mar 20, 2019
  19. Martin ÅgrenMar 20, 2019
  20. 14/20 diff-parseopt: convert --inter-hunk-contextNguyễn Thái Ngọc Duy, Mar 20, 2019
  21. 15/20 diff-parseopt: convert --[no-]color-movedNguyễn Thái Ngọc Duy, Mar 20, 2019
  22. 16/20 diff-parseopt: convert --color-moved-wsNguyễn Thái Ngọc Duy, Mar 20, 2019
  23. 17/20 diff.c: allow --no-color-moved-wsNguyễn Thái Ngọc Duy, Mar 20, 2019
  24. 18/20 range-diff: use parse_options() instead of diff_opt_parse()Nguyễn Thái Ngọc Duy, Mar 20, 2019
  25. 19/20 diff --no-index: use parse_options() instead of diff_opt_parse()Nguyễn Thái Ngọc Duy, Mar 20, 2019
  26. 20/20 am: avoid diff_opt_parse()Nguyễn Thái Ngọc Duy, Mar 20, 2019
  27. 00/20 nd/diff-parseopt the last partNguyễn Thái Ngọc Duy, Mar 24, 2019
  28. 01/20 diff-parseopt: convert --ws-error-highlightNguyễn Thái Ngọc Duy, Mar 24, 2019
  29. 02/20 diff-parseopt: convert --ita-[in]visible-in-indexNguyễn Thái Ngọc Duy, Mar 24, 2019
  30. 03/20 diff-parseopt: convert -zNguyễn Thái Ngọc Duy, Mar 24, 2019
  31. 04/20 diff-parseopt: convert -lNguyễn Thái Ngọc Duy, Mar 24, 2019
  32. 05/20 diff-parseopt: convert -S|-GNguyễn Thái Ngọc Duy, Mar 24, 2019
  33. 06/20 diff-parseopt: convert --pickaxe-all|--pickaxe-regexNguyễn Thái Ngọc Duy, Mar 24, 2019
  34. 07/20 diff-parseopt: convert -ONguyễn Thái Ngọc Duy, Mar 24, 2019
  35. 08/20 diff-parseopt: convert --find-objectNguyễn Thái Ngọc Duy, Mar 24, 2019
  36. 09/20 diff-parseopt: convert --diff-filterNguyễn Thái Ngọc Duy, Mar 24, 2019
  37. 10/20 diff-parseopt: convert --[no-]abbrevNguyễn Thái Ngọc Duy, Mar 24, 2019
  38. 11/20 diff-parseopt: convert --[src|dst]-prefixNguyễn Thái Ngọc Duy, Mar 24, 2019
  39. 12/20 diff-parseopt: convert --line-prefixNguyễn Thái Ngọc Duy, Mar 24, 2019
  40. 13/20 diff-parseopt: convert --no-prefixNguyễn Thái Ngọc Duy, Mar 24, 2019
  41. 14/20 diff-parseopt: convert --inter-hunk-contextNguyễn Thái Ngọc Duy, Mar 24, 2019
  42. 15/20 diff-parseopt: convert --[no-]color-movedNguyễn Thái Ngọc Duy, Mar 24, 2019
  43. 16/20 diff-parseopt: convert --color-moved-wsNguyễn Thái Ngọc Duy, Mar 24, 2019
  44. 17/20 diff.c: allow --no-color-moved-wsNguyễn Thái Ngọc Duy, Mar 24, 2019
  45. 18/20 range-diff: use parse_options() instead of diff_opt_parse()Nguyễn Thái Ngọc Duy, Mar 24, 2019
  46. 19/20 diff --no-index: use parse_options() instead of diff_opt_parse()Nguyễn Thái Ngọc Duy, Mar 24, 2019
  47. Johannes SchindelinApr 30, 2019
  48. Duy NguyenApr 30, 2019
  49. Johannes SchindelinApr 30, 2019
  50. Duy NguyenMay 1, 2019
  51. Jeff KingMay 1, 2019
  52. 20/20 am: avoid diff_opt_parse()Nguyễn Thái Ngọc Duy, Mar 24, 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.