public async Task ExecuteAsync(MergeModel mergeModel) { await CheckIfWorkspaceHasIncludedPendingChangesAsync(mergeModel.WorkspaceModel); await DoGetLatestOnBranchAsync(mergeModel.WorkspaceModel, mergeModel.SourceBranch, mergeModel.TargetBranch); SetCurrentAction(Resources.MergingBranches); await _mergeService.MergeBranchesAsync(mergeModel.WorkspaceModel, mergeModel.SourceBranch, mergeModel.TargetBranch, mergeModel.OrderedChangesets.First().ChangesetId, mergeModel.OrderedChangesets.Last().ChangesetId); var workItemIds = await GetWorkItemIdsAsync(mergeModel.OrderedChangesets.Select(x => x.ChangesetId)); var comment = GetCommentForMerge(mergeModel, workItemIds); _teamExplorerService.AddWorkItemsAndCommentThenNavigate(mergeModel.WorkspaceModel, comment, workItemIds); }