package ilarkesto.scm.svn;
import ilarkesto.base.Proc;
import ilarkesto.base.Str;
import ilarkesto.scm.AScmTool;
import java.io.File;
public class Svn extends AScmTool {
public static final Svn THIS = new Svn();
private String executable = "svn";
String exec(File workDir, String... parameters) {
Proc proc = new Proc(executable);
proc.addParameters(parameters);
proc.setWorkingDir(workDir);
proc.addEnvironmentParameter("LANG", "en_US.UTF-8");
return proc.execute();
}
@Override
public String getVersion() {
String output = exec(null, "--version");
output = Str.getFirstLine(output);
output = output.substring(13, output.lastIndexOf(' '));
return output;
}
@Override
protected SvnProject createProject(File dir) {
return new SvnProject(this, dir);
}
@Override
public String getName() {
return "svn";
}
@Override
public boolean isProjectDir(File dir) {
File svnDir = new File(dir.getPath() + "/.svn");
return svnDir.exists() && svnDir.isDirectory();
}
public void setExecutable(String executable) {
this.executable = executable;
}
}