Exemplo n.º 1
0
        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);
        }