//private List<GitFileStatusTracker> trackers; #region SccProvider Service initialization/unitialization public SccProviderService(BasicSccProvider sccProvider) { this._sccProvider = sccProvider; _fileCache = new SccProviderSolutionCache(_sccProvider); _fileChangesetManager = new Dictionary<GitRepository, GitChangesetManager>(); RepositoryManager.Instance.FilesChanged += RepositoryManager_FilesChanged; RepositoryManager.Instance.FileStatusUpdate += RepositoryManager_FileStatusUpdate; RepositoryManager.Instance.SolutionTrackerBranchChanged += RepositoryManager_SolutionTrackerBranchChanged; //this.trackers = trackers; SetupSolutionEvents(); SetupDocumentEvents(); }
//private List<GitFileStatusTracker> trackers; #region SccProvider Service initialization/unitialization public SccProviderService(BasicSccProvider sccProvider) { this._sccProvider = sccProvider; _fileCache = new SccProviderSolutionCache(_sccProvider); _fileChangesetManager = new ConcurrentDictionary<GitRepository, GitChangesetManager>(); RepositoryManager.Instance.FilesChanged += RepositoryManager_FilesChanged; RepositoryManager.Instance.FileStatusUpdate += RepositoryManager_FileStatusUpdate; RepositoryManager.Instance.SolutionTrackerBranchChanged += RepositoryManager_SolutionTrackerBranchChanged; //var mcs = sccProvider.GetService(typeof(IMenuCommandService)) as Microsoft.VisualStudio.Shell.OleMenuCommandService; _statusBarManager = new StandardGitStatusBarManager( GuidList.guidSccProviderCmdSet, PackageIds.cmdidBranchmenuStart, PackageIds.cmdidBranchMenuCommandStart, PackageIds.cmdidRepositorymenuStart, sccProvider, this); //this.trackers = trackers; SetupSolutionEvents(); SetupDocumentEvents(); }
internal async Task OpenTracker() { Debug.WriteLine("==== Open Tracker"); RepositoryManager.Instance.Clear(); _fileCache = new SccProviderSolutionCache(_sccProvider); _fileChangesetManager = new Dictionary<GitRepository, GitChangesetManager>(); var solutionFileName = await GetSolutionFileName(); RepositoryManager.Instance.SetSolutionTracker(solutionFileName); SetSolutionExplorerTitle(); if (!string.IsNullOrEmpty(solutionFileName)) { await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); var projects = await SolutionExtensions.GetLoadedControllableProjects(); foreach (var vsSccProject2 in projects) { await AddProject(vsSccProject2 as IVsHierarchy); } } }
private void DisableSccForSolution() { CloseTracker(); _fileCache = null; _fileChangesetManager = null; }