Exemplo n.º 1
0
        void Merge(object o)
        {
            try
            {
                var candidates = FilteredChangesets.Where(cs => cs.IsSelected).Select(cs => cs.TfsChangeset);

                if (!candidates.Any())
                {
                    var mbvm = new MessageBoxViewModel("Perform merge", "No changesets are currently selected.", MessageBoxViewModel.MessageBoxButtons.OK);
                    Repository.Instance.ViewManager.ShowModal(mbvm);
                }
                else
                {
                    var mergeViewModel = new PrepareMergeViewModel(TfsItemCache, candidates);
                    var result         = ViewSelectionViewModel.GetMergeSourceTargetBranches();
                    mergeViewModel.MergeSource = result != null ? result.SourceBranch : null;
                    mergeViewModel.MergeTarget = result != null ? result.TargetBranch : null;
                    mergeViewModel.PathFilter  = result != null ? result.PathFilter : null;
                    mergeViewModel.SetDefaults();

                    if (Repository.Instance.Settings.FetchSettings <bool>(Constants.Settings.PerformNonModalMergeKey))
                    {
                        vMergePackage.OpenMergeView(mergeViewModel);
                    }
                    else
                    {
                        Repository.Instance.ViewManager.ShowModal(mergeViewModel, "Modal");
                    }
                }
            }
            catch (Exception ex)
            {
                SimpleLogger.Log(ex, true);
            }
        }
Exemplo n.º 2
0
        void PerformApplyFilter()
        {
            SimpleLogger.Log(SimpleLogLevel.Info, "Start perform apply changeset filters");
            _applyFilterTimer.Stop();
            _applyFilterTimer.IsEnabled = false;
            var defaultProfile = Repository.Instance.ProfileProvider.GetDefaultProfile();

            if (defaultProfile == null)
            {
                return;
            }

            try
            {
                DetachFromProfileProvider();
                defaultProfile.ChangesetIncludeCommentFilter = IncludeCommentFilterActive ? IncludeCommentFilter : null;
                defaultProfile.ChangesetExcludeCommentFilter = ExcludeCommentFilterActive ? ExcludeCommentFilter : null;
                defaultProfile.DateFromFilter = DateFromFilterActive ? DateFromFilter : null;
                defaultProfile.DateToFilter   = DateToFilterActive ? DateToFilter : null;
            }
            finally
            {
                AttachToProfileProvider();
            }

            Regex reInc = null, reExc = null;

            if (IncludeCommentFilterActive)
            {
                try
                {
                    reInc = new Regex(IncludeCommentFilter);
                }
                catch (Exception)
                {
                    reInc = null;
                }
            }
            if (ExcludeCommentFilterActive)
            {
                try
                {
                    reExc = new Regex(ExcludeCommentFilter);
                }
                catch (Exception)
                {
                    reExc = null;
                }
            }
            var newFilteredChangesets = new ObservableCollection <TfsChangesetWrapper>();

            foreach (var cs in Changesets)
            {
                if (reInc != null)
                {
                    if (!reInc.IsMatch(cs.TfsChangeset.Description))
                    {
                        continue;
                    }
                }
                if (reExc != null)
                {
                    if (reExc.IsMatch(cs.TfsChangeset.Description))
                    {
                        continue;
                    }
                }
                if (DateFromFilterActive)
                {
                    if (cs.TfsChangeset.Changeset.CreationDate < DateFromFilter)
                    {
                        continue;
                    }
                }
                if (DateToFilterActive)
                {
                    if (cs.TfsChangeset.Changeset.CreationDate > DateToFilter)
                    {
                        continue;
                    }
                }
                newFilteredChangesets.Add(cs);
            }

            FilteredChangesets = newFilteredChangesets;
            ChangesetList.SetContent(FilteredChangesets);
            foreach (var item in TfsItemCache.ChangesetCache)
            {
                item.IsVisible = FilteredChangesets.Contains(item);
            }
        }
Exemplo n.º 3
0
 private void ResetChangesets()
 {
     Changesets.Clear();
     FilteredChangesets.Clear();
 }