imap-send: use parse options API to determine verbosity
The -v/-q options were sort-of supported but without using the parse-options API, and were not documented. Signed-off-by: Bernhard Reiter <ockham@raz.or.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
f745acb028
commit
f1a35295c2
|
|
@ -9,7 +9,7 @@ git-imap-send - Send a collection of patches from stdin to an IMAP folder
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git imap-send'
|
'git imap-send' [-v] [-q]
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
|
|
@ -26,6 +26,18 @@ Typical usage is something like:
|
||||||
git format-patch --signoff --stdout --attach origin | git imap-send
|
git format-patch --signoff --stdout --attach origin | git imap-send
|
||||||
|
|
||||||
|
|
||||||
|
OPTIONS
|
||||||
|
-------
|
||||||
|
|
||||||
|
-v::
|
||||||
|
--verbose::
|
||||||
|
Be verbose.
|
||||||
|
|
||||||
|
-q::
|
||||||
|
--quiet::
|
||||||
|
Be quiet.
|
||||||
|
|
||||||
|
|
||||||
CONFIGURATION
|
CONFIGURATION
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
|
|
||||||
28
imap-send.c
28
imap-send.c
|
|
@ -26,11 +26,19 @@
|
||||||
#include "credential.h"
|
#include "credential.h"
|
||||||
#include "exec_cmd.h"
|
#include "exec_cmd.h"
|
||||||
#include "run-command.h"
|
#include "run-command.h"
|
||||||
|
#include "parse-options.h"
|
||||||
#ifdef NO_OPENSSL
|
#ifdef NO_OPENSSL
|
||||||
typedef void *SSL;
|
typedef void *SSL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const char imap_send_usage[] = "git imap-send < <mbox>";
|
static int verbosity;
|
||||||
|
|
||||||
|
static const char * const imap_send_usage[] = { "git imap-send [-v] [-q] < <mbox>", NULL };
|
||||||
|
|
||||||
|
static struct option imap_send_options[] = {
|
||||||
|
OPT__VERBOSITY(&verbosity),
|
||||||
|
OPT_END()
|
||||||
|
};
|
||||||
|
|
||||||
#undef DRV_OK
|
#undef DRV_OK
|
||||||
#define DRV_OK 0
|
#define DRV_OK 0
|
||||||
|
|
@ -38,8 +46,6 @@ static const char imap_send_usage[] = "git imap-send < <mbox>";
|
||||||
#define DRV_BOX_BAD -2
|
#define DRV_BOX_BAD -2
|
||||||
#define DRV_STORE_BAD -3
|
#define DRV_STORE_BAD -3
|
||||||
|
|
||||||
static int Verbose, Quiet;
|
|
||||||
|
|
||||||
__attribute__((format (printf, 1, 2)))
|
__attribute__((format (printf, 1, 2)))
|
||||||
static void imap_info(const char *, ...);
|
static void imap_info(const char *, ...);
|
||||||
__attribute__((format (printf, 1, 2)))
|
__attribute__((format (printf, 1, 2)))
|
||||||
|
|
@ -418,7 +424,7 @@ static int buffer_gets(struct imap_buffer *b, char **s)
|
||||||
if (b->buf[b->offset + 1] == '\n') {
|
if (b->buf[b->offset + 1] == '\n') {
|
||||||
b->buf[b->offset] = 0; /* terminate the string */
|
b->buf[b->offset] = 0; /* terminate the string */
|
||||||
b->offset += 2; /* next line */
|
b->offset += 2; /* next line */
|
||||||
if (Verbose)
|
if (0 < verbosity)
|
||||||
puts(*s);
|
puts(*s);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
@ -433,7 +439,7 @@ static void imap_info(const char *msg, ...)
|
||||||
{
|
{
|
||||||
va_list va;
|
va_list va;
|
||||||
|
|
||||||
if (!Quiet) {
|
if (0 <= verbosity) {
|
||||||
va_start(va, msg);
|
va_start(va, msg);
|
||||||
vprintf(msg, va);
|
vprintf(msg, va);
|
||||||
va_end(va);
|
va_end(va);
|
||||||
|
|
@ -445,7 +451,7 @@ static void imap_warn(const char *msg, ...)
|
||||||
{
|
{
|
||||||
va_list va;
|
va_list va;
|
||||||
|
|
||||||
if (Quiet < 2) {
|
if (-2 < verbosity) {
|
||||||
va_start(va, msg);
|
va_start(va, msg);
|
||||||
vfprintf(stderr, msg, va);
|
vfprintf(stderr, msg, va);
|
||||||
va_end(va);
|
va_end(va);
|
||||||
|
|
@ -522,7 +528,7 @@ static struct imap_cmd *issue_imap_cmd(struct imap_store *ctx,
|
||||||
cmd->tag, cmd->cmd, cmd->cb.dlen,
|
cmd->tag, cmd->cmd, cmd->cb.dlen,
|
||||||
CAP(LITERALPLUS) ? "+" : "");
|
CAP(LITERALPLUS) ? "+" : "");
|
||||||
|
|
||||||
if (Verbose) {
|
if (0 < verbosity) {
|
||||||
if (imap->num_in_progress)
|
if (imap->num_in_progress)
|
||||||
printf("(%d in progress) ", imap->num_in_progress);
|
printf("(%d in progress) ", imap->num_in_progress);
|
||||||
if (!starts_with(cmd->cmd, "LOGIN"))
|
if (!starts_with(cmd->cmd, "LOGIN"))
|
||||||
|
|
@ -1352,12 +1358,14 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
git_setup_gettext();
|
git_setup_gettext();
|
||||||
|
|
||||||
if (argc != 1)
|
|
||||||
usage(imap_send_usage);
|
|
||||||
|
|
||||||
setup_git_directory_gently(&nongit_ok);
|
setup_git_directory_gently(&nongit_ok);
|
||||||
git_imap_config();
|
git_imap_config();
|
||||||
|
|
||||||
|
argc = parse_options(argc, (const char **)argv, "", imap_send_options, imap_send_usage, 0);
|
||||||
|
|
||||||
|
if (argc)
|
||||||
|
usage_with_options(imap_send_usage, imap_send_options);
|
||||||
|
|
||||||
if (!server.port)
|
if (!server.port)
|
||||||
server.port = server.use_ssl ? 993 : 143;
|
server.port = server.use_ssl ? 993 : 143;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue