Exemplo n.º 1
0
        public static bool Show(VersionControlItemList items, bool test)
        {
            if (test)
            {
                return(items.All(CanShow));
            }

            foreach (var item in items)
            {
                Document document = null;
                if (!item.IsDirectory)
                {
                    document = IdeApp.Workbench.OpenDocument(item.Path, OpenDocumentOptions.Default | OpenDocumentOptions.OnlyInternalViewer);
                }

                if (document != null)
                {
                    document.Window.SwitchView(document.Window.FindView <ILogView> ());
                }
                else
                {
                    VersionControlDocumentInfo info = new VersionControlDocumentInfo(null, item, item.Repository);
                    LogView logView = new LogView(info);
                    info.Document = IdeApp.Workbench.OpenDocument(logView, true).PrimaryView;
                    logView.Selected();
                }
            }

            return(true);
        }
Exemplo n.º 2
0
        static bool UnignoreInternal(VersionControlItemList items, bool test)
        {
            try {
                // NGit doesn't return a version info for ignored files.
                if (test)
                {
                    return(items.All(x => (x.VersionInfo.Status & (VersionStatus.ScheduledIgnore | VersionStatus.Ignored)) != VersionStatus.Unversioned));
                }

                if (MessageService.AskQuestion(GettextCatalog.GetString("Are you sure you want to unignore the selected files?"),
                                               AlertButton.No, AlertButton.Yes) != AlertButton.Yes)
                {
                    return(false);
                }

                new UnignoreWorker(items).Start();
                return(true);
            }
            catch (Exception ex) {
                if (test)
                {
                    LoggingService.LogError(ex.ToString());
                }
                else
                {
                    MessageService.ShowException(ex, GettextCatalog.GetString("Version control command failed."));
                }
                return(false);
            }
        }
Exemplo n.º 3
0
        static bool IgnoreInternal(VersionControlItemList items, bool test)
        {
            try {
                if (test)
                {
                    return(items.All(x => x.VersionInfo.Status == VersionStatus.Unversioned));
                }

                if (MessageService.AskQuestion(GettextCatalog.GetString("Are you sure you want to ignore the selected files?"),
                                               AlertButton.No, AlertButton.Yes) != AlertButton.Yes)
                {
                    return(false);
                }

                new IgnoreWorker(items).Start();
                return(true);
            }
            catch (Exception ex) {
                if (test)
                {
                    LoggingService.LogError(ex.ToString());
                }
                else
                {
                    MessageService.ShowError(GettextCatalog.GetString("Version control command failed."), ex);
                }
                return(false);
            }
        }
Exemplo n.º 4
0
        private static bool RevertInternal(VersionControlItemList items, bool test)
        {
            try {
                if (test)
                {
                    return(items.All(i => i.VersionInfo.CanRevert));
                }

                if (MessageService.AskQuestion(GettextCatalog.GetString("Are you sure you want to revert the changes done in the selected files?"),
                                               GettextCatalog.GetString("All changes made to the selected files will be permanently lost."),
                                               AlertButton.Cancel, AlertButton.Revert) != AlertButton.Revert)
                {
                    return(false);
                }

                new RevertWorker(items).Start();
                return(true);
            }
            catch (Exception ex) {
                if (test)
                {
                    LoggingService.LogError(ex.ToString());
                }
                else
                {
                    MessageService.ShowError(GettextCatalog.GetString("Version control command failed."), ex);
                }
                return(false);
            }
        }
Exemplo n.º 5
0
        public static async Task <bool> Show(VersionControlItemList items, bool test)
        {
            if (test)
            {
                return(items.All(CanShow));
            }

            foreach (var item in items)
            {
                if (!item.IsDirectory)
                {
                    Document document = await IdeApp.Workbench.OpenDocument(item.Path, item.ContainerProject, OpenDocumentOptions.Default | OpenDocumentOptions.OnlyInternalViewer);

                    document.Window.SwitchView(document.Window.FindView <ILogView> ());
                    continue;
                }

                var info    = new VersionControlDocumentInfo(null, item, item.Repository);
                var logView = new LogView(info);
                info.Document = IdeApp.Workbench.OpenDocument(logView, true).PrimaryView;
                logView.Init();
            }

            return(true);
        }
 /// <summary>
 /// Determines whether a patch can be created
 /// from a VersionControlItemList.
 /// </summary>
 public static bool CanCreatePatch(VersionControlItemList items)
 {
     if (null == items || 0 == items.Count)
     {
         return(false);
     }
     return(items.All(i => i.VersionInfo.CanRevert));
 }
Exemplo n.º 7
0
        public static bool Update(VersionControlItemList items, bool test)
        {
            if (!items.All(i => i.VersionInfo.CanUpdate))
            {
                return(false);
            }
            if (test)
            {
                return(true);
            }

            new UpdateWorker(items).Start();
            return(true);
        }
Exemplo n.º 8
0
        public static async Task <bool> ResolveConflicts(VersionControlItemList list, bool test)
        {
            if (test)
            {
                return(list.All(s => (s.VersionInfo.Status & VersionStatus.Conflicted) == VersionStatus.Conflicted));
            }

            foreach (var item in list.Where(s => (s.VersionInfo.Status & VersionStatus.Conflicted) == VersionStatus.Conflicted))
            {
                var doc = await IdeApp.Workbench.OpenDocument(item.Path, item.ContainerProject, true);

                doc?.GetContent <VersionControlDocumentController> ()?.ShowMergeView();
            }
            return(true);
        }
Exemplo n.º 9
0
        public static async Task <bool> Show(VersionControlItemList items, bool test)
        {
            if (test)
            {
                return(items.All(CanShow));
            }

            foreach (var item in items)
            {
                var document = await IdeApp.Workbench.OpenDocument(item.Path, item.ContainerProject, OpenDocumentOptions.Default | OpenDocumentOptions.OnlyInternalViewer);

                document?.GetContent <VersionControlDocumentController> ()?.ShowBlameView();
            }

            return(true);
        }
Exemplo n.º 10
0
        public static bool Show(VersionControlItemList items, bool test)
        {
            if (test)
            {
                return(items.All(CanShow));
            }

            foreach (var item in items)
            {
                var document = IdeApp.Workbench.OpenDocument(item.Path, OpenDocumentOptions.Default | OpenDocumentOptions.OnlyInternalViewer);
                if (document != null)
                {
                    document.Window.SwitchView(document.Window.FindView <IBlameView> ());
                }
            }

            return(true);
        }
Exemplo n.º 11
0
        public static async Task <bool> Show(VersionControlItemList items, bool test)
        {
            if (test)
            {
                return(items.All(CanShow));
            }

            foreach (var item in items)
            {
                var document = await IdeApp.Workbench.OpenDocument(item.Path, item.ContainerProject, OpenDocumentOptions.Default | OpenDocumentOptions.OnlyInternalViewer);

                if (document != null)
                {
                    document.Window.SwitchView(document.Window.FindView <IDiffView> ());
                }
            }

            return(true);
        }
Exemplo n.º 12
0
        public static bool Remove(VersionControlItemList items, bool test)
        {
            if (!items.All(i => i.VersionInfo.CanRemove))
            {
                return(false);
            }
            if (test)
            {
                return(true);
            }

            string msg  = GettextCatalog.GetString("Are you sure you want to remove the selected items from the version control system?");
            string msg2 = GettextCatalog.GetString("The files will be removed from disk");

            if (MessageService.Confirm(msg, msg2, AlertButton.Delete))
            {
                new RemoveWorker(items).Start();
            }
            return(true);
        }
        public static bool ResolveConflicts(VersionControlItemList list, bool test)
        {
            if (test)
            {
                return(list.All(s => (s.VersionInfo.Status & VersionStatus.Conflicted) == VersionStatus.Conflicted));
            }

            foreach (var item in list.Where(s => (s.VersionInfo.Status & VersionStatus.Conflicted) == VersionStatus.Conflicted))
            {
                Document doc = IdeApp.Workbench.OpenDocument(item.Path, item.ContainerProject, true);
                foreach (var view in doc.Views)
                {
                    if (view.GetContent <MergeView> () != null)
                    {
                        view.Select();
                    }
                }
            }
            return(true);
        }
Exemplo n.º 14
0
        public static async Task <bool> Show(VersionControlItemList items, bool test)
        {
            if (test)
            {
                return(items.All(CanShow));
            }

            foreach (var item in items)
            {
                var document = await IdeApp.Workbench.OpenDocument(item.Path, item.ContainerProject, OpenDocumentOptions.Default | OpenDocumentOptions.OnlyInternalViewer);

                if (document == null)
                {
                    continue;
                }
                document.RunWhenContentAdded <ITextView> (tv => {
                    document.GetContent <VersionControlDocumentController> ()?.ShowDiffView();
                });
            }

            return(true);
        }