1289177Speter/* 2289177Speter * help-cmd.c -- Provide help 3289177Speter * 4289177Speter * ==================================================================== 5289177Speter * Licensed to the Apache Software Foundation (ASF) under one 6289177Speter * or more contributor license agreements. See the NOTICE file 7289177Speter * distributed with this work for additional information 8289177Speter * regarding copyright ownership. The ASF licenses this file 9289177Speter * to you under the Apache License, Version 2.0 (the 10289177Speter * "License"); you may not use this file except in compliance 11289177Speter * with the License. You may obtain a copy of the License at 12289177Speter * 13289177Speter * http://www.apache.org/licenses/LICENSE-2.0 14289177Speter * 15289177Speter * Unless required by applicable law or agreed to in writing, 16289177Speter * software distributed under the License is distributed on an 17289177Speter * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 18289177Speter * KIND, either express or implied. See the License for the 19289177Speter * specific language governing permissions and limitations 20289177Speter * under the License. 21289177Speter * ==================================================================== 22289177Speter */ 23289177Speter 24289177Speter/* ==================================================================== */ 25289177Speter 26289177Speter 27289177Speter 28289177Speter/*** Includes. ***/ 29289177Speter 30289177Speter#include "svn_string.h" 31289177Speter#include "svn_error.h" 32289177Speter#include "svn_version.h" 33289177Speter#include "cl.h" 34289177Speter 35289177Speter#include "svn_private_config.h" 36289177Speter 37289177Speter 38289177Speter/*** Code. ***/ 39289177Speter 40289177Speter/* This implements the `svn_opt_subcommand_t' interface. */ 41289177Spetersvn_error_t * 42289177Spetersvn_cl__help(apr_getopt_t *os, 43289177Speter void *baton, 44289177Speter apr_pool_t *pool) 45289177Speter{ 46289177Speter svn_cl__opt_state_t *opt_state; 47289177Speter 48289177Speter char help_header[] = 49289177Speter N_("usage: svnbench <subcommand> [options] [args]\n" 50289177Speter "Subversion benchmarking tool.\n" 51289177Speter "Type 'svnbench help <subcommand>' for help on a specific subcommand.\n" 52289177Speter "Type 'svnbench --version' to see the program version and RA modules\n" 53289177Speter " or 'svnbench --version --quiet' to see just the version number.\n" 54289177Speter "\n" 55289177Speter "Most subcommands take file and/or directory arguments, recursing\n" 56289177Speter "on the directories. If no arguments are supplied to such a\n" 57289177Speter "command, it recurses on the current directory (inclusive) by default.\n" 58289177Speter "\n" 59289177Speter "Available subcommands:\n"); 60289177Speter 61289177Speter char help_footer[] = 62289177Speter N_("Subversion is a tool for version control.\n" 63289177Speter "For additional information, see http://subversion.apache.org/\n"); 64289177Speter 65289177Speter const char *ra_desc_start 66289177Speter = _("The following repository access (RA) modules are available:\n\n"); 67289177Speter 68289177Speter svn_stringbuf_t *version_footer; 69289177Speter 70289177Speter if (baton) 71289177Speter opt_state = ((svn_cl__cmd_baton_t *) baton)->opt_state; 72289177Speter else 73289177Speter opt_state = NULL; 74289177Speter 75289177Speter version_footer = svn_stringbuf_create(ra_desc_start, pool); 76289177Speter SVN_ERR(svn_ra_print_modules(version_footer, pool)); 77289177Speter 78362181Sdim return svn_opt_print_help5(os, 79289177Speter "svnbench", /* ### erm, derive somehow? */ 80289177Speter opt_state ? opt_state->version : FALSE, 81289177Speter opt_state ? opt_state->quiet : FALSE, 82289177Speter opt_state ? opt_state->verbose : FALSE, 83289177Speter version_footer->data, 84289177Speter help_header, /* already gettext()'d */ 85289177Speter svn_cl__cmd_table, 86289177Speter svn_cl__options, 87289177Speter svn_cl__global_options, 88289177Speter _(help_footer), 89289177Speter pool); 90289177Speter} 91