VcsBase::Command *SubversionClient::createCommitCmd(const QString &repositoryRoot,
                                                    const QStringList &files,
                                                    const QString &commitMessageFile,
                                                    const QStringList &extraOptions) const
{
    const QStringList svnExtraOptions =
            QStringList(extraOptions)
            << authenticationOptions(SubversionClient::CommitCommand)
            << QLatin1String(Constants::NON_INTERACTIVE_OPTION)
            << QLatin1String("--file") << commitMessageFile;

    VcsBase::Command *cmd = createCommand(repositoryRoot);
    QStringList args(vcsCommandString(CommitCommand));
    cmd->addJob(args << svnExtraOptions << files);
    return cmd;
}
示例#2
0
    Status addMongoShellOptions(moe::OptionSection* options) {

        options->addOptionChaining("shell", "shell", moe::Switch,
                "run the shell after executing files");

        options->addOptionChaining("nodb", "nodb", moe::Switch,
                "don't connect to mongod on startup - no 'db address' arg expected");

        options->addOptionChaining("norc", "norc", moe::Switch,
                "will not run the \".mongorc.js\" file on start up");

        options->addOptionChaining("quiet", "quiet", moe::Switch, "be less chatty");

        options->addOptionChaining("port", "port", moe::String, "port to connect to");

        options->addOptionChaining("host", "host", moe::String, "server to connect to");

        options->addOptionChaining("eval", "eval", moe::String, "evaluate javascript");

        moe::OptionSection authenticationOptions("Authentication Options");

        authenticationOptions.addOptionChaining("username", "username,u", moe::String,
                "username for authentication");

        authenticationOptions.addOptionChaining("password", "password,p", moe::String,
                "password for authentication")
                                  .setImplicit(moe::Value(std::string("")));

        authenticationOptions.addOptionChaining("authenticationDatabase", "authenticationDatabase",
                moe::String, "user source (defaults to dbname)")
                                  .setDefault(moe::Value(std::string("")));

        authenticationOptions.addOptionChaining("authenticationMechanism",
                "authenticationMechanism", moe::String, "authentication mechanism")
                                  .setDefault(moe::Value(std::string("SCRAM-SHA-1")));

        authenticationOptions.addOptionChaining("gssapiServiceName", "gssapiServiceName",
                 moe::String,
                 "Service name to use when authenticating using GSSAPI/Kerberos")
            .setDefault(moe::Value(std::string(saslDefaultServiceName)));

        authenticationOptions.addOptionChaining("gssapiHostName", "gssapiHostName", moe::String,
                "Remote host name to use for purpose of GSSAPI/Kerberos authentication");

        options->addSection(authenticationOptions);

        options->addOptionChaining("help", "help,h", moe::Switch, "show this usage information");

        options->addOptionChaining("version", "version", moe::Switch, "show version information");

        options->addOptionChaining("verbose", "verbose", moe::Switch, "increase verbosity");

        options->addOptionChaining("ipv6", "ipv6", moe::Switch,
                "enable IPv6 support (disabled by default)");

        Status ret = Status::OK();
#ifdef MONGO_SSL
        ret = addSSLClientOptions(options);
        if (!ret.isOK()) {
            return ret;
        }
#endif

        options->addOptionChaining("dbaddress", "dbaddress", moe::String, "dbaddress")
                                  .hidden()
                                  .positional(1, 1);

        options->addOptionChaining("files", "files", moe::StringVector, "files")
                                  .hidden()
                                  .positional(2, -1);

        // for testing, kill op will also be disabled automatically if the tests starts a mongo
        // program
        options->addOptionChaining("nokillop", "nokillop", moe::Switch, "nokillop")
                                  .hidden();

        // for testing, will kill op without prompting
        options->addOptionChaining("autokillop", "autokillop", moe::Switch, "autokillop")
                                  .hidden();

        options->addOptionChaining("useLegacyWriteOps",
                                   "useLegacyWriteOps",
                                   moe::Switch,
                                   "use legacy write ops instead of write commands").hidden();

        options->addOptionChaining("writeMode",
                                   "writeMode",
                                   moe::String,
                                   "mode to determine how writes are done:"
                                   " commands, compatibility, legacy").hidden();

        return Status::OK();
    }