Ejemplo n.º 1
0
        public void SetLastWorkItem(ITeamExplorer teamExplorer, ITeamFoundationContext context)
        {
            var lastChangeset = GetLastUserChangeSet(context.TeamProjectCollection, context.TeamProjectName);
            if (lastChangeset == null)
                return;

            SetLastWorkItem(teamExplorer, lastChangeset);
        }
 public TFSBuildService(ITFSConnection _tfsConnection, IServiceProvider serviceProvider, ILogger _logger)
 {
     tfsConnection = _tfsConnection;
     tfsConnection.ConnectionChanged += ResetConnection;
     logger = _logger;
     teamExplorer = serviceProvider.GetService(typeof(ITeamExplorer)) as ITeamExplorer;
     vsTfsBuild = serviceProvider.GetService(typeof(IVsTeamFoundationBuild)) as IVsTeamFoundationBuild;
 }
        public TeamExplorerController([Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider)
        {
            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            this.teamExplorer = serviceProvider.GetService<ITeamExplorer>();
            if (this.TeamExplorer == null)
            {
                throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Strings.MissingService, nameof(ITeamExplorer)), nameof(serviceProvider));
            }
        }
        public GitSubmodulesPage([Import(typeof (SVsServiceProvider))] IServiceProvider serviceProvider)
        {
            Title = "Git Submodules";
            gitService = (IGitExt) serviceProvider.GetService(typeof (IGitExt));
            teamExplorer = (ITeamExplorer) serviceProvider.GetService(typeof (ITeamExplorer));
            gitService.PropertyChanged += OnGitServicePropertyChanged;

            var outWindow = Package.GetGlobalService(typeof (SVsOutputWindow)) as IVsOutputWindow;
            var customGuid = new Guid("08A48010-2A4A-4DB1-AA58-36674F667904");
            outWindow.CreatePane(ref customGuid, "Git Submodules", 1, 1);
            outWindow.GetPane(ref customGuid, out outputWindow);

            ui = new GitSubmodulePageUI();
            PageContent = ui;
        }
        public GitOperationsPage([Import(typeof (SVsServiceProvider))] IServiceProvider serviceProvider)
        {
            Title = "Git Operations";
            gitService = (IGitExt) serviceProvider.GetService(typeof (IGitExt));
            teamExplorer = (ITeamExplorer) serviceProvider.GetService(typeof (ITeamExplorer));
            gitService.PropertyChanged += OnGitServicePropertyChanged;

            var outWindow = Package.GetGlobalService(typeof (SVsOutputWindow)) as IVsOutputWindow;
            var customGuid = new Guid("A7C0163F-82E8-4D95-97C8-C62743D15DC3");
            outWindow.CreatePane(ref customGuid, "Git Operations", 1, 1);
            outWindow.GetPane(ref customGuid, out outputWindow);

            ui = new GitOperationsPageUI();
            PageContent = ui;
        }
Ejemplo n.º 6
0
        public GitFlowPage([Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider)
        {
            Title = "GitFlow";
            gitService = (IGitExt)serviceProvider.GetService(typeof(IGitExt));
            teamExplorer = (ITeamExplorer) serviceProvider.GetService(typeof (ITeamExplorer));
            gitService.PropertyChanged += OnGitServicePropertyChanged;
            
            var outWindow = Package.GetGlobalService(typeof(SVsOutputWindow)) as IVsOutputWindow;
            var customGuid = new Guid("B85225F6-B15E-4A8A-AF6E-2BE96A4FE672");
            outWindow.CreatePane(ref customGuid, "GitFlow.VS", 1, 1);
            outWindow.GetPane(ref customGuid, out outputWindow);


            ui = new GitFlowPageUI();
            PageContent = ui;

        }
Ejemplo n.º 7
0
        private static void SetLastWorkItem(ITeamExplorer teamExplorer, Changeset changeset)
        {
            var workItemId = GetAssociatedWorkItemId(changeset);

            if (workItemId == 0)
                return;

            var pendingChangesPage = (TeamExplorerPageBase)teamExplorer.NavigateToPage(new Guid(TeamExplorerPageIds.PendingChanges), null);
            var model = (IPendingCheckin)pendingChangesPage.Model;

            var modelType = model.GetType();
            var method = modelType.GetMethod("AddWorkItemsByIdAsync",
                BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.FlattenHierarchy);
            var workItemsIdsArray = new[] { workItemId };
            method.Invoke(model, new object[] { workItemsIdsArray, 1 /* Add */ });

        }
 public GitSubmodulesNavigationItem([Import(typeof (SVsServiceProvider))] IServiceProvider serviceProvider)
     : base(serviceProvider)
 {
     try
     {
         UpdateVisible();
         Text = "Git Submodules";
         Image = Resources.LinkIcon;
         IsVisible = true;
         teamExplorer = GetService<ITeamExplorer>();
         gitService = (IGitExt) serviceProvider.GetService(typeof (IGitExt));
         teamExplorer.PropertyChanged += TeamExplorerOnPropertyChanged;
     }
     catch (Exception ex)
     {
         HandleException(ex);
     }
 }
		public PendingChangesInclusion(ITeamExplorer teamExplorer)
		{
			var pendingChangesPage = (TeamExplorerPageBase)teamExplorer.NavigateToPage(new Guid(TeamExplorerPageIds.PendingChanges), null);

			var model = pendingChangesPage.Model;
			var p = model.GetType().GetProperty("DataProvider", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.FlattenHierarchy);

			var dataProvider = p.GetValue(model); // IPendingChangesDataProvider is internal;
			var dataProviderType = dataProvider.GetType();

			p = dataProviderType.GetProperty("IncludedChanges", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.FlattenHierarchy);
			var m = p.GetMethod;
			this.getIncludedChanges = (Func<IList<PendingChange>>)m.CreateDelegate(typeof(Func<IList<PendingChange>>), dataProvider);

			p = dataProviderType.GetProperty("ExcludedChanges", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.FlattenHierarchy);
			m = p.GetMethod;
			this.getExcludedChanges = (Func<IList<PendingChange>>)m.CreateDelegate(typeof(Func<IList<PendingChange>>), dataProvider);

			m = dataProviderType.GetMethod("IncludeChanges", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.FlattenHierarchy);
			this.includeChanges = (Action<IList<PendingChange>>)m.CreateDelegate(typeof(Action<IList<PendingChange>>), dataProvider);

			m = dataProviderType.GetMethod("ExcludeChanges", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.FlattenHierarchy);
			this.excludeChanges = (Action<IList<PendingChange>>)m.CreateDelegate(typeof(Action<IList<PendingChange>>), dataProvider);
		}
 public TeamExplorerProvider([Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider)
 {
     this.teamExplorer = serviceProvider.GetService <ITeamExplorer>();
 }
Ejemplo n.º 11
0
 static void NavigateToHomePage(ITeamExplorer teamExplorer)
 {
     teamExplorer.NavigateToPage(new Guid(TeamExplorerPageIds.Home), null);
 }
Ejemplo n.º 12
0
 public TeamExplorerServiceVS2019(IServiceProvider serviceProvider, ITFVCService tfvcService)
 {
     _teamExplorer = (ITeamExplorer)serviceProvider.GetService(typeof(ITeamExplorer));
     _tfvcService  = tfvcService;
 }
 public CreateStashSetionViewModel(IServiceProvider serviceProvider)
 {
     _serviceProvider    = serviceProvider;
     _teamExplorer       = _serviceProvider.GetService(typeof(ITeamExplorer)) as ITeamExplorer;
     _gitCommandExecuter = new GitCommandExecuter(serviceProvider);
 }
Ejemplo n.º 14
0
        public void SetWorkItemsWithStateInProgress(ITeamExplorer teamExplorer, ITeamFoundationContext context)
        {
            var workItemWithStateInProgress = GetWorkItemWithStateInProgress(context.TeamProjectCollection, context.TeamProjectName);

            SetWorkItems(teamExplorer, workItemWithStateInProgress);
        }
Ejemplo n.º 15
0
        private BranchInfo[] GetBranches(ITeamExplorer teamExplorer, ITeamFoundationContext context)
        {
            var versionControlServer = context.TeamProjectCollection.GetService <VersionControlServer>();

            BranchInfo[] branchInfos = versionControlServer.QueryRootBranchObjects(RecursionType.Full)
                                       .Where(b => !b.Properties.RootItem.IsDeleted)
                                       .Select(s => new
            {
                Project = s.Properties.RootItem.Item
                          .Substring(0, s.Properties.RootItem.Item.IndexOf('/', 2)),
                s.Properties,
                s.DateCreated,
                s.ChildBranches
            })
                                       .Select(s => new
            {
                s.Project,
                Branch = s.Properties.RootItem.Item.Replace(s.Project, ""),
                Parent = s.Properties.ParentBranch != null
                        ? s.Properties.ParentBranch.Item.Replace(s.Project, "")
                        : "",
                Version = (s.Properties.RootItem.Version as ChangesetVersionSpec)
                          .ChangesetId,
                s.DateCreated,
                s.Properties.Owner,
                ChildBranches = s.ChildBranches
                                .Where(cb => !cb.IsDeleted)
                                .Select(cb => new
                {
                    Branch  = cb.Item.Replace(s.Project, ""),
                    Version = (cb.Version as ChangesetVersionSpec).ChangesetId
                })
            })
                                       .Where(s => s.Project.Equals("$/" + context.TeamProjectName))
                                       .OrderBy(s => s.Project).ThenByDescending(s => s.Version).Select(x => new BranchInfo
            {
                BranchServerPath         = string.Concat(x.Project, x.Branch),
                OriginalParentServerPath = string.IsNullOrEmpty(x.Parent)? string.Empty: string.Concat(x.Project, x.Parent)
            }).ToArray();

            foreach (var branchInfo in branchInfos)
            {
                branchInfo.ParentServerPath = branchInfo.OriginalParentServerPath;
                // Мёржить можно только в родителя.
                //if (branchInfo.BranchName.EndsWith("Stable"))
                //{
                //    var version = branchInfo.BranchName.Split('.').First();
                //    var parentBranch = branchInfos.Where(x => x.BranchName.EndsWith("Servicing"))
                //        .SingleOrDefault(x => x.BranchName.StartsWith(version));
                //    branchInfo.ParentServerPath = parentBranch.BranchServerPath;
                //}
                //else if (branchInfo.BranchName.EndsWith("Servicing"))
                //{
                //    branchInfo.ParentServerPath = branchInfo.OriginalParentServerPath;
                //}
                //else
                //{
                //    branchInfo.ParentServerPath = branchInfo.OriginalParentServerPath;
                //}
            }
            return(branchInfos);
        }
 public VsGitSourceControlService(ITeamExplorer teamExplorer)
 {
     _teamExplorer = teamExplorer;
 }
Ejemplo n.º 17
0
        /// <summary>
        ///     Opens up the shelveset details page for the given shelveset
        /// </summary>
        /// <param name="shelveset">The shelveset to be displayed.</param>
        public void ViewShelvesetDetails(Shelveset shelveset)
        {
            ITeamExplorer teamExplorer = this.GetService <ITeamExplorer>();

            teamExplorer?.NavigateToPage(new Guid(TeamExplorerPageIds.ShelvesetDetails), shelveset);
        }
Ejemplo n.º 18
0
 public MergeService(IServiceProvider serviceProvider, ITFVCService tFVCService)
 {
     _serviceProvider = serviceProvider;
     _tfvcService     = tFVCService;
     _teamExplorer    = (ITeamExplorer)_serviceProvider.GetService(typeof(ITeamExplorer));
 }
 public StashListTeamExplorerNavigationItem([Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider)
 {
     _serviceProvider = serviceProvider;
     _teamExplorer    = _serviceProvider.GetService(typeof(ITeamExplorer)) as ITeamExplorer;
     _image           = Resources.TeamExplorerIcon;
 }
        public StashInfoChangesSectionViewModel(Stash stash, FileIconsService fileIconsService, GitCommandExecuter gitCommandExecuter, ITeamExplorer teamExplorer, IVsDifferenceService vsDiffService)
        {
            _fileIconsService   = fileIconsService;
            _gitCommandExecuter = gitCommandExecuter;
            _teamExplorer       = teamExplorer;
            _vsDiffService      = vsDiffService;
            _stash = stash;

            if (stash == null)
            {
                return;
            }

            var separator = '/';
            var rootNode  = new TreeNode();
            var paths     = stash.ChangedFiles
                            .Select(f => f.Path)
                            .Where(x => !string.IsNullOrEmpty(x.Trim()))
                            .ToList();

            foreach (var path in paths)
            {
                var currentNode = rootNode;
                var pathNodes   = path.Split(separator);
                foreach (var item in pathNodes)
                {
                    var foundedNode = currentNode.Nodes.Cast <TreeNode>().FirstOrDefault(x => x.Text == item);
                    currentNode = foundedNode ?? currentNode.Nodes.Add(item);
                }
            }

            var rootTreeViewItem = ToTreeViewItem(rootNode, false);

            ChangeItems = new ObservableCollection <TreeViewItemWithIcon>(rootTreeViewItem.Items.ToList());
        }
 public ToggleStashStagedSectionVisibilityCommand(ITeamExplorer teamExplorer)
 {
     _teamExplorer = teamExplorer;
 }
Ejemplo n.º 22
0
 public SonarLinkConnectionSection([Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider, IClientManager clientManager)
 {
     _teamExplorer  = serviceProvider.GetService(typeof(ITeamExplorer)) as ITeamExplorer;
     _clientManager = clientManager;
 }