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;
}