List<HgFileRevision> (@NotNull FilePath originalHgFilePath, @NotNull VirtualFile vcsRoot, @NotNull Project project, int limit) { HgFile originalHgFile = new HgFile(vcsRoot, originalHgFilePath); final HgLogCommand logCommand = new HgLogCommand(project); logCommand.setIncludeRemoved(true); final HgVersion version = logCommand.getVersion(); String[] templates = HgBaseLogParser.constructFullTemplateArgument(false, version); String template = HgChangesetUtil.makeTemplate(templates); List<String> argsForCmd = new ArrayList<>(); String relativePath = originalHgFile.getRelativePath(); argsForCmd.add("--rev"); argsForCmd .add(String.format("reverse(follow(%s))", relativePath != null ? "'" + FileUtil.toSystemIndependentName(relativePath) + "'" : "")); HgCommandResult result = logCommand.execute(vcsRoot, template, limit, relativePath != null ? null : originalHgFile, argsForCmd); return HgHistoryUtil.getCommitRecords(project, result, new HgFileRevisionLogParser(project, originalHgFile, version)); }