* @return list of annotated lines.
* @throws IOException
*/
public List<AnnotateLine> execute(String file) throws IOException {
Repository repo = getRepository();
HgInputStream stream = launchStream(file);
LogCommand logCmd = LogCommand.on(repo);
Map<Integer, String> dataMap = Maps.newHashMap();
List<AnnotateLine> result = Lists.newArrayList();
while (stream.peek() != -1) {
Integer rev = stream.decimalIntUpTo(':');
logCmd.rev(rev.toString());
stream.skip(1);
String data = stream.textUpTo('\n');
dataMap.put(rev, data);
}
List<Changeset> changesets = logCmd.execute();
for (Changeset changeset : changesets) {
String data = dataMap.get(changeset.getRevision());