summaryrefslogtreecommitdiff
path: root/Documentation/technical
diff options
context:
space:
mode:
authorPaul Tan <pyokagan@gmail.com>2015-06-14 08:41:48 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-06-15 19:40:49 (GMT)
commit6b3ee18dc5c620d7cb4324e009339b5ca9ac488c (patch)
treef98ba0b5219f058d7f32514529568dec670c1934 /Documentation/technical
parent7974889a053574e449b55ca543a486e38e74864f (diff)
downloadgit-6b3ee18dc5c620d7cb4324e009339b5ca9ac488c.zip
git-6b3ee18dc5c620d7cb4324e009339b5ca9ac488c.tar.gz
git-6b3ee18dc5c620d7cb4324e009339b5ca9ac488c.tar.bz2
parse-options-cb: implement parse_opt_passthru()
Certain git commands, such as git-pull, are simply wrappers around other git commands like git-fetch, git-merge and git-rebase. As such, these wrapper commands will typically need to "pass through" command-line options of the commands they wrap. Implement the parse_opt_passthru() parse-options callback, which will reconstruct the command-line option into an char* string, such that it can be passed to another git command. Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de> Helped-by: Junio C Hamano <gitster@pobox.com> Helped-by: Stefan Beller <sbeller@google.com> Signed-off-by: Paul Tan <pyokagan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/technical')
-rw-r--r--Documentation/technical/api-parse-options.txt7
1 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/technical/api-parse-options.txt b/Documentation/technical/api-parse-options.txt
index 1f2db31..85d10ab 100644
--- a/Documentation/technical/api-parse-options.txt
+++ b/Documentation/technical/api-parse-options.txt
@@ -212,6 +212,13 @@ There are some macros to easily define options:
Use it to hide deprecated options that are still to be recognized
and ignored silently.
+`OPT_PASSTHRU(short, long, &char_var, arg_str, description, flags)`::
+ Introduce an option that will be reconstructed into a char* string,
+ which must be initialized to NULL. This is useful when you need to
+ pass the command-line option to another command. Any previous value
+ will be overwritten, so this should only be used for options where
+ the last one specified on the command line wins.
+
The last element of the array must be `OPT_END()`.