示例#1
0
        private string GetCommentForMerge(MergeModel mergeModel, IEnumerable <int> workItemIds)
        {
            var checkInCommentChoice = _configManager.GetValue <CheckInComment>(ConfigKeys.CHECK_IN_COMMENT_OPTION);
            var commentFormat        = _configManager.GetValue <string>(ConfigKeys.COMMENT_FORMAT);
            var commentLineFormat    = _configManager.GetValue <string>(ConfigKeys.COMMENT_LINE_FORMAT);

            return(CommentOutputHelper.GetCheckInComment(checkInCommentChoice, commentFormat, commentLineFormat, mergeModel.SourceBranch, mergeModel.TargetBranch, workItemIds, mergeModel.OrderedChangesets, ShouldShowLatestVersionComment(mergeModel.IsLatestVersion)));
        }
示例#2
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);
        }