@Override @Nullable public VcsRevisionNumber parseRevisionNumber(@Nullable String revision, @Nullable FilePath path) throws VcsException { if (revision == null || revision.length() == 0) return null; if (revision.length() > 40) { // date & revision-id encoded string String dateString = revision.substring(0, revision.indexOf("[")); String rev = revision.substring(revision.indexOf("[") + 1, 40); Date d = new Date(Date.parse(dateString)); return new GitRevisionNumber(rev, d); } if (path != null) { try { VirtualFile root = GitUtil.getGitRoot(path); return GitRevisionNumber.resolve(myProject, root, revision); } catch (VcsException e) { log.info("Unexpected problem with resolving the git revision number: ", e); throw e; } } return new GitRevisionNumber(revision); }