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

[PATCH 1/3] clone: use OPT_STRING_LIST for --reference

From
Jeff King <peff@peff.net>
Date
May 21, 2015, 04:15 UTC
Message-ID
<20150521041519.GA5196@peff.net>
In-Reply-To
<20150521041435.GA18978@peff.net>

Not only does this save us having to implement a custom callback, but it handles "--no-reference" in the usual way (to clear the list).

The generic callback does copy the string, which we don't technically need, but that should not hurt anything.

Signed-off-by: Jeff King <peff@peff.net>
---
 builtin/clone.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/builtin/clone.c b/builtin/clone.c
index 166a645..1426ef5 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -51,15 +51,6 @@ static struct string_list option_config;
 static struct string_list option_reference;
 static int option_dissociate;
 
-static int opt_parse_reference(const struct option *opt, const char *arg, int unset)
-{
-	struct string_list *option_reference = opt->value;
-	if (!arg)
-		return -1;
-	string_list_append(option_reference, arg);
-	return 0;
-}
-
 static struct option builtin_clone_options[] = {
 	OPT__VERBOSITY(&option_verbosity),
 	OPT_BOOL(0, "progress", &option_progress,
@@ -83,8 +74,8 @@ static struct option builtin_clone_options[] = {
 		    N_("initialize submodules in the clone")),
 	OPT_STRING(0, "template", &option_template, N_("template-directory"),
 		   N_("directory from which templates will be used")),
-	OPT_CALLBACK(0 , "reference", &option_reference, N_("repo"),
-		     N_("reference repository"), &opt_parse_reference),
+	OPT_STRING_LIST(0, "reference", &option_reference, N_("repo"),
+			N_("reference repository")),
 	OPT_STRING('o', "origin", &option_origin, N_("name"),
 		   N_("use <name> instead of 'origin' to track upstream")),
 	OPT_STRING('b', "branch", &option_branch, N_("branch"),
-- 
2.4.1.528.g00591e3
Previous: Jeff KingNext: Jeff King
Message 2 of 16 in “--seed as an alias for --dissociate --reference”
  1. 0/3 --seed as an alias for --dissociate --referenceJeff King, May 21, 2015
  2. 1/3 clone: use OPT_STRING_LIST for --referenceJeff King, May 21, 2015
  3. 2/3 clone: reorder --dissociate and --reference optionsJeff King, May 21, 2015
  4. 3/3 clone: add `--seed` shorthandJeff King, May 21, 2015
  5. Johannes SchindelinMay 21, 2015
  6. Philip OakleyMay 21, 2015
  7. Johannes SchindelinMay 22, 2015
  8. Jeff KingMay 22, 2015
  9. Junio C HamanoMay 24, 2015
  10. Jeff KingMay 27, 2015
  11. Junio C HamanoMay 27, 2015
  12. Jeff KingMay 22, 2015
  13. Junio C HamanoMay 21, 2015
  14. Jeff KingMay 21, 2015
  15. Junio C HamanoMay 21, 2015
  16. Michael HaggertyMay 24, 2015

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.