Пример #1
0
 public static HgFlowStream? GetPrimaryMergeStream(HgFlowStream stream)
 {
     var mergeStreams = GetMergeStreams(stream);
     return mergeStreams.Length == 0 ? 
         (HgFlowStream?)null : 
         mergeStreams[0];
 }
Пример #2
0
 public static HgFlowStream[] GetMergeStreams(HgFlowStream stream)
 {
     var hgFlowStreamAttribute = GetFlowStreamAttribute(stream);
     return hgFlowStreamAttribute == null ?
         new HgFlowStream[] { } :
         hgFlowStreamAttribute.MergeStreams;
 }
Пример #3
0
        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;
        }
Пример #4
0
        private static HgFlowStreamAttribute GetFlowStreamAttribute(HgFlowStream stream)
        {
            var hgFlowStreamAttribute =
                typeof(HgFlowStream).
                    GetField(stream.ToString()).
                        GetCustomAttributes(typeof(HgFlowStreamAttribute), false).
                        OfType<HgFlowStreamAttribute>().
                        SingleOrDefault();


            return hgFlowStreamAttribute;
        }
Пример #5
0
 public static HgFlowStream? GetTrunkStream(HgFlowStream stream)
 {
     var hgFlowStreamAttribute = GetFlowStreamAttribute(stream);
     return hgFlowStreamAttribute == null ? 
         (HgFlowStream?)null : 
         hgFlowStreamAttribute.TrunkStream;
 }