VcsRevisionNumber (@NotNull GitRepository repository) { // we force update the GitRepository, because update is asynchronous, and thus the GitChangeProvider may be asked for changes // before the GitRepositoryUpdater has captures the current revision change and has updated the GitRepository. repository.update(); final String rev = repository.getCurrentRevision(); return rev != null ? new GitRevisionNumber(rev) : VcsRevisionNumber.NULL; }