class UIGit extends VCS implements IVCS {

  @Override
  public List<ObjectRevision> getRevisions() {
    List<ObjectRevision> revisions = new ArrayList<>();
    try {
      if ( !isClean() || git.getRepository().getRepositoryState() == RepositoryState.MERGING_RESOLVED ) {
        GitObjectRevision rev = new GitObjectRevision(
            WORKINGTREE,
            "*",
            new Date(),
            " // " + IVCS.WORKINGTREE );
        revisions.add( rev );
      }
      Iterable<RevCommit> iterable = git.log().call();
      for ( RevCommit commit : iterable ) {
        GitObjectRevision rev = new GitObjectRevision(
          commit.getName(),
          commit.getAuthorIdent().getName(),
          commit.getAuthorIdent().getWhen(),
          commit.getShortMessage() );
        revisions.add( rev );
      }
    } catch ( Exception e ) {
      // Do nothing
    }
    return revisions;
  }

}