/// <summary> /// Gets promoted label list for given branch. /// </summary> /// <param name="BranchPath">A branch path.</param> /// <param name="GameName">The game name for which provide the label. If null or empty then provides shared-promotable label.</param> /// <returns>List of promoted labels for given branch path.</returns> public static P4Label[] GetPromotableLabels(string BranchPath, string GameName) { var Combined = P4.GetLabels(BranchPath + "/Promot*" + (GameName != null ? ("-" + GameName) : "") + "-CL-*"); IEnumerable <P4Label> CombinedOrdered = Combined.OrderByDescending((Label) => Label.Date); var Output = new List <P4Label>(); foreach (var PossiblePromotable in CombinedOrdered) { if (PossiblePromotable.Name.StartsWith(BranchPath + "/Promoted")) { break; } if (PossiblePromotable.Name.StartsWith(BranchPath + "/Promotable")) { Output.Add(PossiblePromotable); } // else skip } return(Output.ToArray()); }
/// <summary> /// Gets promoted label list for given branch. /// </summary> /// <param name="BranchPath">A branch path.</param> /// <param name="GameName">The game name for which provide the label. If null or empty then provides shared-promotable label.</param> /// <returns>List of promoted labels for given branch path.</returns> public static P4Label[] GetPromotedLabels(string BranchPath, string GameName) { return(P4.GetLabels(BranchPath + "/Promoted" + (GameName != null ? ("-" + GameName) : "") + "-CL-*")); }
/// <summary> /// Gets labels list for given branch. /// </summary> /// <param name="BranchPath">A branch path.</param> /// <returns>List of labels for given branch path.</returns> public P4Label[] GetBranchLabels(string BranchPath) { return(P4.GetLabels(BranchPath + "/*")); }