我正在使用SCM Manager进行HG版本控制。我正在尝试使用maven-scm-provider-hg依赖项提供的Java API将现有的sc.txt文件添加到HG repo。
将文件添加到HG仓库的方法:
public void add(ScmRepository scmRepository, ScmFileSet fileSet, String message,
boolean binary) {
try {
AddScmResult rs = scmManager.add(scmRepository, fileSet, message);
System.out.println("Result : " + rs.getAddedFiles());
} catch (Exception e) {
System.out.println("Execption occured while adding new file " + e);
}
}
获取ScmRepository的方法:
public ScmRepository getScmRepository(String scmUrl) throws Exception {
ScmRepository repository;
try {
repository = getScmManager().makeScmRepository(scmUrl);
System.out.println("Repo " + repository.getProviderRepository().getUser() + " Path : "
+ repository.getProvider());
return repository;
} catch (NoSuchScmProviderException ex) {
throw new Exception("Could not find a provider.", ex);
} catch (ScmRepositoryException ex) {
throw new Exception("Error while connecting to the repository", ex);
}
}
MainApp.java
ScmRepository repo = scmClient.getScmRepository("scm:hg:/Users/john/work/hgtest/v1");
ScmFileSet fileSet = new ScmFileSet(new File("/Users/john/work/hgtest/v1"),
new File("sc.txt"));
scmClient.add(repo, fileSet, "This is first file checking", false);
这是我执行代码时遇到的错误:
将新文件添加到hg ..... EXECUTING:/ bin / sh -c cd / Users / diwakar / work / hgtest / v2&& hg add --verbose sc.txt [错误] 执行失败 使用退出代码执行cmd:add失败:127。 工作目录是: /用户/迪瓦卡尔/工作/ hgtest / V2 您的Hg安装似乎是有效且完整的。 Hg版本:NA(OK)
结果:[] 完成.....
的pom.xml:
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-hg</artifactId>
<version>1.8</version>
</dependency>