commit-tree: utilize parse-options api
Rather than parse options manually, which is both difficult to read and error prone, parse options supplied to commit-tree using the parse-options api. It was discovered that the --no-gpg-sign option was documented but not implemented in commit70ddbd7767
(commit-tree: add missing --gpg-sign flag, 2019-01-19), and the existing implementation would attempt to translate the option as a tree oid. It was also suggested earlier in commit55ca3f99ae
(commit-tree: add and document --no-gpg-sign, 2013-12-13) that commit-tree should be migrated to utilize the parse-options api, which could help prevent mistakes like this in the future. Hence this change. Also update the documentation to better describe that mixing `-m` and `-F` options will correctly compose commit log messages in the order in which the options are given. In the process, mark various strings for translation. Signed-off-by: Brandon Richardson <brandon1024.br@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
8104ec994e
commit
cbdeab98e8
@ -202,6 +202,17 @@ const char *optname(const struct option *opt, int flags);
|
||||
BUG("option callback does not expect an argument"); \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* Similar to the assertions above, but checks that "arg" is always non-NULL.
|
||||
* This assertion also implies BUG_ON_OPT_NEG(), letting you declare both
|
||||
* assertions in a single line.
|
||||
*/
|
||||
#define BUG_ON_OPT_NEG_NOARG(unset, arg) do { \
|
||||
BUG_ON_OPT_NEG(unset); \
|
||||
if(!(arg)) \
|
||||
BUG("option callback expects an argument"); \
|
||||
} while(0)
|
||||
|
||||
/*----- incremental advanced APIs -----*/
|
||||
|
||||
enum {
|
||||
|
Reference in New Issue
Block a user