public static HgFlowStream? GetPrimaryMergeStream(HgFlowStream stream) { var mergeStreams = GetMergeStreams(stream); return mergeStreams.Length == 0 ? (HgFlowStream?)null : mergeStreams[0]; }
public static HgFlowStream[] GetMergeStreams(HgFlowStream stream) { var hgFlowStreamAttribute = GetFlowStreamAttribute(stream); return hgFlowStreamAttribute == null ? new HgFlowStream[] { } : hgFlowStreamAttribute.MergeStreams; }
public static HgRevsetEntry GetPrimaryMergeStreamBranchHead(HgRepository hgRepository, HgFlow hgFlow, HgFlowStream stream) { var primaryMergeStream = GetPrimaryMergeStream(stream); var primaryMergeStreamBranchHead = primaryMergeStream.HasValue ? hgRepository.GetBranchmap(). Where(bm => bm.Branch == hgFlow[primaryMergeStream.Value].TrimEnd('/')). SelectMany(bm => bm.Heads). OrderByDescending(h => h.Revision). FirstOrDefault() : null; return primaryMergeStreamBranchHead; }
private static HgFlowStreamAttribute GetFlowStreamAttribute(HgFlowStream stream) { var hgFlowStreamAttribute = typeof(HgFlowStream). GetField(stream.ToString()). GetCustomAttributes(typeof(HgFlowStreamAttribute), false). OfType<HgFlowStreamAttribute>(). SingleOrDefault(); return hgFlowStreamAttribute; }
public static HgFlowStream? GetTrunkStream(HgFlowStream stream) { var hgFlowStreamAttribute = GetFlowStreamAttribute(stream); return hgFlowStreamAttribute == null ? (HgFlowStream?)null : hgFlowStreamAttribute.TrunkStream; }