private string FromOriginalToTarget(TrackMergeInfo trackMergeInfo, string targetBranch) { var mergePath = trackMergeInfo.FromOriginalToSourceBranches.Concat(new[] { trackMergeInfo.SourceBranch, targetBranch }) .Select(fullBranchName => BranchHelper.GetShortBranchName(fullBranchName, _aliases)); var mergePathString = string.Join(_format.BranchDelimiter, mergePath); return mergePathString; }
private string FromOriginalToTargetFull(TrackMergeInfo trackMergeInfo, string targetBranch) { var mergePath = trackMergeInfo.FromOriginalToSourceBranches.Concat(new[] { trackMergeInfo.SourceBranch, targetBranch }); var mergePathString = string.Join(_format.BranchDelimiter, mergePath); return(mergePathString); }
private string FromOriginalToTarget(TrackMergeInfo trackMergeInfo, string targetBranch) { var mergePath = trackMergeInfo.FromOriginalToSourceBranches.Concat(new[] { trackMergeInfo.SourceBranch, targetBranch }) .Select(fullBranchName => BranchHelper.GetShortBranchName(fullBranchName)); var mergePathString = string.Join(_format.BranchDelimiter, mergePath); return(mergePathString); }
public string Format(TrackMergeInfo trackMergeInfo, string targetBranch, MergeOption mergeOption) { var comment = mergeOption == MergeOption.KeepTarget ? _format.DiscardFormat : _format.Format; comment = comment .Replace("{OriginalBranch}", BranchHelper.GetShortBranchName(trackMergeInfo.OriginaBranch, _aliases)) .Replace("{OriginalBranchFull}", trackMergeInfo.OriginaBranch) .Replace("{SourceBranch}", BranchHelper.GetShortBranchName(trackMergeInfo.SourceBranch, _aliases)) .Replace("{SourceBranchFull}", trackMergeInfo.SourceBranch) .Replace("{TargetBranch}", BranchHelper.GetShortBranchName(targetBranch, _aliases)) .Replace("{TargetBranchFull}", targetBranch) .Replace("{FromOriginalToTarget}", FromOriginalToTarget(trackMergeInfo, targetBranch)) .Replace("{FromOriginalToTargetFull}", FromOriginalToTargetFull(trackMergeInfo, targetBranch)) .Replace("{OriginalComment}", trackMergeInfo.OriginalComment) .Replace("{SourceComment}", trackMergeInfo.SourceComment) .Replace("{SourceChangesetId}", trackMergeInfo.SourceChangesetId.ToString(CultureInfo.InvariantCulture)) .Replace("{SourceWorkItemIds}", GetWorkItemIds(trackMergeInfo.SourceWorkItemIds)); return comment; }
public string Format(TrackMergeInfo trackMergeInfo, string targetBranch, MergeOption mergeOption) { var comment = mergeOption == MergeOption.KeepTarget ? _format.DiscardFormat : _format.Format; comment = comment .Replace("{OriginalBranch}", BranchHelper.GetShortBranchName(trackMergeInfo.OriginaBranch)) .Replace("{OriginalBranchFull}", trackMergeInfo.OriginaBranch) .Replace("{SourceBranch}", BranchHelper.GetShortBranchName(trackMergeInfo.SourceBranch)) .Replace("{SourceBranchFull}", trackMergeInfo.SourceBranch) .Replace("{TargetBranch}", BranchHelper.GetShortBranchName(targetBranch)) .Replace("{TargetBranchFull}", targetBranch) .Replace("{FromOriginalToTarget}", FromOriginalToTarget(trackMergeInfo, targetBranch)) .Replace("{FromOriginalToTargetFull}", FromOriginalToTargetFull(trackMergeInfo, targetBranch)) .Replace("{OriginalComment}", trackMergeInfo.OriginalComment) .Replace("{SourceComment}", trackMergeInfo.SourceComment) .Replace("{SourceChangesetId}", trackMergeInfo.SourceChangesetId.ToString(CultureInfo.InvariantCulture)) .Replace("{SourceWorkItemIds}", GetWorkItemIds(trackMergeInfo.SourceWorkItemIds)) .Replace("{SourceWorkItemTitles}", GetWorkItemTitles(trackMergeInfo.SourceWorkItemTitles)); return(comment); }
private string FromOriginalToTargetFull(TrackMergeInfo trackMergeInfo, string targetBranch) { var mergePath = trackMergeInfo.FromOriginalToSourceBranches.Concat(new[] { trackMergeInfo.SourceBranch, targetBranch }); var mergePathString = string.Join(_format.BranchDelimiter, mergePath); return mergePathString; }
private TrackMergeInfo GetTrackMergeInfo(VersionControlServer versionControl, IEnumerable<ExtendedMerge> allTrackMerges, string sourcePath) { var result = new TrackMergeInfo { FromOriginalToSourceBranches = new List<string>(), }; var trackMerges = allTrackMerges.Where(m => m.TargetItem.Item == sourcePath).ToArray(); if (!trackMerges.IsNullOrEmpty()) { var changesetIds = trackMerges.Select(t => t.SourceChangeset.ChangesetId).ToArray(); var mergeSourceBranches = _changesetService.GetAssociatedBranches(changesetIds) .Select(b => b.Item) .Distinct() .ToArray(); if (mergeSourceBranches.Length == 1) { result.FromOriginalToSourceBranches.Add(mergeSourceBranches[0]); var sourceFolder = trackMerges.First().SourceItem.Item.ServerItem; var comment = trackMerges.First().SourceChangeset.Comment; if (trackMerges.Length > 1) { foreach (var merge in trackMerges.Skip(1)) sourceFolder = FindShareFolder(sourceFolder, merge.SourceItem.Item.ServerItem); comment = "source changeset has several comments"; } var sourceMergesRelationships = versionControl.QueryMergeRelationships(sourceFolder) .Where(r => !r.IsDeleted) .ToArray(); var sourceTrackMerges = versionControl.TrackMerges(changesetIds, new ItemIdentifier(sourceFolder), sourceMergesRelationships, null); var sourceTrackMergeInfo = GetTrackMergeInfo(versionControl, sourceTrackMerges, sourceFolder); if (!sourceTrackMergeInfo.FromOriginalToSourceBranches.IsNullOrEmpty()) { result.FromOriginalToSourceBranches.AddRange(sourceTrackMergeInfo.FromOriginalToSourceBranches); result.OriginalComment = sourceTrackMergeInfo.OriginalComment; result.OriginaBranch = sourceTrackMergeInfo.OriginaBranch; } else { result.OriginalComment = comment; result.OriginaBranch = mergeSourceBranches[0]; } } else { result.FromOriginalToSourceBranches.Add("multi"); result.OriginaBranch = "multi"; result.OriginalComment = "source changeset has several comments"; } } return result; }