boolean () { LOG.info("Trying fast-forward merge for " + myRoot); GitRepository repository = GitUtil.getRepositoryManager(myProject).getRepositoryForRoot(myRoot); if (repository == null) { LOG.error("Repository is null for " + myRoot); return false; } try { markStart(repository); } catch (VcsException e) { LOG.info("Couldn't mark start for repository " + repository, e); return false; } GitCommandResult result = myGit.merge(repository, getRemoteBranchToMerge(), Collections.singletonList("--ff-only")); try { markEnd(repository); } catch (VcsException e) { // this is not critical, and update has already happened, // so we just notify the user about problems with collecting the updated changes. LOG.info("Couldn't mark end for repository " + repository, e); VcsNotifier.getInstance(myProject). notifyMinorWarning(GitNotificationIdsHolder.COLLECT_UPDATED_CHANGES_ERROR, GitBundle.message("notification.title.couldnt.collect.updated.files.info"), GitBundle.message("notification.content.couldnt.collect.updated.files.info", repository)); } return result.success(); }