internal async Task OpenTracker()
{
Debug.WriteLine("==== Open Tracker");
RepositoryManager.Instance.Clear();
_fileCache = new SccProviderSolutionCache(_sccProvider);
_fileChangesetManager = new ConcurrentDictionary<GitRepository, GitChangesetManager>();
var solutionFileName = await GetSolutionFileName();
await RepositoryManager.Instance.SetSolutionTracker(solutionFileName);
await _statusBarManager.SetActiveRepository(RepositoryManager.Instance.SolutionTracker);
await SetSolutionExplorerTitle();
RepositoryName = RepositoryManager.Instance?.SolutionTracker?.Name;
if (!string.IsNullOrEmpty(solutionFileName))
{
await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();
var projects = await SolutionExtensions.GetLoadedControllableProjects();
foreach (var vsSccProject2 in projects)
{
await AddProject(vsSccProject2 as IVsHierarchy);
}
}
}