public static Commandline getBaseSvnCommandLine()

in maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java [74:124]


    public static Commandline getBaseSvnCommandLine(File workingDirectory, SvnScmProviderRepository repository) {
        Commandline cl = new Commandline();

        cl.setExecutable("svn");
        try {
            cl.addSystemEnvironment();
            cl.addEnvironment("LC_MESSAGES", "C");
        } catch (Exception e) {
            // Do nothing
        }

        if (workingDirectory != null) {
            cl.setWorkingDirectory(workingDirectory.getAbsolutePath());
        }

        if (!StringUtils.isEmpty(System.getProperty("maven.scm.svn.config_directory"))) {
            cl.createArg().setValue("--config-dir");
            cl.createArg().setValue(System.getProperty("maven.scm.svn.config_directory"));
        } else if (!StringUtils.isEmpty(SvnUtil.getSettings().getConfigDirectory())) {
            cl.createArg().setValue("--config-dir");
            cl.createArg().setValue(SvnUtil.getSettings().getConfigDirectory());
        }

        boolean hasAuthInfo = false;
        if (repository != null && !StringUtils.isEmpty(repository.getUser())) {
            hasAuthInfo = true;
            cl.createArg().setValue("--username");
            cl.createArg().setValue(repository.getUser());
        }

        if (repository != null && !StringUtils.isEmpty(repository.getPassword())) {
            hasAuthInfo = true;
            cl.createArg().setValue("--password");
            cl.createArg().setValue(repository.getPassword());
        }

        // [by Lenik] don't overwrite existing auth cache by default.
        if (hasAuthInfo && !SvnUtil.getSettings().isUseAuthCache()) {
            cl.createArg().setValue("--no-auth-cache");
        }

        if (SvnUtil.getSettings().isUseNonInteractive()) {
            cl.createArg().setValue("--non-interactive");
        }

        if (SvnUtil.getSettings().isTrustServerCert()) {
            cl.createArg().setValue("--trust-server-cert");
        }

        return cl;
    }