Mar*_*ler 18
一个新选项是JavaHg,它为您提供了一个高级Java API.所述单元测试得到的它是如何与它编程(如JavaHg 0.1的)一个很好的例子:
public void commitTest() throws IOException {
Repository repo = getTestRepository();
writeFile("x", "abc");
CommitCommand commit = CommitCommand.on(repo);
StatusCommand status = StatusCommand.on(repo);
List<StatusLine> statusLines = status.lines();
Assert.assertEquals(1, statusLines.size());
Assert.assertEquals(StatusLine.Type.UNKNOWN, statusLines.get(0).getType());
AddCommand.on(repo).execute();
statusLines = status.lines();
Assert.assertEquals(1, statusLines.size());
Assert.assertEquals(StatusLine.Type.ADDED, statusLines.get(0).getType());
commit.message("Add a file").user("Martin Geisler");
Changeset cset = commit.execute();
Assert.assertEquals("Martin Geisler", cset.getUser());
statusLines = status.lines();
Assert.assertEquals(0, statusLines.size());
}
Run Code Online (Sandbox Code Playgroud)
它与版本1.9及更高版本中的Mercurial命令服务器进行交互.这意味着将会有一个持久的Mercurial进程接受多个命令,因此您可以避免通常与启动Mercurial相关的启动开销.我们希望它将在即将到来的MercurialEclipse版本中使用.(我是JavaHg的作者之一.)
归档时间: |
|
查看次数: |
11501 次 |
最近记录: |