private void PopulateFromDefaults() { _systemDefaultSourceBranch = Environment.GetEnvironmentVariable("DefaultSourceBranch", EnvironmentVariableTarget.User); _systemDefaultTargetBranch = Environment.GetEnvironmentVariable("DefaultTargetBranch", EnvironmentVariableTarget.User); if (_systemDefaultSourceBranch == null || _systemDefaultTargetBranch == null || SourceBranches == null || TargetBranches == null) { return; } var sb = SourceBranches.FirstOrDefault(s => s.Properties.RootItem.Item.Equals(_systemDefaultSourceBranch)); SetSourceBranch(sb); var tb = TargetBranches.FirstOrDefault(t => t.Properties.RootItem.Item.Equals(_systemDefaultTargetBranch)); SetTargetBranch(tb); _branchesAreDirty = sb == null || tb == null; }
private void SetTargetBranchProperties(BranchObject source) { var changesetProvider = new MyChangesetChangesetProvider(ServiceProvider, Settings.Instance.ChangesetCount); List <BranchObject> possibleTargetBranches = new List <BranchObject>(); possibleTargetBranches.AddRange(changesetProvider.GetAllBranches(source, false, RecursionType.OneLevel)); //add parent as target in addition to any child branches if (source.Properties.ParentBranch != null) { possibleTargetBranches.Add(SourceBranches.Single(sb => sb.Properties.RootItem.Equals(source.Properties.ParentBranch))); //can assume using the source list as merging is happen } if (!possibleTargetBranches.Any()) { TargetBranches = null; TargetBranch = null; return; } TargetBranches = possibleTargetBranches; TargetBranch = possibleTargetBranches.First().Properties.RootItem.Item; }