@Override
    public void onGitRepoPull(final TaskMonitorFactory taskMonitorFactory) {
        if (gitRepoDoc != null) {
            final GitRepoDoc doc = onWrite(gitRepoDoc);
            restFactory
                    .create(GIT_REPO_RESOURCE)
                    .method(res -> res.pullFromGit(doc))
                    .onSuccess(result -> {
                        if (result.isOk()) {
                            AlertEvent.fireInfo(this,
                                    "Pull Success",
                                    result.getMessage(),
                                    () -> RefreshExplorerTreeEvent.fire(GitRepoSettingsPresenter.this));
                        } else {
                            AlertEvent.fireError(
                                    this,
                                    "Pull Failure",
                                    result.getMessage(),
                                    () -> RefreshExplorerTreeEvent.fire(GitRepoSettingsPresenter.this));
                        }
                    })
                    .taskMonitorFactory(taskMonitorFactory)
                    .exec();
        } else {
            AlertEvent.fireWarn(this, "Git repository information not available", "", null);
        }
    }
Called when the Git Pull button is pressed.
@param taskMonitorFactory Where to display the wait icon.
stroom-core-client/src/main/java/stroom/gitrepo/client/presenter/GitRepoSettingsPresenter.java