@Argument(index = 1, required = false, metaVar = "metaVar_file")
private String file;
- private ObjectReader reader;
-
private final Map<RevCommit, String> abbreviatedCommits = new HashMap<>();
private SimpleDateFormat dateFmt;
else
dateFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ZZZZ"); //$NON-NLS-1$
- reader = db.newObjectReader();
- try (BlameGenerator generator = new BlameGenerator(db, file)) {
+ try (ObjectReader reader = db.newObjectReader();
+ BlameGenerator generator = new BlameGenerator(db, file)) {
RevFlag scanned = generator.newFlag("SCANNED"); //$NON-NLS-1$
generator.setTextComparator(comparator);
if (c != null && !c.has(scanned)) {
c.add(scanned);
if (autoAbbrev)
- abbrev = Math.max(abbrev, uniqueAbbrevLen(c));
+ abbrev = Math.max(abbrev, uniqueAbbrevLen(reader, c));
authorWidth = Math.max(authorWidth, author(line).length());
dateWidth = Math.max(dateWidth, date(line).length());
pathWidth = Math.max(pathWidth, path(line).length());
for (int line = begin; line < end;) {
RevCommit c = blame.getSourceCommit(line);
- String commit = abbreviate(c);
+ String commit = abbreviate(reader, c);
String author = null;
String date = null;
if (!noAuthor) {
outw.print('\n');
} while (++line < end && blame.getSourceCommit(line) == c);
}
- } finally {
- reader.close();
}
}
- private int uniqueAbbrevLen(RevCommit commit) throws IOException {
+ private int uniqueAbbrevLen(ObjectReader reader, RevCommit commit)
+ throws IOException {
return reader.abbreviate(commit, abbrev).length();
}
dateFmt.format(author.getWhen()));
}
- private String abbreviate(RevCommit commit) throws IOException {
+ private String abbreviate(ObjectReader reader, RevCommit commit)
+ throws IOException {
String r = abbreviatedCommits.get(commit);
if (r != null)
return r;