public String getCommand()

in src/main/java/com/googlesource/gerrit/plugins/download/command/CloneWithCommitMsgHook.java [47:111]


  public String getCommand(DownloadScheme scheme, String project) {
    Optional<String> username = userProvider.get().getUserName();
    if (!username.isPresent()) {
      return null;
    }
    String projectName = getBaseName(project);

    if (configCommand != null) {
      return new StringBuilder()
          .append(super.getCommand(scheme, project))
          .append(" && (cd ")
          .append(QuoteUtil.quote(projectName))
          .append(" && ")
          .append(configCommand)
          .append(")")
          .toString();
    }

    if (scheme instanceof SshScheme) {
      StringBuilder b =
          new StringBuilder().append(super.getCommand(scheme, project)).append(" && scp -p");

      if (sshScheme.getSshdPort() != 22) {
        b.append(" -P ").append(sshScheme.getSshdPort());
      }

      b.append(" ")
          .append(username.get())
          .append("@")
          .append(sshScheme.getSshdHost())
          .append(":")
          .append(HOOK)
          .append(" ")
          .append(QuoteUtil.quote(projectName + "/.git/hooks/"));
      if (extraCommand != null) {
        b.append(" && (cd ")
            .append(QuoteUtil.quote(projectName))
            .append(" && ")
            .append(extraCommand)
            .append(")");
      }
      return b.toString();
    }

    if (scheme instanceof HttpScheme || scheme instanceof AnonymousHttpScheme) {
      return new StringBuilder()
          .append(super.getCommand(scheme, project))
          .append(" && (cd ")
          .append(QuoteUtil.quote(projectName))
          .append(" && mkdir -p .git/hooks")
          .append(" && curl -Lo")
          .append(TARGET)
          .append(HOOK)
          .append(" ")
          .append(getHttpHost(scheme, project))
          .append("tools/")
          .append(HOOK)
          .append("; chmod +x")
          .append(TARGET)
          .append(HOOK)
          .append(")")
          .toString();
    }
    return null;
  }