List of usage examples for org.apache.commons.jrcs.rcs Archive getRevision
public Object[] getRevision(Version vernum, boolean annotate) throws InvalidFileFormatException, PatchFailedException, NodeNotFoundException
From source file:org.opensolaris.opengrok.history.RCSRepository.java
static Annotation annotate(File file, String revision, File rcsFile) throws IOException { try {/*from ww w. ja v a 2s .c o m*/ Archive archive = new Archive(rcsFile.getPath()); // If revision is null, use current revision Version version = revision == null ? archive.getRevisionVersion() : archive.getRevisionVersion(revision); // Get the revision with annotation archive.getRevision(version, true); Annotation a = new Annotation(file.getName()); // A comment in Archive.getRevisionNodes() says that it is not // considered public API anymore, but it works. for (Node n : archive.getRevisionNodes()) { String rev = n.getVersion().toString(); String author = n.getAuthor(); a.addLine(rev, author, true); } return a; } catch (ParseException pe) { throw wrapInIOException("Parse exception annotating RCS repository", pe); } catch (InvalidFileFormatException iffe) { throw wrapInIOException("File format exception annotating RCS repository", iffe); } catch (PatchFailedException pfe) { throw wrapInIOException("Patch failed exception annotating RCS repository", pfe); } }