我正在使用Jgit和Jmeter来克隆多个git存储库。我通过10个线程用户克隆了10个不同的存储库。
以下是我正在使用的代码。
import org.eclipse.jgit.api.Git;
import org.apache.commons.io.FileUtils;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
import org.eclipse.jgit.transport.CredentialsProvider;
def url_var = vars.get("repo_url");
log.info("This is the URL " + url_var)
Git git = Git.cloneRepository().setURI( url_var ).call();
我在运行测试时遇到错误。
o.a.j.p.j.s.JSR223Sampler: Problem in JSR223 script JSR223 Sampler, message: javax.script.ScriptException: javax.script.ScriptException: org.eclipse.jgit.api.errors.JGitInternalException: Destination path ".git" already exists and is not an empty directory
javax.script.ScriptException: javax.script.ScriptException: org.eclipse.jgit.api.errors.JGitInternalException: Destination path ".git" already exists and is not an empty directory
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:158) ~[groovy-all-2.4.10.jar:2.4.10]
at javax.script.AbstractScriptEngine.eval(Unknown Source) ~[?:1.8.0_73]
at org.apache.jmeter.util.JSR223TestElement.processFileOrScript(JSR223TestElement.java:222) ~[ApacheJMeter_core.jar:3.2 r1790748]
at org.apache.jmeter.protocol.java.sampler.JSR223Sampler.sample(JSR223Sampler.java:69) [ApacheJMeter_java.jar:3.2 r1790748]
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:491) [ApacheJMeter_core.jar:3.2 r1790748]
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:425) [ApacheJMeter_core.jar:3.2 r1790748]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:254) [ApacheJMeter_core.jar:3.2 r1790748]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_73]
在10个线程中,8个将通过克隆操作成功,2个因上述错误而失败。我没有指定任何目的地,因此在默认的jmeter bin目录中创建了repo目录。我尝试指定repo dir,但它仍然会失败,已经存在并且不是空目录错误。
答案 0 :(得分:0)
为每个存储库创建一个不同的文件夹,在运行命令之前清除它并运行克隆部分。