Eine neue Option ist JavaHg , die Ihnen eine Java-API auf hohem Niveau bietet. Die Einheitstests geben ein gutes Beispiel dafür, wie man damit programmiert (ab 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());
}
Es interagiert mit dem Mercurial-Befehlsserver in der Version 1.9 und höher vorhanden. Das bedeutet, dass es einen dauerhaften Mercurial-Prozess geben wird, der mehrere Befehle akzeptiert, so dass Sie den Aufwand für die Inbetriebnahme zu vermeiden die normalerweise mit dem Start von Mercurial verbunden sind. Wir erwarten, dass es in einer kommenden Version von MercurialEclipse verwendet wird. (Ich bin einer der Autoren von JavaHg.)